Skip to content

List by time

GET
/api/booking/state
curl --request GET \
--url 'https://api.wink.travel/api/booking/state?state=ACTIVE' \
--header 'Authorization: Bearer <token>' \
--header 'Wink-Version: 2.0'

Returns the authenticated user’s bookings filtered by temporal state, such as FUTURE or PAST stays.

state
string
""

Retrieve bookings by state

Example
ACTIVE
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Bookings filtered by temporal state

Media typeapplication/json
Array<object>

Lightweight, read-only projection of a booking, used by cross-domain consumers (channel managers, caldav, reporting, accounting, email templating, analytics) and every booking-web/booking-mcp surface.

object
activities
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
addOns
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
agentPayment
boolean
agentSelfManaged
boolean
ancillaryList
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
attractions
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
booker

The user who made the booking (may be an agent, not the traveler — see getGuestUser()).

object
email
required

Email

string format: email
"" >= 1 characters
firstName
required

First name

string
"" >= 1 characters
fullName

Full name

string
""
lastName
required

Last name

string
"" >= 1 characters
telephone

Telephone

string
"" /^\+?[1-9]\d{1,14}$/
userIdentifier

User identifier

string format: uuid
""
bookingCode

User-friendly booking confirmation code.

string
""
bookingContractIdentifier
string
bookingStatus

Booking lifecycle status.

string
""
Allowed values: INITIALIZED TEST_PAYMENT_SUCCEEDED PAYMENT_SUCCEEDED PAYMENT_FAILED FAILED CANCELLED PARTIALLY_REFUNDED FULLY_REFUNDED
cancelReason
string
cancellable

Whether the booking can still be voluntarily cancelled (no later than the arrival day).

boolean
cancellation

Cancellation details, present only when the booking is cancelled.

object
cancelReason

Human-readable reason for cancellation.

string
""
cancellationType

The cancellation policy type that was applied.

string
""
Allowed values: DUPLICATE CANCELLATION NO_SHOW CC_INVALID CC_INSUFFICIENT DISCRETIONARY
cancelledOn
required

When the booking was cancelled.

string format: date-time
""
cancellerType
required

Who cancelled the booking.

string
""
Allowed values: HOTEL GUEST ADMIN AGENT ACQUIRER SALES_CHANNEL SYSTEM
cancellerUserIdentifier

User identifier of the person who cancelled.

string format: uuid
""
groupRefundNotified

True when the traveler refund for this booking is notified once at the group level (a single aggregated trippay_payment_refund email). The Stripe refund-settlement webhook reads this to suppress the per-booking traveler refund email and avoid duplicates.

boolean
cancellationType

Reason category for a booking cancellation

string
Allowed values: DUPLICATE CANCELLATION NO_SHOW CC_INVALID CC_INSUFFICIENT DISCRETIONARY
cancelled
boolean
cancelledOn
string format: date-time
comment

Free-form comment, used internally and by some channel managers.

string
""
commissionableSourceAmount

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
createdDate

Datetime this record was first created

string | null format: date-time
""
creation

The kind of booking (normal, test, etc.) — used to derive rate source.

string
""
Allowed values: NORMAL TEST FAILED
customization

The customization/branding context this booking was made under.

object
appendToPageTitle

Whether to append text to the existing booking customization page title.

string
""
cardDesign

Choose the card design to use on our web component cards.

string
default: DEFAULT
Allowed values: DEFAULT
cardLayout

Choose how you large you want our web component cards to be.

string
default: VERTICAL
Allowed values: HORIZONTAL VERTICAL
city

GeoNames have been created at https://geonames.org and contain geographical destinations we use as geoname data to associate travel inventory with a location.

object
asciiName

Ascii name of city

string
""
country

Country

object
capital

Country capital

string
""
continent

Continent code

string
""
currencyCode

Currency code

string
"" /^[A-Z]{3}$/
currencyName

Currency name

string
""
geoNameId

Country GeoNames identifier

string
""
iso

ISO code

string
""
name

Country name

string
""
countryCode

ISO 3166-1 alpha-2 country code for the country this location belongs to

string
"" /^[A-Z]{2}$/
featureCode

GeoNames specific feature code identifying the place type (e.g. PPL=populated place, PPLC=national capital, ISL=island)

string
""
geoNameId

GeoName identifier

string
""
location

Coordinate points of the city

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
name

Name of city

string
""
subCountry

Country sub division

object
asciiName

Sub-country ascii name

string
""
geoNameId

Sub-country GeoNames identifier

string
""
name

Sub-country name

string
""
subSubCountry

Country sub sub division

object
asciiName

ASCII-transliterated name of the county or district, safe for URLs and sorting

string
""
geoNameId

GeoNames.org unique identifier for this subdivision

string
""
name

Official name of the county or district in its local script

string
""
timezone

IANA timezone identifier for the location

string
""
type

GeoNameLightweight type

string
""
Allowed values: CITY ISLAND OTHER
urlName

Url name

string
"" /^[a-z0-9][a-z0-9-]*[a-z0-9]$/
createdDate

Datetime this record was first created

string | null format: date-time
""
defaultCurrency

Control which currency your users see prices in initially.

string
default: USD /^[A-Z]{3}$/
defaultLanguage

Control which language your users see text in initially.

string
default: en /^[a-z]{2}(-[A-Z]{2})?$/
defaultLifestyle

Control which lifestyle contextx your users see initially.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
endDate

Set a fixed itinerary end date ONLY populate this field if you want to fix the itinerary date. Also, leave numberOfAdvanceDays and numberOfStayDays empty.

string format: date
""
fontId

Custom font for the booking engine. Null means use the system default.

string
""
Allowed values: UI_SANS_SERIF UI_SERIF PLAYFAIR_DISPLAY LIBRE_BASKERVILLE CORMORANT_GARAMOND JOSEFIN_SANS RALEWAY LORA SPACE_GROTESK DM_SERIF_DISPLAY OUTFIT CRIMSON_PRO CINZEL BODONI_MODA EB_GARAMOND ITALIANA FORUM TENOR_SANS GILDA_DISPLAY MARCELLUS
googleAnalyticsMeasurementId

Your GA4 Measurement ID (G-XXXXXXX). Configured client-side via gtag; the purchase event fires on the thank-you page, not server-side.

string
""
googleMapsAPIKey

If you want your users to see Google Maps in your hosted booking customization, go to Google Maps and create an API key for your site.

string
""
googleTagManagerContainerId

If you want to track analytics and you have a GTM Container ID, enter it here. Treated as a black box and loaded client-side; the container’s own tags decide what fires.

string
""
hostedBookingEngineUrl

If you are self-hosting our booking customization, let us know where it is hosted. Note: This url needs to be secured with SSL.

string format: uri
default: https://book.wink.travel
id
required

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
layout

Choose how you want our web component cards laid out.

string
default: INFORMATIONAL
Allowed values: INFORMATIONAL TRANSACTIONAL
logos

Customize booking confirmation emails by adding a custom logo to your configuration.

Array<object>

Multimedia that contains less information than Multimedia object

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
name
required

Engine configuration name

string
"" >= 1 characters
numberOfAdvanceDays

You can control the initial itinerary date used to retrieve travel inventory prices. You can do it in one of two ways: 1. Dynamically set the date by indicating how long and how many days in advance (this field), of today’s date, you want to display prices for. 2. Set a fixed date to display prices for. Option 1 is the most shared. Option 2 is for when you want to create a new customization and apply it to a specific event that occurs on a specific date. If you don’t use either of these options, the itinerary will default to today’s date with one night stay. ONLY populate this field if you want to control the itinerary date. Also, leave startDate and endDate empty.

integer format: int32
""
numberOfStayDays

You can control the initial itinerary date used to retrieve travel inventory prices. You can do it in one of two ways: 1. Dynamically set the date by indicating how long (this field) and how many days in advance, of today’s date, you want to display prices for. 2. Set a fixed date to display prices for. Option 1 is the most shared. Option 2 is for when you want to create a new customization and apply it to a specific event that occurs on a specific date. If you don’t use either of these options, the itinerary will default to today’s date with one night stay. ONLY populate this field if you want to control the itinerary date. Also, leave startDate and endDate empty.

integer format: int32
""
ownerIdentifier
required

Engine configuration record creator identifier

string format: uuid
""
ownerName
required

Name of company owner.

string
""
primary

Indicates whether this configuration is primary. A primary configuration cannot be removed.

boolean
promotionalCodes

If you’ve received special promotional codes from suppliers to give to your audience, you can choose to bake these code directly into the price by entering them here.

Array<string>
roomConfiguration

Control how many adults / children will be staying and how many of that room to book. Defaults to: One room, two adults.

object
adults
required

Number of adult guests in this room type

integer format: int32
default: 1 >= 1
children

Child guests in this room, with age groups

Array<object>

Child guest with age and quantity in a room configuration

object
age
required

Age of each child in this group (years)

integer format: int32
""
quantity
required

Count of children of this age group in the room

integer format: int32
"" >= 1
quantity

Number of identical rooms with this configuration

integer format: int32
default: 1 >= 1
selfHosted

Flag to indicate you are self-hosting our booking customization and not using our default booking customization url.

boolean
sendBookingNotificationEmailsToBooker

An integrator can choose to disable outgoing emails to users because they want to do that themselves.

boolean
default: true
sendBookingNotificationEmailsToChannelManager

An integrator can choose to disable notifying the property’s channel manager. Note: This should ONLY be done for testing.

boolean
default: true
sendBookingNotificationEmailsToProperty

An integrator can choose to disable outgoing emails to properties because they want to do that themselves.

boolean
default: true
showRankings

Whether to display rankings (lifestyle, eco score and reviews) on hotel landing page.

boolean
showSearch

This feature flag controls whether to let a user move away from the hotel landing page using search.

boolean
showUnavailableCard

Show unavailable inventory card when inventory not currently for sale. Otherwise, it displays a normal card but without the price.

boolean
startDate

Set a fixed itinerary start date. ONLY populate this field if you want to fix the itinerary date. Also, leave numberOfAdvanceDays and numberOfStayDays empty.

string format: date
""
subType
required

Sales channel sub-type.

string
""
Allowed values: TRIP_PAY FACILITATOR DIRECT APPLICATION HOTEL TRAVELIKO CORPORATE TRAVEL_AGENT INFLUENCER BLOGGER DESTINATION CHANNEL_MANAGER PROPERTY_MANAGEMENT_SYSTEM CENTRAL_RESERVATION_SYSTEM GOOGLE_HOTEL_API MANAGEMENT_COMPANY CHAIN BRAND EVENT_ORGANIZER OTHER
themeColors

Choose how you want our web components to look and more closely match with your own site style.

object
body

Body color

string
default: #212529
danger

Danger color

string
default: #dc3545
dark

Dark color

string
default: #343a40
info

Info color

string
default: #17a2b8
light

Light color

string
default: #f8f9fa
muted

Muted color

string
default: #6c757d
primary

Primary color

string
default: #dc3545
secondary

Secondary color

string
default: #6c757d
success

Success color

string
default: #28a745
warning

Warning color

string
default: #ffc107
white

White color

string
default: #ffffff
trackingPixels

Tracking pixels and web beacons for analytics and conversion tracking.

Array<object>

Tracking pixel or web beacon configuration that fires on specified booking events for analytics and conversion tracking

object
accessToken

Optional access token for providers that require authentication

string
""
consentCategory
required

Consent category for GDPR/CCPA compliance

string
""
Allowed values: STRICTLY_NECESSARY FUNCTIONAL ANALYTICS MARKETING
customImageUrl

Custom image URL for IMAGE type pixels. Will be loaded as a 1x1 tracking pixel.

string format: uri
""
customScript

Custom JavaScript code for CUSTOM provider type. Will be injected into the page.

string
""
enabled

Whether this tracking pixel is currently active

boolean
default: true
identifier
required

Unique identifier for this tracking pixel

string format: uuid
"" >= 1 characters
name
required

User-friendly name for this tracking pixel

string
"" >= 1 characters
pageTypes

Page types where this pixel should fire. Empty list or containing ALL means fire on all pages.

Array<string>
Allowed values: ALL LANDING_PAGE SEARCH_RESULTS ROOM_SELECTION CHECKOUT CONFIRMATION
pixelId

Provider-specific pixel ID (e.g., Facebook Pixel ID, Google Ads Conversion ID)

string
""
provider
required

Tracking pixel provider

string
""
Allowed values: FACEBOOK GOOGLE_ADS GOOGLE_ANALYTICS TIKTOK LINKEDIN PINTEREST SNAPCHAT TWITTER SOJOURN CUSTOM
triggers

Event triggers that cause this pixel to fire, with optional custom parameters.

Array<object>

Defines a booking funnel event that causes a tracking pixel to fire, together with optional custom key-value parameters sent with the event

object
eventType
required

The event type that triggers this pixel

string
""
Allowed values: PAGE_VIEW SEARCH VIEW_CONTENT ADD_TO_CART INITIATE_CHECKOUT ADD_PAYMENT_INFO PURCHASE LEAD SIGN_UP
parameters

Custom key-value parameters to include with the event

Array<object>

Key-value parameter passed with a tracking pixel event; values may be static strings or runtime placeholders such as {booking.total}

object
key
required

Parameter name (e.g., ‘currency’, ‘value’, ‘content_id’)

string
"" >= 1 characters
value
required

Parameter value. Can be a static value or a placeholder like ‘{booking.total}’

string
"" >= 1 characters
type
required

Type of tracking pixel delivery mechanism

string
""
Allowed values: JAVASCRIPT IMAGE
useDays

If true, we use numberOfAdvanceDays / numberOfStayDays properties - false, we use startDate / endDate

boolean
userIdentifier
required

Authenticated user identifier

string format: uuid
""
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
wcBookClickAction

Action to complete once a user clicks on the CTA button on inventory.

string
""
Allowed values: FORWARD_TO_IBE IBE_MODAL
detailedAdditionalChargesSourceTotals

Human-readable summary of additional charges, pre-computed from the raw entity’s derived getter.

string
""
displayCurrency
string
earlyCheckInCharge

Fixed fee for early check-in, if applicable.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
earlyCheckInChargePercent

Percentage of first night charged for early check-in (alternative to fixed fee).

number format: float
""
emailHeaderLogoUrl

Full URL of the property logo, optimized for emails.

string
""
financialBreakdown

Full financial breakdown (beneficiaries, per-type amounts, currencies).

object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
fundsAddedToLedger

Whether funds have been recorded in the supplier’s ledger.

boolean
fundsAvailableDate

Date the booking’s funds become available to the supplier.

string format: date
""
fundsProcessed

Whether all funds have been processed for this booking.

boolean
grossSourceAmount
number
groupIdentifier

UUID grouping multiple bookings made together in a single multi-room transaction.

string
""
guestUser

Guest user associated with a booking, optionally linked to a Wink platform profile

object
email
required

Email

string format: email
"" >= 1 characters
firstName
required

First name

string
"" >= 1 characters
fullName

Full name

string
""
lastName
required

Last name

string
"" >= 1 characters
profile

Optional profile record

object
createdDate

Datetime this record was first created

string | null format: date-time
""
id

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
personal
required

Detailed customer information for this profile

object
address1

Primary address line

string
""
address2

Secondary address line

string
""
birthDate

Date of birth in ISO 8601 format

string format: date
""
childQuantity

Number of children

integer format: int32
""
citizenship

Country of citizenship

string
""
city

City name

string
""
contactPerson
Array<object>

Array of emergency contact information for the customer

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
country

Country code (ISO 3166-1 alpha-2)

string
"" /^[A-Z]{2}$/
gender

Identifies the gender of the customer.

string
""
Allowed values: MALE FEMALE OTHER
language

Primary language (ISO 639-1 code)

string
"" /^[a-z]{2}(-[A-Z]{2})?$/
maritalStatus

Marital status of the traveler

string
""
Allowed values: ANNULLED COHABITATING DIVORCED ENGAGED MARRIED SEPARATED SINGLE WIDOWED UNKNOWN
petInfo
Array<object>

Array of customer’s pets

object
name
required

Pet name

string
"" >= 1 characters
type
required

Pet type

string
"" >= 1 characters
physChallName
Array<string>
postalCode

Postal code

string
""
preferredCurrency

Preferred currency for monetary values (ISO 4217 code)

string
"" /^[A-Z]{3}$/
state

State or province

string
""
preferences
required

Customer preferences

object
allergies

Known allergies

Array<string>
bedTypePref

Preferred hotel bed type

string
""
beveragePref

Beverage preferences

Array<string>
businessSrvcPref

Preferred business services

Array<string>
cuisinePref

Cuisine preference

string
""
foodPref

Food preferences

Array<string>
foodSrvcPref

Preferred food service facilities

string
""
guestType

Guest type classification

string
""
hotelChainPref

Preferred hotel chain name

string
""
interestPref

Interest preferences

Array<string>
mealPref

Meal preference

string
""
petsPref

Pet-friendly preferences

Array<string>
physChalFeaturePref

Preferred accessibility features

Array<string>
""
propertyAmenityPref

Preferred hotel property amenities

Array<string>
propertyLocationPref

Preferred hotel property locations

string
""
propertyTypePref

Preferred hotel property types

string
""
recreationSrvcPref

Preferred recreation services

Array<string>
roomAmenityPref

Preferred hotel room amenities

Array<string>
roomLocationPref

Preferred hotel room locations

string
""
securityFeaturePref

Preferred security features

Array<string>
smokingAllowed

Preference for smoking allowed rooms

boolean
profileIdentifier
required

Profile identifier

string format: uuid
"" >= 1 characters
share
required

Indicates whether the user wants to share this profile of themselves with hotel(s)

boolean
user
required

User details

object
email

User email address

string format: email
""
firstName

User first name

string
""
fullName

Full name

string
""
lastName

User last name

string
""
phone

User phone number

string
"" /^\+?[1-9]\d{1,14}$/
profilePictureUrl

Profile picture URL

string format: uri
""
userIdentifier
required

User identifier

string format: uuid
"" >= 1 characters
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
telephone

Telephone

string
"" /^\+?[1-9]\d{1,14}$/
userIdentifier

User identifier

string format: uuid
""
hasAdditionalCharges

Whether this booking has rate-plan-level extra charges.

boolean
hasRefunds
boolean
hotel

The property this booking belongs to.

object
activities

Number of activites property has listed on its profile.

integer format: int32
0
addOns

Number of add-ons property has on its profile.

integer format: int32
0
address

Property address.

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
aggregateGreendexRating

Aggregate Green Index score if the property has answered our questionnaire available in the Extranet.

number format: float
default: 0.0
aggregateReviewRating

Aggregate score based on all current user reviews.

number format: float
default: 0.0
architecturalStyle

Supported OTA specification ARC code. See OTA geoname data

string
""
attractions

Number of attractions property has listed on its profile.

integer format: int32
0
available

Whether property is available

boolean
bookings

Number of bookings for this property on the wink.travel platform.

integer format: int64
0
brand

Name of hotel brand

string
""
chain

Name of hotel chain if applicable.

string
""
city

City location

object
asciiName

Ascii name of city

string
""
country

Country

object
capital

Country capital

string
""
continent

Continent code

string
""
currencyCode

Currency code

string
"" /^[A-Z]{3}$/
currencyName

Currency name

string
""
geoNameId

Country GeoNames identifier

string
""
iso

ISO code

string
""
name

Country name

string
""
countryCode

ISO 3166-1 alpha-2 country code for the country this location belongs to

string
"" /^[A-Z]{2}$/
featureCode

GeoNames specific feature code identifying the place type (e.g. PPL=populated place, PPLC=national capital, ISL=island)

string
""
geoNameId

GeoName identifier

string
""
location

Coordinate points of the city

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
name

Name of city

string
""
subCountry

Country sub division

object
asciiName

Sub-country ascii name

string
""
geoNameId

Sub-country GeoNames identifier

string
""
name

Sub-country name

string
""
subSubCountry

Country sub sub division

object
asciiName

ASCII-transliterated name of the county or district, safe for URLs and sorting

string
""
geoNameId

GeoNames.org unique identifier for this subdivision

string
""
name

Official name of the county or district in its local script

string
""
timezone

IANA timezone identifier for the location

string
""
type

GeoNameLightweight type

string
""
Allowed values: CITY ISLAND OTHER
urlName

Url name

string
"" /^[a-z0-9][a-z0-9-]*[a-z0-9]$/
currencyCode

Currency code for property.

string
"" /^[A-Z]{3}$/
descriptions

Short and long welcome text

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
generalManager

General manager of the property.

object
descriptions

Localized welcome message from GM.

Array<object>

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
image

Profile image of the general manager.

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
name
required

Name of GM currently managing the property.

string
""
hotelAmenityCodes

Supported OTA specification HAC code. See OTA geoname data

Array<string>
""
hotelCategory

Supported OTA specification PCT code. See OTA geoname data

string
""
hotelIdentifier

Unique hotel record identifier.

string format: uuid
""
images

Property images.

Array<object>
""

Multimedia that contains less information than Multimedia object

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
lastUpdate

Timestamp of the last update to this property aggregate record.

string format: date-time
""
lifestyleTypes
Array<string>
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
localName

Hotel local name if different from the trade name or if it is the local language.

string
""
location

Geo-location

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
locationCategory

Supported OTA specification LOC code. See OTA geoname data

string
""
meetingRooms

Number of meeting rooms property has on its profile.

integer format: int32
0
name

Hotel trade name

string
""
numberOfRooms

Number of rooms / keys for this property.

integer format: int32
0
places

Number of places property has listed on its profile.

integer format: int32
0
policy

Basic property policy record.

object
checkInTime
required

When the guest can check in.

string
"" >= 1 characters
checkOutTime
required

When the guest has to check out.

string
"" >= 1 characters
childrenAllowed
required

Indicates whether property allows children

boolean
childrenMinimumAge

When a property allows children, it can also indicate what the minimum age is for children to be allowed.

integer format: int32
""
internetAvailability
required

Indicates the availability of internet on the property.

string
""
Allowed values: YES NO YES_PAID
internetConnectionLocation

Indicates where internet is available in and around the property.

string
""
Allowed values: ENTIRE_PROPERTY PUBLIC_AREAS ALL_ROOMS SOME_ROOMS BUSINESS_CENTER
internetConnectionType

Indicates how guests can access the Internet on the property.

string
""
Allowed values: WIFI CABLE
parkingAccess

Indicates what type of parking is available at the property.

string
""
Allowed values: PRIVATE PUBLIC
parkingAvailability
required

Indicates whether parking is available at the property.

string
""
Allowed values: YES NO YES_PAID
petCharge

If pets are allowed, property can tell travelers if there is a charge applicable for the pet.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
petMaxWeightInKilos

If pets are allowed, property can further limit on weight.

integer format: int32
""
petsAllowed
required

Indicates whether pets are allowed on the property. Note: There are thousand different kinds of pets. Just because the property allows small dogs does not mean the guest can bring a python. Always best to check with property.

boolean
propertyAccessibilityCodes

Supported OTA specification PHY code. See OTA geoname data

Array<string>
""
propertySecurityCodes

Supported OTA specification SEC code. See OTA geoname data

Array<string>
""
reservations

Contact details for reservations desk

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
restaurants

Number of restaurants property has on its profile.

integer format: int32
0
score

Demand score (0-100) derived from booking volume and review rating. Recomputed monthly; used to rank properties in search results.

integer format: int32
0
segmentCategory

Supported OTA specification SEG code. See OTA geoname data

string
""
socials

Property’s social network accounts

Array<object>
""

Social network

object
location

URL or social network identifier to social network profile

string
""
type

Type of social network.

string
""
Allowed values: FACEBOOK INSTAGRAM SKYPE TRIP_ADVISOR TWITTER GOOGLE_PLUS WHATSAPP LINE WECHAT VIBER SNAPCHAT WEIBO RENREN WEBSITE QQ TIKTOK
spas

Number of spas property has on its profile.

integer format: int32
0
starRating

Official or self-designated property star rating. Note that in some regions there are 6-star hotels. They are the same as 5-star hotels everywhere else.

integer format: int32
"" <= 6
thirdPartyReviews

Array of awards and third party reviews given to property by certified / non-certified providers.

Array<object>
""

Recognition for the ancillary blocking.

object
category
required

Recognition category.

string
""
Allowed values: THIRD_PARTY_REVIEW PUBLICATION AWARD
date

The date the award was received

string format: date
""
identifier
required

Recognition identifier.

string format: uuid
"" >= 1 characters
maxRating
required

Use this to let hotels indicate what the total score for this award is.

number format: float
""
officialAppointmentInd

When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.

boolean
provider
required

The name of the entity that administers this recognition.

string
"" >= 1 characters
rating
required

The actual award or rating received by the hotel facility.

number format: float
""
ratingSymbol

Provides the symbol used in the rating. Used in conjunction with the Rating.

string
""
type
required

Type of rating system the recognition operated on. This allows us to display the score properly.

string
""
Allowed values: STAR_RATING NUMERIC_RATING PERCENT_RATING
totalReviews

Count of total reviews left by users at this property.

integer format: int32
0
uniqueId
required

Event shorter name

string
"" >= 1 characters
urlName

Unique URL-friendly name slug of hotel

string
"" /^[a-z0-9][a-z0-9-]*[a-z0-9]$/
videos

Property videos.

Array<object>
""

Multimedia that contains less information than Multimedia object

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
whenBuilt

Year the property was constructed.

string
""
hotelImageUrl

Absolute URL of the property’s featured image.

string
""
id

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
lateCheckOutCharge

Fixed fee for late checkout, if applicable.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
lateCheckOutChargePercent

Percentage of first night charged for late checkout (alternative to fixed fee).

number format: float
""
logoIdentifier

Cloudinary identifier for the property logo, for potential reuse.

string
""
meetingRooms
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
netDisplayAmount
number
netSourceAmount

Net amount in source currency from the financial breakdown; null when not resolvable.

number
""
netSourceAmountOrZero
number
netTotalFeesAndCommissionsSourceAmount

Net total of platform/processing fees and commissions in source currency; null when not resolvable.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
netTotalSalesSourceAmount

Net total sales amount in source currency, summed across SALE-type beneficiaries; null when not resolvable.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
netTotalSalesSourceAmountOrZero

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
originalAffiliateAgencyFeesInPercent

Original affiliate agency fee percentage at booking time.

number
""
originalCommissionsInPercent

Original commission percentage at booking time.

number
""
originalFeesInPercent

Original platform fee percentage at booking time.

number
""
originalSupplierAgencyFeesInPercent

Original supplier agency fee percentage at booking time.

number
""
paymentDetails

Payment vendor/transaction metadata (transaction identifier, self-acquiring/self-disbursing flags, vendor-specific data).

object
agentInvoiceIdentifier

The specific invoice this booking was registered on

string
""
agentInvoicedDate

The date/time the invoice was generated

string format: date-time
""
chargeIdentifier

Unique charge id from the vendor.

string
""
customerIdentifier
required

Unique customer id from the vendor.

string
"" >= 1 characters
fees
Array<object>

Fees associated with this booking.

object
description
required

Withdrawal fee description

string
"" >= 1 characters
fee
required

Fee amount

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
identifier
required

Unique system ID.

string
"" >= 1 characters
type
required

Type of fee

string
""
Allowed values: ACQUIRING FX TAX
selfAcquires

Whether the booking’s travel agent acquires (collects) the guest payment themselves, outside Wink/TripPay. Snapshot of the agent’s setting at booking time.

boolean
selfDisburses

Whether the booking’s travel agent disburses funds to the supplier themselves, outside Wink/TripPay. Snapshot of the agent’s setting at booking time. When self-acquires AND self-disburses are both true, the SALE and COMMISSION amounts never touch Wink’s ledger and are not withdrawable.

boolean
sessionIdentifier
required

Unique session id from the vendor.

string
"" >= 1 characters
transactionIdentifier
required

Unique transaction id from the vendor.

string
"" >= 1 characters
vendor
required

Name of acquiring vendor

string
""
Allowed values: STRIPE AGENT REVOLUT TEST
vendorSpecific
required

Vendor specific values that are returned in a successful response

object
key
additional properties
string
paymentTransactionIdentifier
string
paymentType

How this booking was paid for (Stripe, agent, etc.).

string
""
Allowed values: STRIPE AGENT
paymentVendor

Third-party vendor integrated with the Wink platform for payment acquiring or disbursement

string
Allowed values: STRIPE AGENT REVOLUT TEST
paymentVendorSpecific

Vendor-specific payment metadata (payment method type, wallet type, etc.).

object
key
additional properties
string
payoutList
Array<object>

List of payouts disbursed to beneficiaries.

object
accountIdentifier
required

Account identifier of the beneficiary receiving funds.

string format: uuid
"" >= 1 characters
accountName
required

Account name of the beneficiary.

string
"" >= 1 characters
beneficiaryType
required

Beneficiary type (SALE, COMMISSION, TRIP_PAY, etc.).

string
"" >= 1 characters
displayAmount
required

Payout amount in display currency.

number
""
identifier
required

Unique payout identifier.

string format: uuid
"" >= 1 characters
internalAmount
required

Payout amount in internal (USD) currency.

number
""
processedDate

When the payout was processed.

string format: date-time
""
sourceAmount
required

Payout amount in source currency.

number
""
status
required

Payout status (PENDING, COMPLETED, FAILED).

string
"" >= 1 characters
withdrawalId

External withdrawal/transfer ID from payment processor.

string
""
places
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
rateSource
string
refund

Refund details, present only when a refund has been issued.

object
cancelOnRefund

Whether the booking should be cancelled when this refund is approved. Applied at admin-approval time, not at request time.

string
""
Allowed values: NONE CANCEL_ON_SUCCESSFUL_REFUND CANCEL_REGARDLESS
createdDate
required

When the refund was created.

string format: date-time
""
description
required

Human-readable description.

string
"" >= 1 characters
displayAmount
required

Refund amount in display (user) currency.

number
""
identifier
required

Unique refund identifier.

string format: uuid
"" >= 1 characters
internalAmount
required

Refund amount in internal (USD/capture) currency.

number
""
processedDate

When the refund was processed by Stripe.

string format: date-time
""
reason
required

Reason for the refund.

string
""
Allowed values: DUPLICATE FRAUDULENT REQUESTED_BY_CUSTOMER GUEST_COMPLAINT GUEST_BOOKED_INCORRECT_DATE GUEST_SICK OVERBOOKING EMERGENCY FLIGHT_CANCELLED DEATH_IN_FAMILY OTHER EXPIRED_UNCAPTURED_CHARGE AVAILABILITY_CHECK_FAILED
receiptUrl

Stripe receipt URL for the refund.

string format: uri
""
requestor
required

Who requested the refund.

string
""
Allowed values: BY_SUPPLIER BY_ADMIN BY_STRIPE BY_SYSTEM BY_AGENT BY_GUEST
response

Wink admin’s response to the refund request. Kept separate from description so the admin’s reply never overwrites the requester’s (traveler/hotel) original text.

string
""
sourceAmount
required

Refund amount in source (supplier/hotel) currency.

number
""
status
required

Current status of this refund.

string
""
Allowed values: PENDING SUCCEEDED CANCELED REQUIRES_ACTION FAILED
stripeRefundFee

Stripe refund processing fee in internal (capture) currency, captured asynchronously via webhook from balance_transaction.fee.

number
""
stripeRefundId

Stripe Refund ID.

string
""
reportingAncillaryList

Per-ancillary reporting accounting details, pre-computed from the raw entity’s derived getReportingAncillaryList().

Array<object>
""

Reporting data for a single ancillary booking, including gross and net amounts in the property’s source currency.

object
currency

The currency for these amounts.

string
"" /^[A-Z]{3}$/
grossAmount

The gross amount.

number
""
name

Full name of ancillary in English.

string
""
netAmount

The gross amount minus fees and commissions.

number
""
netAmountWithRefund

The gross amount minus fees and commissions.

number
""
reportingDailyRateList

Per-day reporting rate breakdown, pre-computed from the raw entity’s derived getReportingDailyRateList().

Array<object>
""

Reporting data for a single night of a booking stay, including base, gross, and net amounts for accounting purposes.

object
baseAmount

The rate given to us by channel manager / CRS / PMS.

number
""
currency

The currency for these amounts.

string
""
date

The rate date.

string format: date
""
grossAmount

The derived amount based on promotions, member discounts etc within our platform.

number
""
netAmount

The gross amount minus fees and commissions.

number
""
netAmountWithRefund

The net amount minus potential refund. Null if booking contains no refund.

number
""
reportingExtraChargeList
Array<object>

Displays extra charge accounting details, pre-computed from the raw entity’s derived getReportingExtraChargeList().

object
currency

Currency code for these amounts.

string
"" /^[A-Z]{3}$/
description

Description of the extra charge.

string
""
grossAmount

Gross amount of the extra charge.

number
""
name

Name of the extra charge.

string
""
netAmount

Net amount after fees and commissions.

number
""
netAmountWithRefund

Net amount minus any refund. Null if no refund applies.

number
""
restaurants
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
review

The guest’s review of the stay, present only after the guest has submitted one.

object
answers

Guest’s answers to each review question with their scores.

Array<object>

A guest’s recorded answer to a single review question, including the score and question metadata.

object
category
required

Category of the question (e.g., COMFORT, SERVICE, VALUE).

string
""
Allowed values: COMFORT CONDITION SERVICE ENVIRONMENT FACILITIES LOCATION LIFESTYLE VALUE FOOD ROOM
questionIdentifier
required

Review question identifier that this answer responds to.

string format: uuid
"" >= 1 characters
sort
required

Display order of this answer within the review.

integer format: int32
""
value
required

Guest’s numeric rating for this question on a 0-10 scale.

integer format: int32
""
approvedImage

Hotel has approved the guest’s photo for public display on their profile.

boolean
approvedText

Hotel has approved this review text for public display on their profile.

boolean
averageScore

Average rating across all question answers (0-10 scale).

number format: double
""
bookingIdentifier

Booking identifier this review is associated with.

string format: uuid
""
createdDate

Datetime this record was first created

string | null format: date-time
""
hotelIdentifier

Property (hotel) identifier this review is for.

string format: uuid
""
id

Unique identifier for this record.

string format: uuid
""
imageIdentifier

Cloudinary image identifier for guest’s photo from their stay.

string
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
likes

User identifiers who ‘liked’ this review.

Array<string>
messageFromGuest

Private feedback message from guest to hotel manager. Not publicly displayed.

string
""
responded

Hotel has submitted a response to this review.

boolean
responseFromHotel

Hotel’s public response to the guest review.

string
""
reviewDate

Date and time the review was submitted.

string format: date-time
""
roomNumber

Guest’s room number during their stay.

string
""
roomRating

Guest’s personal rating of their room on a 0-10 scale.

integer format: int32
""
text

Guest’s written review text.

string
""
user

Guest who submitted the review.

object
email

Guest’s email address.

string format: email
""
firstName

Guest’s first name.

string
""
fullName

Guest’s full name.

string
""
lastName

Guest’s last name.

string
""
telephone

Guest’s phone number.

string
"" /^\+?[1-9]\d{1,14}$/
userIdentifier

User identifier

string format: uuid
""
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
roomImageUrl
string
roomStay

Booking-time room stay snapshot (occupancy, dates, price, room/rate-plan).

object
activeCancellationPolicy

Active cancellation policy resolved at booking time.

object
advanceCancellationFreeOfCharge

When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.

string
""
Allowed values: UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL ONE_DAY_BEFORE_ARRIVAL TWO_DAYS_BEFORE_ARRIVAL THREE_DAYS_BEFORE_ARRIVAL FIVE_DAYS_BEFORE_ARRIVAL SEVEN_DAYS_BEFORE_ARRIVAL FOURTEEN_DAYS_BEFORE_ARRIVAL TWENTYONE_DAYS_BEFORE_ARRIVAL THIRTY_DAYS_BEFORE_ARRIVAL FOURTY_TWO_DAYS_BEFORE_ARRIVAL SIXTY_DAYS_BEFORE_ARRIVAL
createdDate

Datetime this record was first created

string | null format: date-time
""
hotelIdentifier
required

Property this cancellation is associated with

string format: uuid
""
id
required

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
noShowCharge

In case the ‘Refundable cancellation charge’ is set, a different no show charge can be applied.

string
""
Allowed values: SAME_AS_CANCELLATION_FEE ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE
nonRefundableAfterDeadlineCancellationCharge

If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.

string
""
Allowed values: FIRST_NIGHT TEN_PERCENT THIRTY_PERCENT FIFTY_PERCENT SEVENTY_PERCENT ONE_HUNDRED_PERCENT
nonRefundableCancellationCharge

When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.

string
""
Allowed values: FIRST_NIGHT TEN_PERCENT THIRTY_PERCENT FIFTY_PERCENT SEVENTY_PERCENT
nonRefundableDeadline

The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.

string
""
Allowed values: ONE_DAY_BEFORE_ARRIVAL TWO_DAYS_BEFORE_ARRIVAL THREE_DAYS_BEFORE_ARRIVAL FIVE_DAYS_BEFORE_ARRIVAL SEVEN_DAYS_BEFORE_ARRIVAL FOURTEEN_DAYS_BEFORE_ARRIVAL TWENTYONE_DAYS_BEFORE_ARRIVAL THIRTY_DAYS_BEFORE_ARRIVAL FOURTY_TWO_DAYS_BEFORE_ARRIVAL SIXTY_DAYS_BEFORE_ARRIVAL
policyCode
string
refundable
required

Whether this cancellation policy is refundable or not

boolean
refundableCancellationCharge

If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.

string
""
Allowed values: FIRST_NIGHT THIRTY_PERCENT FIFTY_PERCENT SIXTY_PERCENT SEVENTY_PERCENT NINETY_PERCENT ONE_HUNDRED_PERCENT
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
adults
required

The actual amount of adults as determined by the hotel’s policy.

integer format: int32
default: 2
ancillaryList

Ancillary services attached to this room stay.

Array<object>
""
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
bedroomConfiguration

Desired bedroom layout

object
bedroomList
required

List of bedrooms within this configuration layout.

Array<object>
>= 1 items

A single bedroom within a room type, specifying the bedroom type and its bed configuration.

object
bedList
required

List of bed configurations for this bedroom. Each entry specifies a bed type and quantity.

Array<object>
>= 1 items

A single bed type and its quantity within a bedroom, described using the OpenTravel bed type code.

object
bedTypeCode
required

OpenTravel bed type code (e.g., 1=Double, 2=Twin, 7=Queen, 8=King). See OTA geoname data.

string
"" >= 1 characters
quantity
required

Number of beds of this type in the room.

integer format: int32
"" >= 1
type
required

Bedroom type classification (e.g., MASTER, QUEEN, JUNIOR, DORMITORY, BEDROOM_1…BEDROOM_10).

string
""
Allowed values: MASTER QUEEN JUNIOR DORMITORY BEDROOM_1 BEDROOM_2 BEDROOM_3 BEDROOM_4 BEDROOM_5 BEDROOM_6 BEDROOM_7 BEDROOM_8 BEDROOM_9 BEDROOM_10
identifier
required

Unique identifier for this bedroom configuration layout.

string format: uuid
"" >= 1 characters
name
required

Human-readable name of this room layout configuration.

string
"" >= 1 characters
children
required

The actual amount of children as determined by the hotel’s policy.

integer format: int32
0
endDate
required

Check-out date

string format: date
""
extraCharges

Rate plan-level extra charges

object
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
items
Items

List of extra charges that applies to the rate plan.

Array<object>
""
object
price

The localized price of the extra charge

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
ratePlanLevelFee

What the guest is paying extra for

object
descriptions
required

Localized descriptions of this fee in multiple languages. At least one entry in English is required.

Array<object>
"" >= 1 items

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
fixedAmount
required

The fixed fee amount in the property’s local currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
type
required

How this fee is charged: per day, per stay, per person per day, or per person per stay.

string
""
Allowed values: PER_DAY PER_STAY PER_PERSON_PER_DAY PER_PERSON_PER_STAY
unitPrice

The localized unit price of the extra charge

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
guestUser

Guest assigned to this room stay (lead occupant).

object
email
required

Email

string format: email
"" >= 1 characters
firstName
required

First name

string
"" >= 1 characters
fullName

Full name

string
""
lastName
required

Last name

string
"" >= 1 characters
profile

Optional profile record

object
createdDate

Datetime this record was first created

string | null format: date-time
""
id

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
personal
required

Detailed customer information for this profile

object
address1

Primary address line

string
""
address2

Secondary address line

string
""
birthDate

Date of birth in ISO 8601 format

string format: date
""
childQuantity

Number of children

integer format: int32
""
citizenship

Country of citizenship

string
""
city

City name

string
""
contactPerson
Array<object>

Array of emergency contact information for the customer

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
country

Country code (ISO 3166-1 alpha-2)

string
"" /^[A-Z]{2}$/
gender

Identifies the gender of the customer.

string
""
Allowed values: MALE FEMALE OTHER
language

Primary language (ISO 639-1 code)

string
"" /^[a-z]{2}(-[A-Z]{2})?$/
maritalStatus

Marital status of the traveler

string
""
Allowed values: ANNULLED COHABITATING DIVORCED ENGAGED MARRIED SEPARATED SINGLE WIDOWED UNKNOWN
petInfo
Array<object>

Array of customer’s pets

object
name
required

Pet name

string
"" >= 1 characters
type
required

Pet type

string
"" >= 1 characters
physChallName
Array<string>
postalCode

Postal code

string
""
preferredCurrency

Preferred currency for monetary values (ISO 4217 code)

string
"" /^[A-Z]{3}$/
state

State or province

string
""
preferences
required

Customer preferences

object
allergies

Known allergies

Array<string>
bedTypePref

Preferred hotel bed type

string
""
beveragePref

Beverage preferences

Array<string>
businessSrvcPref

Preferred business services

Array<string>
cuisinePref

Cuisine preference

string
""
foodPref

Food preferences

Array<string>
foodSrvcPref

Preferred food service facilities

string
""
guestType

Guest type classification

string
""
hotelChainPref

Preferred hotel chain name

string
""
interestPref

Interest preferences

Array<string>
mealPref

Meal preference

string
""
petsPref

Pet-friendly preferences

Array<string>
physChalFeaturePref

Preferred accessibility features

Array<string>
""
propertyAmenityPref

Preferred hotel property amenities

Array<string>
propertyLocationPref

Preferred hotel property locations

string
""
propertyTypePref

Preferred hotel property types

string
""
recreationSrvcPref

Preferred recreation services

Array<string>
roomAmenityPref

Preferred hotel room amenities

Array<string>
roomLocationPref

Preferred hotel room locations

string
""
securityFeaturePref

Preferred security features

Array<string>
smokingAllowed

Preference for smoking allowed rooms

boolean
profileIdentifier
required

Profile identifier

string format: uuid
"" >= 1 characters
share
required

Indicates whether the user wants to share this profile of themselves with hotel(s)

boolean
user
required

User details

object
email

User email address

string format: email
""
firstName

User first name

string
""
fullName

Full name

string
""
lastName

User last name

string
""
phone

User phone number

string
"" /^\+?[1-9]\d{1,14}$/
profilePictureUrl

Profile picture URL

string format: uri
""
userIdentifier
required

User identifier

string format: uuid
"" >= 1 characters
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
telephone

Telephone

string
"" /^\+?[1-9]\d{1,14}$/
userIdentifier

User identifier

string format: uuid
""
guests
integer format: int32
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
perkTypes

List of perks that came with the master rate

Array<object>
""

Lightweight projection of a platform perk for use in public-facing APIs, search results, and rate configuration, omitting internal admin fields.

object
createdDate

Datetime this record was first created

string | null format: date-time
""
descriptions
required

Localized descriptions of this perk in multiple languages. Each element provides a name, description, and language code (e.g., ‘en’, ‘fr’, ‘de’).

Array<object>
>= 1 items

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
guaranteed
required

Whether this perk is guaranteed to be provided or available on a best-effort basis. Guaranteed perks take priority in allocation.

boolean
id

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
level
required

Platform tier/value assigned to this perk (0=standard, higher=premium). Used for internal prioritization and matching with rate tiers.

integer format: int32
""
sort
required

Display order when showing this perk in a list (ascending sort). Lower numbers appear first; 999 is reserved for disabled/unlisted perks.

integer format: int32
""
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
price
required

Price details. Already quantity-scaled — its totals and breakdown represent all booked rooms.

object
available
boolean
channelDiscountPercent
number
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
internalBaseTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier
number
internalExtraChildModifier
number
internalExtraPaxModifier
number
internalPremiumModifier
number
internalPromotionalModifier
number
internalSingleOccupantModifier
number
internalTotal

Stay total in wink currency (per-room x quantity).

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
maxOccupancy
integer format: int32
minOccupancy
integer format: int32
offerDetails
Array<object>

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
premiumPercent
number
promotionalCodes
Array<string>
promotionalDiscountPercent
number
quantity

Number of identical rooms booked of this type. The one money-bearing quantity.

integer format: int32
default: 1
rateSource
string
sourceBaseTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier
number
sourceExtraChildModifier
number
sourceExtraPaxModifier
number
sourcePremiumModifier
number
sourcePromotionalModifier
number
sourceSingleOccupantModifier
number
sourceToInternalCurrencyQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Stay total in hotel currency (per-room x quantity).

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier
number
userSpecifiedCurrencyExtraChildModifier
number
userSpecifiedCurrencyExtraPaxModifier
number
userSpecifiedCurrencyPremiumModifier
number
userSpecifiedCurrencyPromotionalModifier
number
userSpecifiedCurrencySingleOccupantModifier
number
userSpecifiedCurrencyTotal

Stay total in user specified currency (per-room x quantity).

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
quantity

Number of identical rooms of this type. Display only — the money-bearing quantity lives on price (BookingStayRateLightweight).

integer format: int32
default: 1
ratePlan
required

Rate plan used for this stay

object
allInclusive
required

Everything included except alcohol

boolean
allInclusivePlusAlcohol
required

Everything included with alcohol

boolean
breakfast
required

When true, indicates breakfast is included.

boolean
brunch
required

When true, indicates brunch is included.

boolean
dinner
required

When true, indicates dinner is included.

boolean
earlyCheckInCharge
identifier
required

Rate plan identifier

string format: uuid
"" >= 1 characters
lateCheckOutCharge
lunch
required

When true, indicates lunch is included.

boolean
name
required

Provides the name of the rate plan.

string
"" >= 1 characters
rateSource
string
room
required

Guest room details.

object
active
required

Modify blocking availability with this flag.

boolean
default: true
address
required

Defaults to property address.

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
amenities

OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See OTA geoname data

Array<string>
bathroomCount
required

Number of bathrooms

integer format: int32
default: 1
bedroomConfigurationList
required

A room type can have more than one bed configuration.

Array<object>
>= 1 items

A named bedroom layout configuration for a room type, containing one or more bedrooms each with their own bed setup.

object
bedroomList
required

List of bedrooms within this configuration layout.

Array<object>
>= 1 items

A single bedroom within a room type, specifying the bedroom type and its bed configuration.

object
bedList
required

List of bed configurations for this bedroom. Each entry specifies a bed type and quantity.

Array<object>
>= 1 items

A single bed type and its quantity within a bedroom, described using the OpenTravel bed type code.

object
bedTypeCode
required

OpenTravel bed type code (e.g., 1=Double, 2=Twin, 7=Queen, 8=King). See OTA geoname data.

string
"" >= 1 characters
quantity
required

Number of beds of this type in the room.

integer format: int32
"" >= 1
type
required

Bedroom type classification (e.g., MASTER, QUEEN, JUNIOR, DORMITORY, BEDROOM_1…BEDROOM_10).

string
""
Allowed values: MASTER QUEEN JUNIOR DORMITORY BEDROOM_1 BEDROOM_2 BEDROOM_3 BEDROOM_4 BEDROOM_5 BEDROOM_6 BEDROOM_7 BEDROOM_8 BEDROOM_9 BEDROOM_10
identifier
required

Unique identifier for this bedroom configuration layout.

string format: uuid
"" >= 1 characters
name
required

Human-readable name of this room layout configuration.

string
"" >= 1 characters
bookable
required

Indicates if this inventory can be added to a booking or if it is read-only marketing material only.

boolean
default: true
commissionable
required

Indicate whether sales channels receive commission for selling this inventory.

boolean
default: true
composite
required

Indicates that the room (suite) is a composite of smaller units.

boolean
compositeCount
required

Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.

integer format: int32
0
contact
required

Associate a contact person for this inventory (if applicable).

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
createdDate

Datetime this record was first created

string | null format: date-time
""
descriptions
required

Localized descriptions describing inventory.

Array<object>
>= 1 items

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
disabilityFeatures

Supported OTA specification PHY code. See OTA geoname data

Array<string>
featuredInd
required

Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.

boolean
floor

Floor number on which this room type is located.

string
""
hotelIdentifier
required

Hotel identifier.

string format: uuid
"" >= 1 characters
id
required

Unique identifier for this record.

string format: uuid
"" >= 1 characters
includedAdultOccupancy
required

The number of pax the room price was meant for

integer format: int32
default: 2
includedChildOccupancy
required

The number of children the room price was meant for

integer format: int32
0
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
lifestyleType

Indicate the type of lifestyle this inventory should be associated with.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
livingRoomCount
required

Number of living rooms

integer format: int32
default: 1
location
required

Geo-location point where blocking takes place. Defaults to location of property.

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
maxAdultOccupancy
required

Maximum number of adults allowed in a room type.

integer format: int32
default: 2 >= 1
maxChildOccupancy
required

Maximum number of children allowed in a room type.

integer format: int32
0
maxCribs
required

Maximum number of cribs allowed in a room type.

integer format: int32
0
maxOccupancy
required

Maximum number of guest allowed in a room type.

integer format: int32
default: 2 >= 1
maxRollaways
required

Maximum number of rollaway beds allowed in this room type.

integer format: int32
0
minAgeAppropriateCode

Supported OTA specification AQC code. See OTA geoname data

string
""
minOccupancy
required

Minimum number of guests allowed in a room type.

integer format: int32
default: 1 >= 1
multimedias
required

List of images / videos of blocking.

Array<object>
>= 1 items

Multimedia that contains less information than Multimedia object

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
name
required

Internal name of inventory.

string
"" >= 1 characters
nonSmoking
required

Non-smoking indicator

boolean
pricePoint
required

Level of expensiveness.

string
default: THREE
Allowed values: HALF ONE ONE_HALF TWO TWO_HALF THREE THREE_HALF FOUR FOUR_HALF FIVE
proximityCode
required

Supported OTA specification PRX code. See OTA geoname data

string
""
publishStatus

Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).

string
""
Allowed values: DRAFT PUBLISHED
quantity
required

Defines the number of rooms of this type

integer format: int32
"" >= 1
recognitionList

Inventory-level recognition.

Array<object>

Recognition for the ancillary blocking.

object
category
required

Recognition category.

string
""
Allowed values: THIRD_PARTY_REVIEW PUBLICATION AWARD
date

The date the award was received

string format: date
""
identifier
required

Recognition identifier.

string format: uuid
"" >= 1 characters
maxRating
required

Use this to let hotels indicate what the total score for this award is.

number format: float
""
officialAppointmentInd

When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.

boolean
provider
required

The name of the entity that administers this recognition.

string
"" >= 1 characters
rating
required

The actual award or rating received by the hotel facility.

number format: float
""
ratingSymbol

Provides the symbol used in the rating. Used in conjunction with the Rating.

string
""
type
required

Type of rating system the recognition operated on. This allows us to display the score properly.

string
""
Allowed values: STAR_RATING NUMERIC_RATING PERCENT_RATING
roomArchitectureCode
required

OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See OTA geoname data

string
"" >= 1 characters
roomCategory
required

OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See OTA geoname data

string
"" >= 1 characters
roomClassificationCode
required

OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See OTA geoname data

string
"" >= 1 characters
roomGender

Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.

string
default: Unknown
Allowed values: Male Female MaleAndFemale Unknown
roomLocationCode
required

OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See OTA geoname data

string
"" >= 1 characters
roomViewCode
required

OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See OTA geoname data

string
"" >= 1 characters
securityFeatures

Supported OTA specification SEC code. See OTA geoname data

Array<string>
sharedRoomInd
required

If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.

boolean
size
required

Number of square meters that defines the size of this room type.

number format: float
"" >= 1
socials

Social network accounts for blocking (if applicable).

Array<object>

Social network

object
location

URL or social network identifier to social network profile

string
""
type

Type of social network.

string
""
Allowed values: FACEBOOK INSTAGRAM SKYPE TRIP_ADVISOR TWITTER GOOGLE_PLUS WHATSAPP LINE WECHAT VIBER SNAPCHAT WEIBO RENREN WEBSITE QQ TIKTOK
sort

Use this property to sort an blocking in a list of activities.

integer format: int32
""
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
roomImageUrl

Absolute URL of room image

string format: uri
""
roomNights
integer format: int64
roomRateIdentifier
required

Master rate identifier

string format: uuid
"" >= 1 characters
roomRateInternalName
required

Master rate internal name

string
"" >= 1 characters
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
startDate
required

Check-in date

string format: date
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
roomTypeAncillaries
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
selectedRoomConfigurationChildAges

Explicit per-child ages captured on the user’s selected room configuration at booking time, when present (channel-manager-omnibees fallback data); empty when not present.

Array<integer>
""
serverUrl

The URL the booking occurred on.

string
""
socials

List of all social network accounts the property has for the traveler to get in touch.

Array<object>
""

Social network

object
location

URL or social network identifier to social network profile

string
""
type

Type of social network.

string
""
Allowed values: FACEBOOK INSTAGRAM SKYPE TRIP_ADVISOR TWITTER GOOGLE_PLUS WHATSAPP LINE WECHAT VIBER SNAPCHAT WEIBO RENREN WEBSITE QQ TIKTOK
sourceCurrency

Source (supplier) currency code.

string
""
spas
Array<object>
object
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
commission
required
number format: float
commissionable
required
boolean
contact
required

Travel blocking contact (if applicable)

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
endDate

Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
financialBreakdown
object
beneficiaryList
Array<object>

A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.

object
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountIdentifier
required

Unique identifier of the beneficiary’s account in the TripPay system

string
"" >= 1 characters
accountName
required

Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)

string
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
amountDue

Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted

object
percent

The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.

number
""
type
required

PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).

string
""
Allowed values: PERCENTAGE REMAINDER
displayAmount
required

Gross amount owed to this beneficiary in display currency (before refunds)

number
""
displayAmountRefundModifier
required

Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)

number
""
displayCurrency
required

ISO 4217 currency code for display to the user (e.g. booking shown in USD)

string
"" >= 1 characters
internalAmount
required

Gross amount owed to this beneficiary in internal currency (before refunds)

number
""
internalAmountRefundModifier
required

Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)

number
""
internalCurrency
required

ISO 4217 currency code for internal platform ledger (always USD)

string
"" >= 1 characters
metadata

Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)

object
key
additional properties
string
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
pendingRefunds
Array<object>

Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property

object
displayAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s displayAmount when applied

number
""
internalAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s internalAmount when applied

number
""
refundIdentifier
required

Unique identifier linking this pending refund to the parent booking’s refund record

string
"" >= 1 characters
sourceAmountRefundModifier
required

Refund amount to be deducted from the beneficiary’s sourceAmount when applied

number
""
reconciled

Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary

boolean
sourceAmount
required

Gross amount owed to this beneficiary in source currency (before refunds)

number
""
sourceAmountRefundModifier
required

Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)

number
""
sourceCurrency
required

ISO 4217 currency code for the originating source (supplier’s local currency, e.g. hotel in Thailand uses THB)

string
"" >= 1 characters
type
required

Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees

string
""
Allowed values: TRIP_PAY PLATFORM_FEE COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE SALE
commissionableTotalDisplayAmount
number
commissionableTotalInternalAmount
number
commissionableTotalSourceAmount
number
displayAmount
number
displayAmountRefundModifier
number
displayCurrency
string
displayPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalAmount
number
internalAmountRefundModifier
number
internalCurrency
string
internalPriceQuote

Lightweight representation of an exchange rate quote between a source and target currency pair

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
metadata
object
key
additional properties
netCommissionableTotalDisplayAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalSourceAmount
number
netDisplayAmount
number
netInternalAmount
number
netSourceAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalCustomersDisplayAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersSourceAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesDisplayAmount
number
netTotalFeesInternalAmount
number
netTotalFeesSourceAmount
number
netTotalPaymentProcessingFeeDisplayAmount
number
netTotalPaymentProcessingFeeInternalAmount
number
netTotalPaymentProcessingFeeSourceAmount
number
netTotalPlatformFeeDisplayAmount
number
netTotalPlatformFeeInternalAmount
number
netTotalPlatformFeeSourceAmount
number
netTotalSalesDisplayAmount
number
netTotalSalesInternalAmount
number
netTotalSalesSourceAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
sourceAmount
number
sourceAmountRefundModifier
number
sourceCurrency
string
totalAffiliateAgencyFeesDisplayAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalFeesAndCommissionsDisplayAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesDisplayAmount
number
totalFeesInternalAmount
number
totalFeesSourceAmount
number
totalPaymentProcessingFeeDisplayAmount
number
totalPaymentProcessingFeeInternalAmount
number
totalPaymentProcessingFeeSourceAmount
number
totalPlatformFeeDisplayAmount
number
totalPlatformFeeInternalAmount
number
totalPlatformFeeSourceAmount
number
totalSalesDisplayAmount
number
totalSalesInternalAmount
number
totalSalesSourceAmount
number
totalSupplierAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesSourceAmount
number
hotelIdentifier
required

Hotel identifier

string format: uuid
"" >= 1 characters
identifier
required

Ancillary identifier

string format: uuid
"" >= 1 characters
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedDescription
required

Description of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
localizedName
required

Name of travel inventory in traveler language (if available). Defaults to English.

string
"" >= 1 characters
mandatory
required
boolean
name
required

Name of inventory

string
"" >= 1 characters
price
required

Pricing information for this ancillary.

object
channelDiscountPercent

Channel discount percent

number
""
hasChannelDiscount
boolean
hasPremium
boolean
hasPromotion
boolean
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
internalTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
premiumPercent

Premium percent

number
""
promotionalDiscountPercent

Promotional discount percent

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
exchangeRate
required

Exchange rate from source to target currency

number
""
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalDiscountPercent
number
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
userSpecifiedCurrencyTotal

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
pricingType
required

Pricing type

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
startDate

Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).

string format: date-time
""
transactionalTravelInventoryIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
type
required

Inventory type

string
""
Allowed values: ROOM_TYPE_ANCILLARY ADD_ON MEETING_ROOM SPA RESTAURANT ACTIVITY ATTRACTION PLACE
typeIdentifier
required

Travel inventory identifier

string format: uuid
"" >= 1 characters
specialRequests

Free-form special requests text.

string
""
staticMapImageUrl

Google Maps static image URL for email display.

string
""
staticMapUrl

Google Maps interactive URL for click-through.

string
""
statusHistory
Array<object>

Audit trail of status transitions.

object
actor

Who or what triggered the transition.

string
""
fromStatus
required

Status before the transition.

string
""
Allowed values: INITIALIZED TEST_PAYMENT_SUCCEEDED PAYMENT_SUCCEEDED PAYMENT_FAILED FAILED CANCELLED PARTIALLY_REFUNDED FULLY_REFUNDED
reason

Human-readable reason for the transition.

string
""
timestamp
required

When the transition occurred.

string format: date-time
""
toStatus
required

Status after the transition.

string
""
Allowed values: INITIALIZED TEST_PAYMENT_SUCCEEDED PAYMENT_SUCCEEDED PAYMENT_FAILED FAILED CANCELLED PARTIALLY_REFUNDED FULLY_REFUNDED
stripePaymentIntentId

Stripe PaymentIntent identifier for this booking’s payment, when paid via Stripe.

string
""
totalAffiliateAgencyFeesSourceAmount

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalCommissionsInPercent

Total commissions percentage.

number
""
totalCommissionsInPercentWithRefund

Total commissions percentage, adjusted for any refund.

number
""
totalFeesAndCommissionsInPercent

Total fees and commissions percentage.

number
""
totalFeesAndCommissionsInPercentWithRefund

Total fees and commissions percentage, adjusted for any refund.

number
""
totalFeesInPercent

Total platform + payment-processing fee percentage.

number
""
totalFeesInPercentWithRefund

Total platform + payment-processing fee percentage, adjusted for any refund.

number
""
totalPaymentProcessingFeeInPercent

Total payment-processing fee percentage.

number
""
totalPaymentProcessingFeeInPercentWithRefund

Total payment-processing fee percentage, adjusted for any refund.

number
""
totalPaymentProcessingFeeSourceAmount

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalPlatformFeeInPercent

Platform (Wink) fee percentage only, as a fraction of gross.

number
""
totalPlatformFeeInPercentWithRefund

Total platform fee percentage, adjusted for any refund.

number
""
totalPlatformFeeSourceAmount

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalSalesSourceAmount

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalSupplierAgencyFeesSourceAmount

Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
totalTokensEarned

Total loyalty tokens earned for this booking.

integer format: int64
""
userSession

Device/location/referrer/itinerary snapshot captured at booking time.

object
currency

User’s currency preference

string
"" /^[A-Z]{3}$/
itinerary
required

Dates and travel info.

object
children

How many total children for this stay

integer format: int32
""
endDate

Optional end date. If endDate is empty, nights needs to be present. If both are present, nights will take precedence.

string format: date
""
guests

How many total guests for this stay

integer format: int32
""
hours

Number of hours between start and end dates. Used for itineraries that require bookings that occur within hours and not days. E.g. Meeting room reservation.

integer format: int64
""
items

Room configurations

Array<object>

Room Configuration

object
adults
required

Number of adults

integer format: int32
default: 1
children

Children configurations

Array<object>

Child configuration

object
age

Age of children

integer format: int32
""
quantity

Number of children

integer format: int32
""
nights

Optional number of nights. If nights is empty, endDate needs to be present. If both are present, nights will take precedence.

integer format: int32
""
rooms

How many total rooms for this stay

integer format: int32
""
startDate
required

Start date of itinerary

string format: date
""
language

User’s language preference

string
"" /^[a-z]{2}(-[A-Z]{2})?$/
lifestyle

The preferred user lifestyle.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
promotionalCodes
Array<string>
selectedRoomConfigurationIndex

User can pass the current room configuration index to retrieve rates specifically for that room configuration.

integer format: int32
""
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
Example
[
{
"activities": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"addOns": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"ancillaryList": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"attractions": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"booker": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"telephone": "+1 212 555 1212",
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
},
"cancellable": false,
"cancellation": {
"cancelReason": "Guest changed travel plans",
"cancellationType": "FREE_CANCELLATION",
"cancelledOn": "2026-01-15T10:30:00Z",
"cancellerType": "TRAVELER",
"cancellerUserIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"groupRefundNotified": false
},
"commissionableSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"createdDate": "2026-01-14T09:30:00",
"customization": {
"appendToPageTitle": "Hotels with Benefits",
"cardDesign": "DEFAULT",
"cardLayout": "VERTICAL",
"city": {
"admin1Code": "40",
"admin2Code": "2401",
"admin3Code": "",
"admin4Code": "",
"alternateCountryCodes": [],
"alternateNames": [
"Krung Thep",
"BKK"
],
"asciiName": "Bangkok",
"country": {
"area": 514000,
"capital": "Bangkok",
"continent": "AS",
"currencyCode": "THB",
"currencyName": "Baht",
"fips": "TH",
"geoNameId": "1605651",
"iso": "TH",
"iso3": "THA",
"isoNumeric": 764,
"languages": [
"th"
],
"name": "Thailand",
"neighbors": [
"LA",
"MM",
"KH",
"MY"
],
"phone": "66",
"population": 69428524,
"postalCodeFormat": "#####",
"postalCodeRegEx": "^(\\d{5})$",
"topLevelDomain": ".th"
},
"countryCode": "TH",
"digitalElevationModel": "3",
"elevation": 5,
"featureClass": "P",
"featureCode": "PPLC",
"geoNameId": "1609350",
"location": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "POINT"
},
"modificationDate": "2023-06-15",
"name": "Bangkok",
"population": 10539415,
"radiusInMeters": 50000,
"subCountry": {
"asciiName": "Bangkok",
"code": "TH.40",
"countryCode": "TH",
"geoNameId": "1609350",
"name": "Bangkok",
"subCountryCode": "40"
},
"subSubCountry": {
"asciiName": "Bangkok District",
"code": "TH.40.2401",
"countryCode": "TH",
"geoNameId": "1609352",
"name": "Bangkok District",
"subCountryCode": "40",
"subSubCountryCode": "2401"
},
"timezone": "Asia/Bangkok",
"type": "CITY",
"urlName": "bangkok-thailand"
},
"createdDate": "2026-01-14T09:30:00",
"defaultCurrency": "THB",
"defaultLanguage": "en",
"defaultLifestyle": "LIFESTYLE_HEALTH_FITNESS",
"endDate": "2026-07-22",
"googleAnalyticsMeasurementId": "G-ABCDEF1234",
"googleMapsAPIKey": "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
"googleTagManagerContainerId": "GTM-XXXXX",
"hostedBookingEngineUrl": "https://book.thesiamresidences.com/reservations",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"layout": "INFORMATIONAL",
"logos": [
{
"angle": null,
"attribution": [],
"category": "2",
"descriptions": [
{
"description": "Elegant lobby of The Siam Residences",
"language": "en",
"title": "Lobby Entrance"
}
],
"height": 1600,
"identifier": "the-siam-residences/lobby-entrance",
"isLandscape": true,
"lifestyleType": null,
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"published": true,
"sort": 10,
"source": "CLOUDINARY",
"type": "IMAGE",
"width": 2560
}
],
"name": "Luxury Travel Portal",
"numberOfAdvanceDays": 7,
"numberOfStayDays": 3,
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"ownerName": "Premium Hotels International",
"primary": true,
"roomConfiguration": {
"adults": 2,
"children": [
{
"age": 7,
"quantity": 2
}
],
"quantity": 2
},
"selfHosted": true,
"sendBookingNotificationEmailsToBooker": true,
"sendBookingNotificationEmailsToChannelManager": true,
"sendBookingNotificationEmailsToProperty": true,
"showRankings": true,
"showSearch": true,
"showUnavailableCard": false,
"startDate": "2026-07-15",
"subType": "APPLICATION",
"themeColors": {
"body": "#212529",
"danger": "#dc3545",
"dark": "#343a40",
"info": "#17a2b8",
"light": "#f8f9fa",
"muted": "#6c757d",
"primary": "#dc3545",
"secondary": "#6c757d",
"success": "#28a745",
"warning": "#ffc107",
"white": "#ffffff"
},
"trackingPixels": [
{
"accessToken": "EAABsbCS0kB4BAAI...",
"consentCategory": "MARKETING",
"customImageUrl": "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
"customScript": "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
"enabled": true,
"identifier": "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
"name": "Facebook Conversion Pixel",
"pixelId": "1234567890",
"provider": "FACEBOOK",
"triggers": [
{
"eventType": "PURCHASE",
"parameters": [
{
"key": "currency",
"value": "USD"
}
]
}
],
"type": "JAVASCRIPT"
}
],
"useDays": true,
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"version": 3,
"wcBookClickAction": "IBE_MODAL"
},
"earlyCheckInCharge": {
"amount": 1250,
"currency": "USD"
},
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"fundsAddedToLedger": false,
"fundsProcessed": false,
"guestUser": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"profile": {
"createdDate": "2026-01-14T09:30:00",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"personal": {
"address1": "123 Petchburi Road",
"address2": "Ratchathewi District",
"birthDate": "1985-06-15",
"childQuantity": 2,
"citizenship": "Thailand",
"city": "Bangkok",
"contactPerson": [
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
}
],
"country": "TH",
"gender": "FEMALE",
"language": "en",
"maritalStatus": "MARRIED",
"petInfo": [
{
"name": "Luna",
"type": "Golden Retriever"
}
],
"postalCode": "10400",
"preferredCurrency": "USD",
"state": "Bangkok"
},
"preferences": {
"bedTypePref": "King bed",
"cuisinePref": "Thai",
"foodSrvcPref": "In-room dining",
"guestType": "Business traveler",
"hotelChainPref": "Mandarin Oriental",
"mealPref": "Continental breakfast",
"physChalFeaturePref": "Wheelchair accessible rooms",
"propertyLocationPref": "Beachfront",
"propertyTypePref": "Luxury Resort",
"roomLocationPref": "High floor with city view",
"smokingAllowed": false
},
"profileIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"share": true,
"user": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phone": "+66212658866",
"profilePictureUrl": "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
},
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"version": 3
},
"telephone": "+1 212 555 1212",
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
},
"hasAdditionalCharges": false,
"hotel": {
"activities": 3,
"addOns": 5,
"address": {
"city": "Bangkok",
"countryCode": "TH",
"line1": "3/2 Khao Road",
"postalCode": "10300",
"state": "Bangkok"
},
"aggregateGreendexRating": 7,
"aggregateReviewRating": 8.7,
"architecturalStyle": "7",
"attractions": 5,
"available": true,
"bookings": 6054,
"brand": "The Siam Residences",
"chain": "The Siam Collection",
"currencyCode": "THB",
"descriptions": [
{
"description": "An elegant riverside sanctuary in the heart of Bangkok.",
"language": "en",
"title": "Luxury Riverside Retreat"
}
],
"hotelAmenityCodes": [
"1",
"7"
],
"hotelCategory": "45",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"images": [
{
"identifier": "the-siam-residences/lobby-entrance",
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"published": true,
"sort": 10,
"type": "IMAGE"
}
],
"lifestyleTypes": [
"LIFESTYLE_HEALTH_FITNESS"
],
"localName": "เดอะสยาม เรสซิเดนซ์",
"location": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "Point"
},
"locationCategory": "34",
"meetingRooms": 2,
"name": "The Siam Residences, Bangkok",
"numberOfRooms": 32,
"places": 9,
"propertyAccessibilityCodes": [
"1"
],
"propertySecurityCodes": [
"7"
],
"reservations": {
"email": "[email protected]",
"firstName": "Somchai",
"lastName": "Phattanapong",
"phone": "+66-2-123-4567"
},
"restaurants": 2,
"score": 70,
"segmentCategory": "7",
"socials": [
{
"handle": "thesiamresidences",
"platform": "INSTAGRAM"
}
],
"spas": 1,
"starRating": 5,
"thirdPartyReviews": [],
"totalReviews": 989,
"uniqueId": "siam-residences-bkk",
"urlName": "the-siam-residences-bangkok-thailand",
"videos": [],
"whenBuilt": "1927"
},
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"lateCheckOutCharge": {
"amount": 1250,
"currency": "USD"
},
"meetingRooms": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"netTotalFeesAndCommissionsSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"netTotalSalesSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"netTotalSalesSourceAmountOrZero": {
"amount": 1250,
"currency": "USD"
},
"paymentDetails": {
"agentInvoiceIdentifier": "invoice-1",
"agentInvoicedDate": "2017-12-22T03:07:58.742+0000",
"chargeIdentifier": "ch_abc123",
"customerIdentifier": "cus_abc123",
"fees": [
{
"description": "Fee charged for booking confirmation",
"fee": 450,
"identifier": "ABC1234",
"type": "BOOKING"
}
],
"selfAcquires": false,
"selfDisburses": false,
"sessionIdentifier": "s_abc123",
"transactionIdentifier": "pi_3abc123",
"vendor": "STRIPE"
},
"payoutList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "Hotel Sunrise",
"beneficiaryType": "SALE",
"displayAmount": 12.75,
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"internalAmount": 12.75,
"processedDate": "2026-01-15T10:30:00Z",
"sourceAmount": 450,
"status": "COMPLETED",
"withdrawalId": "tr_abc123"
}
],
"places": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"refund": {
"cancelOnRefund": "NONE",
"createdDate": "2026-01-15T10:30:00Z",
"description": "Guest requested cancellation",
"displayAmount": 12.75,
"identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"internalAmount": 12.75,
"processedDate": "2026-01-15T10:30:00Z",
"reason": "REQUESTED_BY_CUSTOMER",
"receiptUrl": "https://pay.stripe.com/receipts/abc123",
"requestor": "BY_ADMIN",
"response": "Approved — refunding 50% per policy.",
"sourceAmount": 450,
"status": "SUCCEEDED",
"stripeRefundFee": 0.5,
"stripeRefundId": "re_abc123"
},
"reportingAncillaryList": [
{
"currency": "USD",
"grossAmount": 450,
"name": "Thai Massage",
"netAmount": 405,
"netAmountWithRefund": 405
}
],
"reportingDailyRateList": [
{
"baseAmount": 450,
"currency": "USD",
"date": "2026-01-15",
"grossAmount": 405,
"netAmount": 360,
"netAmountWithRefund": 360
}
],
"reportingExtraChargeList": [
{
"currency": "USD",
"description": "The charge is 50.00 USD and is charged per day.",
"grossAmount": 450,
"name": "Late checkout fee",
"netAmount": 405,
"netAmountWithRefund": 405
}
],
"restaurants": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"review": {
"answers": [
{
"category": "SERVICE",
"questionIdentifier": "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
"sort": 1,
"value": 7
}
],
"approvedImage": false,
"approvedText": true,
"averageScore": 8.7,
"bookingIdentifier": "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
"createdDate": "2026-01-14T09:30:00",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"imageIdentifier": "wink/review/siam-residences-2026-01-14-xyz123abc",
"lastUpdate": "2026-02-03T16:45:12",
"messageFromGuest": "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
"responded": false,
"responseFromHotel": "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
"reviewDate": "2026-01-14T09:30:00",
"roomNumber": "501",
"roomRating": 9,
"text": "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
"user": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"telephone": "+66 2 126 8866",
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
},
"version": 3
},
"roomStay": {
"activeCancellationPolicy": {
"advanceCancellationFreeOfCharge": "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
"createdDate": "2026-01-14T09:30:00",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"noShowCharge": "SAME_AS_CANCELLATION_FEE",
"nonRefundableAfterDeadlineCancellationCharge": "ONE_HUNDRED_PERCENT",
"nonRefundableCancellationCharge": "SEVENTY_PERCENT",
"nonRefundableDeadline": "SEVEN_DAYS_BEFORE_ARRIVAL",
"refundable": false,
"refundableCancellationCharge": "FIFTY_PERCENT",
"version": 3
},
"adults": 2,
"ancillaryList": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"bedroomConfiguration": {
"bedroomList": [
{
"bedList": [
{
"bedTypeCode": "1",
"quantity": 2
}
],
"type": "MASTER"
}
],
"identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"name": "Master Suite Layout"
},
"children": 0,
"endDate": "2025-12-27",
"extraCharges": {
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"items": [
{
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"ratePlanLevelFee": {
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
},
"unitPrice": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
}
],
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"guestUser": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"profile": {
"createdDate": "2026-01-14T09:30:00",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"personal": {
"address1": "123 Petchburi Road",
"address2": "Ratchathewi District",
"birthDate": "1985-06-15",
"childQuantity": 2,
"citizenship": "Thailand",
"city": "Bangkok",
"contactPerson": [
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
}
],
"country": "TH",
"gender": "FEMALE",
"language": "en",
"maritalStatus": "MARRIED",
"petInfo": [
{
"name": "Luna",
"type": "Golden Retriever"
}
],
"postalCode": "10400",
"preferredCurrency": "USD",
"state": "Bangkok"
},
"preferences": {
"bedTypePref": "King bed",
"cuisinePref": "Thai",
"foodSrvcPref": "In-room dining",
"guestType": "Business traveler",
"hotelChainPref": "Mandarin Oriental",
"mealPref": "Continental breakfast",
"physChalFeaturePref": "Wheelchair accessible rooms",
"propertyLocationPref": "Beachfront",
"propertyTypePref": "Luxury Resort",
"roomLocationPref": "High floor with city view",
"smokingAllowed": false
},
"profileIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"share": true,
"user": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phone": "+66212658866",
"profilePictureUrl": "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
},
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"version": 3
},
"telephone": "+1 212 555 1212",
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"perkTypes": [
"PERK_FREE_DRINK_VOUCHER",
"PERK_EARLY_CHECKIN"
],
"price": {
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"offerDetails": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"quantity": 2,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"quantity": 1,
"ratePlan": {
"allInclusive": false,
"allInclusivePlusAlcohol": false,
"breakfast": false,
"brunch": false,
"dinner": false,
"lunch": false,
"name": "BAR 1"
},
"room": {
"active": true,
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"bathroomCount": 0,
"bedroomConfigurationList": [
{
"bedroomList": [
{
"bedList": [
{
"bedTypeCode": "1",
"quantity": 2
}
],
"type": "MASTER"
}
],
"identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"name": "Master Suite Layout"
}
],
"bookable": true,
"commissionable": true,
"composite": false,
"compositeCount": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"createdDate": "2026-01-14T09:30:00",
"descriptions": [
{
"creator": "USER",
"description": "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
"language": "en",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
"name": "Deluxe River View Suite"
}
],
"featuredInd": false,
"floor": "3",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"includedAdultOccupancy": 2,
"includedChildOccupancy": 0,
"lastUpdate": "2026-02-03T16:45:12",
"lifestyleType": "LIFESTYLE_HEALTH_FITNESS",
"livingRoomCount": 0,
"location": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "POINT"
},
"maxAdultOccupancy": 1,
"maxChildOccupancy": 0,
"maxCribs": 1,
"maxOccupancy": 2,
"maxRollaways": 0,
"minAgeAppropriateCode": "1",
"minOccupancy": 1,
"multimedias": [
{
"angle": null,
"attribution": [],
"category": "2",
"descriptions": [
{
"description": "Elegant lobby of The Siam Residences",
"language": "en",
"title": "Lobby Entrance"
}
],
"height": 1600,
"identifier": "the-siam-residences/lobby-entrance",
"isLandscape": true,
"lifestyleType": null,
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"published": true,
"sort": 10,
"source": "CLOUDINARY",
"type": "IMAGE",
"width": 2560
}
],
"name": "Archery lesson",
"nonSmoking": true,
"pricePoint": "THREE",
"proximityCode": "1",
"publishStatus": "PUBLISHED",
"quantity": 40,
"recognitionList": [
{
"category": "AWARD",
"date": "2026-01-14",
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"maxRating": 10,
"officialAppointmentInd": true,
"provider": "Michelin",
"rating": 8.5,
"ratingSymbol": "*",
"type": "PERCENT_RATING"
}
],
"roomArchitectureCode": "1",
"roomCategory": "1",
"roomClassificationCode": "1",
"roomGender": "Female",
"roomLocationCode": "1",
"roomViewCode": "1",
"sharedRoomInd": false,
"size": 55,
"socials": [
{
"location": "https://www.instagram.com/thesiamresidences",
"type": "INSTAGRAM"
}
],
"sort": 1,
"version": 3
},
"roomImageUrl": "https://path.to/room-image.jpg",
"roomRateIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"roomRateInternalName": "Master Rate 1",
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"startDate": "2025-12-24",
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"roomTypeAncillaries": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"socials": [
{
"location": "https://www.instagram.com/thesiamresidences",
"type": "INSTAGRAM"
}
],
"spas": [
{
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"city": "Bangkok",
"country": "United States",
"countryCode": "TH",
"county": "Alameda county",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States",
"postalCode": "90210",
"state": "CA"
},
"attendees": 2,
"contact": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
},
"endDate": "2017-12-22T08:07:58.742+0000",
"financialBreakdown": {
"beneficiaryList": [
{
"accountEmail": "[email protected]",
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"displayAmount": 450,
"displayAmountRefundModifier": 45,
"displayCurrency": "USD",
"internalAmount": 450,
"internalAmountRefundModifier": 45,
"internalCurrency": "USD",
"netDisplayAmount": 450,
"netInternalAmount": 450,
"netSourceAmount": 450,
"pendingRefunds": [
{
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45
}
],
"reconciled": false,
"sourceAmount": 450,
"sourceAmountRefundModifier": 45,
"sourceCurrency": "THB"
}
],
"displayPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"internalPriceQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
}
},
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"imageIdentifier": "cloudinary-image-1",
"imageUrl": "https://path.to.image.com/this-is-me.jpg",
"localizedDescription": "place-1",
"localizedName": "Plass 1",
"name": "Thai Massage Spa Treatment",
"price": {
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalChannelModifier": -10,
"internalPremiumModifier": 40,
"internalPromotionalModifier": -40,
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"quantity": 1,
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceChannelModifier": -10,
"sourcePremiumModifier": 40,
"sourcePromotionalModifier": -40,
"sourceToInternalCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceToUserCurrencyQuote": {
"exchangeRate": 33.5,
"source": "USD",
"target": "THB",
"timestamp": 1705233000000
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyChannelModifier": -10,
"userSpecifiedCurrencyPremiumModifier": 40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"pricingType": "PER_USE",
"startDate": "2017-12-22T03:07:58.742+0000",
"transactionalTravelInventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"type": "ADD_ON",
"typeIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
}
],
"statusHistory": [
{
"actor": "stripe-webhook",
"fromStatus": "PENDING",
"reason": "Payment confirmed by Stripe",
"timestamp": "2026-01-15T10:30:00Z",
"toStatus": "CONFIRMED"
}
],
"totalAffiliateAgencyFeesSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"totalPaymentProcessingFeeSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"totalPlatformFeeSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"totalSalesSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"totalSupplierAgencyFeesSourceAmount": {
"amount": 1250,
"currency": "USD"
},
"userSession": {
"currency": "USD",
"itinerary": {
"endDate": "2024-01-02",
"items": [
{
"adults": 2,
"children": [
{
"age": 8,
"quantity": 2
}
]
}
],
"nights": 7,
"startDate": "2024-01-01"
},
"language": "en",
"lifestyle": "LUXURY",
"promotionalCodes": [
"promo-1"
],
"selectedRoomConfigurationIndex": 0
},
"version": 3
}
]

Bad Request — missing or invalid request parameter or body

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Unauthorized — authentication is required or the session has expired

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Forbidden — authenticated but lacking the required permission or scope

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Not Found — the requested resource does not exist

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Unsupported Media Type — use application/json

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Internal Server Error — an unexpected failure occurred on the server

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Service Unavailable — a downstream dependency is unreachable

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example