Skip to content

Sandbox

POST
/api/managing-entity/{managingEntityIdentifier}/extranet/sandbox/booking
curl --request POST \
--url https://api.wink.travel/api/managing-entity/e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18/extranet/sandbox/booking \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "query": { "channel": { "propertyIdentifier": "the-siam-residences", "subType": "HOTEL", "ownerIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "name": "The Siam Residences - Direct Channel" }, "roomConfigurations": [ { "adults": 2, "children": [ { "quantity": 2, "age": 7 } ], "quantity": 1 } ], "city": { "geoNameId": "1609350", "localeCode": "en", "continentCode": "AS", "continentName": "Asia", "countryIsoCode": "TH", "countryName": "Thailand", "cityName": "Bangkok", "timezone": "Asia/Bangkok", "subDivision1Code": "10", "subDivision1Name": "Bangkok", "subDivision2Code": "1001", "subDivision2Name": "Phra Nakhon" }, "country": { "geoNameId": "1609350", "continentCode": "AS", "continentName": "Asia", "countryIsoCode": "TH", "countryName": "Thailand" } }, "room": { "list": [ { "identifier": "travel-blocking-1", "name": "1 hour session", "descriptions": [ { "name": "Deluxe River View Suite", "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", "creator": "USER", "md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82" } ], "price": { "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "userSpecifiedCurrencyBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceBaseTotal": { "amount": 1250, "currency": "USD" }, "internalBaseTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyPromotionalModifier": -40, "sourcePromotionalModifier": -40, "internalPromotionalModifier": -40, "userSpecifiedCurrencyPremiumModifier": 40, "sourcePremiumModifier": 40, "internalPremiumModifier": 40, "userSpecifiedCurrencyChannelModifier": -10, "sourceChannelModifier": -10, "internalChannelModifier": -10, "quantity": 1, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" } }, "multimedias": [ { "multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "identifier": "the-siam-residences/lobby-entrance", "type": "IMAGE", "source": "CLOUDINARY", "sort": 10, "angle": null, "width": 2560, "height": 1600, "published": true, "category": "2", "descriptions": [ { "title": "Lobby Entrance", "description": "Elegant lobby of The Siam Residences", "language": "en" } ], "lifestyleType": null, "attribution": [], "isLandscape": true } ], "minPax": 2, "maxPax": 10, "offerDetails": [ { "description": "This is a longer description in the specified language.", "language": "en", "creator": "USER", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ] } ], "commissionable": false, "commission": 0.1, "direct": true, "ratePlan": { "name": "BAR 1", "breakfast": false, "brunch": false, "lunch": false, "dinner": false, "allInclusive": false, "allInclusivePlusAlcohol": false, "earlyCheckInCharge": { "type": "PERCENTAGE", "percent": 0.25, "fixedAmount": { "amount": 1250, "currency": "USD" } }, "lateCheckOutCharge": { "type": "PERCENTAGE", "percent": 0.25, "fixedAmount": { "amount": 1250, "currency": "USD" } } }, "perkTypes": [ { "identifier": "PERK_GUARANTEED_UPGRADE", "guaranteed": true, "level": 3, "descriptions": [ { "language": "en", "name": "Guaranteed Room Upgrade", "description": "Guaranteed upgrade to the next available room category at check-in" } ], "sort": 5 } ], "price": { "userSpecifiedCurrencyBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceBaseTotal": { "amount": 1250, "currency": "USD" }, "internalBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceExtraPaxModifier": 15, "internalExtraPaxModifier": 15, "userSpecifiedCurrencyExtraPaxModifier": 15, "sourceExtraChildModifier": 15, "internalExtraChildModifier": 15, "userSpecifiedCurrencyExtraChildModifier": 15, "sourceSingleOccupantModifier": -15, "internalSingleOccupantModifier": -15, "userSpecifiedCurrencySingleOccupantModifier": -15, "sourcePromotionalModifier": -40, "internalPromotionalModifier": -40, "userSpecifiedCurrencyPromotionalModifier": -40, "sourcePremiumModifier": 40, "internalPremiumModifier": 40, "userSpecifiedCurrencyPremiumModifier": 40, "sourceChannelModifier": -10, "internalChannelModifier": -10, "userSpecifiedCurrencyChannelModifier": -10, "available": false, "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "offerDetails": [ { "description": "This is a longer description in the specified language.", "language": "en", "creator": "USER", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ], "list": [ { "sourceBaseRate": { "amount": 1250, "currency": "USD" }, "internalBaseRate": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyBaseRate": { "amount": 1250, "currency": "USD" }, "offerDetails": [ { "description": "This is a longer description in the specified language.", "language": "en", "creator": "USER", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ], "rate": { "identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73", "hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18", "rateSource": "TRAVELIKO", "ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73", "guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43", "rate": { "amount": 1250, "currency": "USD" }, "master": true, "closedOnArrival": false, "closedOnDeparture": false, "date": "2020-8-24", "quantity": 9, "minOccupancy": 1, "maxOccupancy": 2, "minLengthOfStay": 4, "maxLengthOfStay": 8, "singleOccupancyRateModifier": { "type": "PERCENTAGE", "percent": 0.25, "fixedAmount": { "amount": 1250, "currency": "USD" } }, "extraPaxRateModifier": { "type": "PERCENTAGE", "percent": 0.25, "fixedAmount": { "amount": 1250, "currency": "USD" } }, "extraChildRateModifier": { "type": "PERCENTAGE", "percent": 0.25, "fixedAmount": { "amount": 1250, "currency": "USD" } } }, "maxAdultOccupancy": 1, "maxChildOccupancy": 0, "includedAdultOccupancy": 2, "includedChildOccupancy": 0, "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "financialBreakdown": { "displayPriceQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "internalPriceQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "beneficiaryList": [ { "accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69", "accountName": "The Siam Residences, Bangkok", "accountEmail": "[email protected]", "accountUrl": "https://trvl.as/the-siam-residences-bangkok", "amountDue": { "percent": 0.05 }, "sourceCurrency": "THB", "displayCurrency": "USD", "internalCurrency": "USD", "sourceAmount": 450, "displayAmount": 450, "internalAmount": 450, "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45, "pendingRefunds": [ { "refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34", "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45 } ], "netSourceAmount": 450, "netDisplayAmount": 450, "netInternalAmount": 450, "reconciled": false } ] }, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" }, "beneficiaryList": [ { "accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69", "accountName": "The Siam Residences, Bangkok", "accountEmail": "[email protected]", "accountUrl": "https://trvl.as/the-siam-residences-bangkok", "amountDue": { "percent": 0.05 }, "sourceCurrency": "THB", "displayCurrency": "USD", "internalCurrency": "USD", "sourceAmount": 450, "displayAmount": 450, "internalAmount": 450, "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45, "pendingRefunds": [ { "refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34", "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45 } ], "netSourceAmount": 450, "netDisplayAmount": 450, "netInternalAmount": 450, "reconciled": false } ], "baseRate": { "amount": 1250, "currency": "USD" }, "sourceRate": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyRate": { "amount": 1250, "currency": "USD" }, "internalRate": { "amount": 1250, "currency": "USD" } } ], "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" }, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "financialBreakdown": { "displayPriceQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "internalPriceQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "beneficiaryList": [ { "accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69", "accountName": "The Siam Residences, Bangkok", "accountEmail": "[email protected]", "accountUrl": "https://trvl.as/the-siam-residences-bangkok", "amountDue": { "percent": 0.05 }, "sourceCurrency": "THB", "displayCurrency": "USD", "internalCurrency": "USD", "sourceAmount": 450, "displayAmount": 450, "internalAmount": 450, "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45, "pendingRefunds": [ { "refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34", "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45 } ], "netSourceAmount": 450, "netDisplayAmount": 450, "netInternalAmount": 450, "reconciled": false } ] }, "beneficiaryList": [ { "accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69", "accountName": "The Siam Residences, Bangkok", "accountEmail": "[email protected]", "accountUrl": "https://trvl.as/the-siam-residences-bangkok", "amountDue": { "percent": 0.05 }, "sourceCurrency": "THB", "displayCurrency": "USD", "internalCurrency": "USD", "sourceAmount": 450, "displayAmount": 450, "internalAmount": 450, "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45, "pendingRefunds": [ { "refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34", "sourceAmountRefundModifier": 45, "displayAmountRefundModifier": 45, "internalAmountRefundModifier": 45 } ], "netSourceAmount": 450, "netDisplayAmount": 450, "netInternalAmount": 450, "reconciled": false } ], "userSpecifiedCurrencyAveragePricePerNight": { "amount": 1250, "currency": "USD" }, "internalAveragePricePerNight": { "amount": 1250, "currency": "USD" }, "sourceAveragePricePerNight": { "amount": 1250, "currency": "USD" } }, "extraCharges": { "items": [ { "ratePlanLevelFee": { "descriptions": [ { "description": "This is a longer description in the specified language.", "language": "en", "creator": "USER", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ], "fixedAmount": 450, "type": "PER_DAY" }, "unitPrice": { "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "userSpecifiedCurrencyBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceBaseTotal": { "amount": 1250, "currency": "USD" }, "internalBaseTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyPromotionalModifier": -40, "sourcePromotionalModifier": -40, "internalPromotionalModifier": -40, "userSpecifiedCurrencyPremiumModifier": 40, "sourcePremiumModifier": 40, "internalPremiumModifier": 40, "userSpecifiedCurrencyChannelModifier": -10, "sourceChannelModifier": -10, "internalChannelModifier": -10, "quantity": 1, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" } }, "price": { "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "userSpecifiedCurrencyBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceBaseTotal": { "amount": 1250, "currency": "USD" }, "internalBaseTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyPromotionalModifier": -40, "sourcePromotionalModifier": -40, "internalPromotionalModifier": -40, "userSpecifiedCurrencyPremiumModifier": 40, "sourcePremiumModifier": 40, "internalPremiumModifier": 40, "userSpecifiedCurrencyChannelModifier": -10, "sourceChannelModifier": -10, "internalChannelModifier": -10, "quantity": 1, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" } } } ], "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" }, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" } }, "configuration": { "adults": 2, "children": [ { "quantity": 2, "age": 7 } ], "quantity": 1 }, "addOnOffers": [ { "addOn": { "identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29", "hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18", "featuredInd": false, "lifestyleType": "LIFESTYLE_HEALTH_FITNESS", "location": { "type": "POINT", "coordinates": [ 100.5581533, 13.7370197 ] }, "descriptions": [ { "name": "Deluxe River View Suite", "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", "creator": "USER", "md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82" } ], "multimedias": [ { "multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "identifier": "the-siam-residences/lobby-entrance", "type": "IMAGE", "source": "CLOUDINARY", "sort": 10, "angle": null, "width": 2560, "height": 1600, "published": true, "category": "2", "descriptions": [ { "title": "Lobby Entrance", "description": "Elegant lobby of The Siam Residences", "language": "en" } ], "lifestyleType": null, "attribution": [], "isLandscape": true } ], "contact": { "firstName": "Alexandra", "lastName": "Beaumont", "email": "[email protected]", "secondaryEmail": "[email protected]", "phoneNumber": "+12125551212", "fullName": "Alexandra Beaumont", "summary": "John Smith ([email protected] / +12125551212)" }, "address": { "address1": "234 Near da beach", "address2": "Pebble #5001", "state": "CA", "postalCode": "90210", "county": "Alameda county", "city": "Bangkok", "countryCode": "TH", "country": "United States", "fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States" }, "commissionable": true, "name": "Archery lesson", "proximityCode": "1", "sort": 1, "minAgeAppropriateCode": "1", "bookable": true, "active": true, "socials": [ { "type": "INSTAGRAM", "location": "https://www.instagram.com/thesiamresidences" } ], "pricePoint": "THREE", "recognitionList": [ { "identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "category": "AWARD", "type": "PERCENT_RATING", "provider": "Michelin", "rating": 8.5, "maxRating": 10, "date": "2026-01-14", "officialAppointmentInd": true, "ratingSymbol": "*" } ], "transactionalInventoryList": [ { "identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "name": "1 hour session", "descriptions": [ { "name": "Deluxe River View Suite", "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", "creator": "USER", "md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82" } ], "pricingType": "PER_NIGHT", "basePrice": { "amount": 1250, "currency": "USD" }, "discountedPrice": { "amount": 1250, "currency": "USD" }, "multimedias": [ { "multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "identifier": "the-siam-residences/lobby-entrance", "type": "IMAGE", "source": "CLOUDINARY", "sort": 10, "angle": null, "width": 2560, "height": 1600, "published": true, "category": "2", "descriptions": [ { "title": "Lobby Entrance", "description": "Elegant lobby of The Siam Residences", "language": "en" } ], "lifestyleType": null, "attribution": [], "isLandscape": true } ], "minPax": 2, "maxPax": 10, "percentDiscount": 0.1, "percentPremium": 0.1 } ], "applicableStart": "1970-1-1", "applicableEnd": "1970-12-1", "reservationRequiredInd": false, "opens": "09:00", "closes": "17:30", "daysOfWeek": { "mon": true, "tue": true, "wed": true, "thu": true, "fri": true, "sat": true, "sun": true, "disabled": true }, "numberOfUnits": 15, "mandatory": true, "ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73" }, "priceList": [ { "identifier": "travel-blocking-1", "name": "1 hour session", "descriptions": [ { "name": "Deluxe River View Suite", "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", "creator": "USER", "md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82" } ], "price": { "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "userSpecifiedCurrencyBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceBaseTotal": { "amount": 1250, "currency": "USD" }, "internalBaseTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyPromotionalModifier": -40, "sourcePromotionalModifier": -40, "internalPromotionalModifier": -40, "userSpecifiedCurrencyPremiumModifier": 40, "sourcePremiumModifier": 40, "internalPremiumModifier": 40, "userSpecifiedCurrencyChannelModifier": -10, "sourceChannelModifier": -10, "internalChannelModifier": -10, "quantity": 1, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" } }, "multimedias": [ { "multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "identifier": "the-siam-residences/lobby-entrance", "type": "IMAGE", "source": "CLOUDINARY", "sort": 10, "angle": null, "width": 2560, "height": 1600, "published": true, "category": "2", "descriptions": [ { "title": "Lobby Entrance", "description": "Elegant lobby of The Siam Residences", "language": "en" } ], "lifestyleType": null, "attribution": [], "isLandscape": true } ], "minPax": 2, "maxPax": 10, "offerDetails": [ { "description": "This is a longer description in the specified language.", "language": "en", "creator": "USER", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ] } ], "commissionable": false, "commission": 0.1, "direct": true } ], "activeCancellationPolicy": { "identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47", "hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18", "refundable": false, "advanceCancellationFreeOfCharge": "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "refundableCancellationCharge": "FIFTY_PERCENT", "noShowCharge": "SAME_AS_CANCELLATION_FEE", "nonRefundableCancellationCharge": "SEVENTY_PERCENT", "nonRefundableDeadline": "SEVEN_DAYS_BEFORE_ARRIVAL", "nonRefundableAfterDeadlineCancellationCharge": "ONE_HUNDRED_PERCENT" }, "priceList": [ { "identifier": "travel-blocking-1", "name": "1 hour session", "descriptions": [ { "name": "Deluxe River View Suite", "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", "creator": "USER", "md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82" } ], "price": { "sourceToUserCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "sourceToInternalCurrencyQuote": { "source": "USD", "target": "THB", "exchangeRate": 33.5, "timestamp": 1705233000000 }, "userSpecifiedCurrencyBaseTotal": { "amount": 1250, "currency": "USD" }, "sourceBaseTotal": { "amount": 1250, "currency": "USD" }, "internalBaseTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyPromotionalModifier": -40, "sourcePromotionalModifier": -40, "internalPromotionalModifier": -40, "userSpecifiedCurrencyPremiumModifier": 40, "sourcePremiumModifier": 40, "internalPremiumModifier": 40, "userSpecifiedCurrencyChannelModifier": -10, "sourceChannelModifier": -10, "internalChannelModifier": -10, "quantity": 1, "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" } }, "multimedias": [ { "multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "identifier": "the-siam-residences/lobby-entrance", "type": "IMAGE", "source": "CLOUDINARY", "sort": 10, "angle": null, "width": 2560, "height": 1600, "published": true, "category": "2", "descriptions": [ { "title": "Lobby Entrance", "description": "Elegant lobby of The Siam Residences", "language": "en" } ], "lifestyleType": null, "attribution": [], "isLandscape": true } ], "minPax": 2, "maxPax": 10, "offerDetails": [ { "description": "This is a longer description in the specified language.", "language": "en", "creator": "USER", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ] } ], "sourceTotal": { "amount": 1250, "currency": "USD" }, "internalTotal": { "amount": 1250, "currency": "USD" }, "userSpecifiedCurrencyTotal": { "amount": 1250, "currency": "USD" } }, "notification": { "notifyProperty": false, "notifyChannelManager": false, "notifyBooker": false, "booker": { "userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84", "firstName": "Alexandra", "lastName": "Beaumont", "email": "[email protected]", "telephone": "+1 212 555 1212", "fullName": "Alexandra Beaumont" } } }'

Runs a sandbox booking so the property can verify a sales channel returns the expected rates and availability.

managingEntityIdentifier
required
string
""

Create test booking for property with this identifier

Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Sandbox booking details including the channel inventory identifier, occupancy, check-in/check-out dates and optional IP number for geo-pricing

Media type application/json
object
query
required

Query object that was used to generate the room property

object
channel
required

Channel owner of inventory

object
propertyIdentifier
required
string
>= 1 characters
subType
required

Type of entity that manages, facilitates, or administers properties, bookings, or payments on the Wink Platform

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
ownerIdentifier
string
name
required
string
>= 1 characters
Example
{
"propertyIdentifier": "the-siam-residences",
"subType": "HOTEL",
"ownerIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "The Siam Residences - Direct Channel"
}
stayStartDate
required

Arrival date

string format: date
""
stayEndDate
required

Departure date

string format: date
""
roomConfigurations
required
Array<object>
>= 1 items

Desired room configuration

object
adults
required

Number of adult guests in this room type

integer format: int32
default: 1 >= 1
Example
2
children

Child guests in this room, with age groups

Array<object>

Child guest with age and quantity in a room configuration

object
quantity
required

Count of children of this age group in the room

integer format: int32
"" >= 1
Example
2
age
required

Age of each child in this group (years)

integer format: int32
""
Example
7
Example
{
"quantity": 2,
"age": 7
}
quantity

Number of identical rooms with this configuration

integer format: int32
default: 1 >= 1
Example
1
Example
{
"adults": 2,
"children": [
{
"quantity": 2,
"age": 7
}
],
"quantity": 1
}
currency
required

Display currency

string
"" >= 1 characters
bookingDate

The booking start date

string format: date
""
sellStartDate

The sell start date

string format: date
""
sellEndDate

The sell end date

string format: date
""
promotion

A promo code

string
""
city

A booker coming from a specific city

object
geoNameId
required

GeoNameLightweight identifiers taken from https://geonames.org.

string
"" >= 1 characters
Example
8798734
localeCode
required

Locale code

string
"" >= 1 characters /^[a-z]{2}(-[A-Z]{2})?$/
Example
en
continentCode
required

Continent code

string
"" >= 1 characters
Example
NA
continentName
required

Continent name

string
"" >= 1 characters
Example
North America
countryIsoCode
required

Country ISO code

string
"" >= 1 characters /^[A-Z]{2}$/
Example
US
countryName
required

Country name

string
"" >= 1 characters
Example
United States
cityName
required

City name

string
"" >= 1 characters
Example
New York
timezone
required

Timezone

string
"" >= 1 characters
Example
America/New_York
subDivision1Code

Sub-division 1 code

string
""
Example
NY
subDivision1Name

Sub-division 1 name

string
""
Example
NY
subDivision2Code

Sub-division 2 code

string
""
Example
Kings
subDivision2Name

Sub-division 2 name

string
""
Example
Kings County
Example
{
"geoNameId": "1609350",
"localeCode": "en",
"continentCode": "AS",
"continentName": "Asia",
"countryIsoCode": "TH",
"countryName": "Thailand",
"cityName": "Bangkok",
"timezone": "Asia/Bangkok",
"subDivision1Code": "10",
"subDivision1Name": "Bangkok",
"subDivision2Code": "1001",
"subDivision2Name": "Phra Nakhon"
}
country

A booker coming from a specific country

object
geoNameId

GeoNames identifier

string
""
Example
1609350
continentCode

Continent code (two-letter ISO)

string
""
Example
AS
continentName

Continent name

string
""
Example
Asia
countryIsoCode

Country ISO 3166-1 alpha-2 code

string
"" /^[A-Z]{2}$/
Example
TH
countryName

Country name

string
""
Example
Thailand
Example
{
"geoNameId": "1609350",
"continentCode": "AS",
"continentName": "Asia",
"countryIsoCode": "TH",
"countryName": "Thailand"
}
continent

A booker coming from a specific continent

string
""
ipNumber

A booker coming from a specific IP number

string
""
timezone

A booker coming from a specific timezone

string
""
latitude

A booker coming from a specific latitude

number format: double
""
longitude

A booker coming from a specific longitude

number format: double
""
Example
{
"channel": {
"propertyIdentifier": "the-siam-residences",
"subType": "HOTEL",
"ownerIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "The Siam Residences - Direct Channel"
},
"roomConfigurations": [
{
"adults": 2,
"children": [
{
"quantity": 2,
"age": 7
}
],
"quantity": 1
}
],
"city": {
"geoNameId": "1609350",
"localeCode": "en",
"continentCode": "AS",
"continentName": "Asia",
"countryIsoCode": "TH",
"countryName": "Thailand",
"cityName": "Bangkok",
"timezone": "Asia/Bangkok",
"subDivision1Code": "10",
"subDivision1Name": "Bangkok",
"subDivision2Code": "1001",
"subDivision2Name": "Phra Nakhon"
},
"country": {
"geoNameId": "1609350",
"continentCode": "AS",
"continentName": "Asia",
"countryIsoCode": "TH",
"countryName": "Thailand"
}
}
room
required

The room we want to book

object
channelInventoryIdentifier
required

Sales channel inventory identifier

string
""
list
Array<object>

This is one localized bookable item that can stand alongside a restaurant / meeting room etc.

object
identifier
required

Unique transactional identifier

string format: uuid
"" >= 1 characters
Example
travel-blocking-1
name
required

Internal name of transactional blocking.

string
"" >= 1 characters
Example
1 hour session
descriptions
required

Localized descriptions describing inventory.

Array<object>
>= 1 items <= 2147483647 items

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

object
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
pricingType
required

How this blocking item should be priced.

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
price
required

Localized price

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
Example
-40
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
Example
-40
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
Example
-40
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
Example
40
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
Example
40
internalPremiumModifier

Premium modifiers in wink currency

number
""
Example
40
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
Example
-10
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
Example
-10
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
Example
-10
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
multimedias
required

List of images / videos of item.

Array<object>

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
Example
IMAGE
source
required

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
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
Example
10
angle

Media angle

string
""
Example
-90
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
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
Example
true
category

Supported OTA specification PIC code. See OTA geoname data

string
""
Example
1
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
Example
LIFESTYLE_HEALTH_FITNESS
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
Example
{
"url": "https://maps.google.com/maps/contrib/111628493169070103594",
"name": "Samuel Adams"
}
isLandscape

True if media width is greater or equal to height

boolean
Example
true
Example
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
minPax

Whether there is a limit to minimum group size.

integer format: int32
""
Example
2
maxPax

Whether there is a limit to maximum group size.

integer format: int32
""
Example
10
offerDetails

Localized offer details if rate plan discount applies.

Array<object>
""

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
promotion

If a package is linked to a rate plan the user could be entitled to a promotional discount if she enters a code. When this field is populated, it means the discount was applied to the package.

string
""
Example
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
commissionable
required

Whether this package is commissionable based on the incoming sales channel.

boolean
commission
required

The commission percentage.

number format: float
""
Example
0.1
direct
required

Indicates whether the blocking from sales channel is direct or not. If you are a travel agent doing your own acquiring, this flag has to be true to make a booking.

boolean
Example
true
adults
required

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

integer format: int32
""
children

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

integer format: int32
""
startDate
required

SimpleDateTimeItinerary startDate

string format: date
""
endDate
required

SimpleDateTimeItinerary endDate

string format: date
""
roomRateIdentifier
required

Specified master rate identifier

string
""
roomRateInternalName
required

Specified master rate internal name

string
""
ratePlan
required

Specified rate plan

object
identifier
required

Rate plan identifier

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

Provides the name of the rate plan.

string
"" >= 1 characters
Example
BAR 1
breakfast
required

When true, indicates breakfast is included.

boolean
Example
false
brunch
required

When true, indicates brunch is included.

boolean
Example
false
lunch
required

When true, indicates lunch is included.

boolean
Example
false
dinner
required

When true, indicates dinner is included.

boolean
Example
false
allInclusive
required

Everything included except alcohol

boolean
Example
false
allInclusivePlusAlcohol
required

Everything included with alcohol

boolean
Example
false
earlyCheckInCharge
object
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
Example
0.25
fixedAmount

A localized amount

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
lateCheckOutCharge
object
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
Example
0.25
fixedAmount

A localized amount

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
Example
{
"name": "BAR 1",
"breakfast": false,
"brunch": false,
"lunch": false,
"dinner": false,
"allInclusive": false,
"allInclusivePlusAlcohol": false,
"earlyCheckInCharge": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"lateCheckOutCharge": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
}
perkTypes
Array<object>

Perks that accompany the master rate

object
identifier
required

Unique enum-like string identifier for this perk (e.g., PERK_GUARANTEED_UPGRADE). Enables backwards compatibility by persisting the identifier rather than relying on ordinal position.

string
"" >= 1 characters
Example
PERK_GUARANTEED_UPGRADE
guaranteed
required

Whether this perk is guaranteed to be provided or available on a best-effort basis. Guaranteed perks take priority in allocation.

boolean
Example
true
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
""
Example
3
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
""
Example
5
Example
{
"identifier": "PERK_GUARANTEED_UPGRADE",
"guaranteed": true,
"level": 3,
"descriptions": [
{
"language": "en",
"name": "Guaranteed Room Upgrade",
"description": "Guaranteed upgrade to the next available room category at check-in"
}
],
"sort": 5
}
price
required

Calculated price

object
userSpecifiedCurrencyBaseTotal

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceBaseTotal

Base total in hotel’s currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseTotal

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceExtraPaxModifier

Extra person modifier in hotel currency.

number
""
Example
15
internalExtraPaxModifier

Extra person modifier in wink currency

number
""
Example
15
userSpecifiedCurrencyExtraPaxModifier

Extra person modifier in user specified currency

number
""
Example
15
sourceExtraChildModifier

Extra child modifier in hotel currency

number
""
Example
15
internalExtraChildModifier

Extra child modifier in wink currency

number
""
Example
15
userSpecifiedCurrencyExtraChildModifier

Extra child modifier in user specified currcency

number
""
Example
15
sourceSingleOccupantModifier

Single occupant modifier in hotel currency

number
""
Example
-15
internalSingleOccupantModifier

Singe occupant modifier in wink currency

number
""
Example
-15
userSpecifiedCurrencySingleOccupantModifier

Single occupant modifier in user specified currency

number
""
Example
-15
sourcePromotionalModifier

Rate discount modifiers in hotel currency

number
""
Example
-40
internalPromotionalModifier

Rate discount modifiers in wink currency

number
""
Example
-40
userSpecifiedCurrencyPromotionalModifier

Rate discount modifiers in user specified currency

number
""
Example
-40
sourcePremiumModifier

Rate premiums modifiers in hotel currency

number
""
Example
40
internalPremiumModifier

Rate premiums modifiers in wink currency

number
""
Example
40
userSpecifiedCurrencyPremiumModifier

Rate premiums modifiers in user specified currency

number
""
Example
40
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
Example
-10
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
Example
-10
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
Example
-10
quantity

Quantity

integer format: int32
""
minOccupancy

Minimum occupancy

integer format: int32
""
maxOccupancy

Maximum occupancy

integer format: int32
""
rateSource

Source

string
""
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Chanel discount percent

number
""
premiumPercent

Premium percent

number
""
available

Available

boolean
sourceToUserCurrencyQuote

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
offerDetails

Localized text of the discount

Array<object>

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
promotionalCodes

Promotional codes

Array<string>
list
Array<object>
object
sourceBaseRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyBaseRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceExtraPaxModifier
number
internalExtraPaxModifier
number
userSpecifiedCurrencyExtraPaxModifier
number
sourceExtraChildModifier
number
internalExtraChildModifier
number
userSpecifiedCurrencyExtraChildModifier
number
sourceSingleOccupantModifier
number
internalSingleOccupantModifier
number
userSpecifiedCurrencySingleOccupantModifier
number
sourcePromotionalModifier
number
internalPromotionalModifier
number
userSpecifiedCurrencyPromotionalModifier
number
sourcePremiumModifier
number
internalPremiumModifier
number
userSpecifiedCurrencyPremiumModifier
number
sourceChannelModifier
number
internalChannelModifier
number
userSpecifiedCurrencyChannelModifier
number
available
boolean
isStartDate
boolean
isEndDate
boolean
isBetweenDate
boolean
isLastNight
boolean
offerDetails
Array<object>

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
hasModification
boolean
isBundledModifier
boolean
hasChannelDiscount
boolean
channelDiscountPercent
number
promotionalDiscountPercent
number
premiumPercent
number
promotion
string
adults
integer format: int32
children
integer format: int32
rate
required
object
identifier
required

Unique record identifier.

string
"" >= 1 characters
Example
5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73
hotelIdentifier
required

Owner of daily rate.

string format: uuid
"" >= 1 characters
Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
rateSource
required

Indicate where this rate originated from. Leave as TRAVELIKO unless you are a channel manager and responsible for the property’s rates externally of this platform.

string
default: TRAVELIKO >= 1 characters
Example
TRAVELIKO
ratePlanIdentifier
required

Rate plan associated with this daily rate.

string format: uuid
"" >= 1 characters
Example
5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73
guestRoomIdentifier
required

Guest room associated with this daily rate.

string format: uuid
"" >= 1 characters
Example
6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43
rate
required

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
master
required

This flag indicates whether this rate is available for this date.

boolean
default: true
Example
true
closedOnArrival
required

This flag indicates whether a guest can arrive at the property on this date.

boolean
Example
false
closedOnDeparture
required

This flag indicates whether a guest can leave the property on this date.

boolean
Example
false
date
required

The date this rate is applicable for.

string format: date
""
Example
2020-8-24
quantity

Amount of rooms available for this date.

integer format: int32
0
Example
9
minOccupancy
required

Minimum number of guests allowed in a room type.

integer format: int32
default: 1 >= 1
Example
1
maxOccupancy
required

Maximum number of guest allowed in a room type.

integer format: int32
default: 2 >= 1
Example
2
minLengthOfStay

Control the minimum length of stay at the day-level. This means that a guest arriving within this date range is required to stay at least these number of days in order to get this rate. Leave empty if you don’t want to update this property.

integer format: int32
default: -1
Example
4
maxLengthOfStay

Control the maximum length of stay at the day-level. This means that a guest arriving within this date range is required to stay no longer than these number of days in order to get this rate. Leave empty if you don’t want to update this property.

integer format: int32
default: -1
Example
8
singleOccupancyRateModifier
object
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
Example
0.25
fixedAmount

A localized amount

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
extraPaxRateModifier
object
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
Example
0.25
fixedAmount

A localized amount

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
extraChildRateModifier
object
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
Example
0.25
fixedAmount

A localized amount

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
Example
{
"identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"rateSource": "TRAVELIKO",
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"rate": {
"amount": 1250,
"currency": "USD"
},
"master": true,
"closedOnArrival": false,
"closedOnDeparture": false,
"date": "2020-8-24",
"quantity": 9,
"minOccupancy": 1,
"maxOccupancy": 2,
"minLengthOfStay": 4,
"maxLengthOfStay": 8,
"singleOccupancyRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraPaxRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraChildRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
}
maxAdultOccupancy
required

Maximum number of adults allowed in a room type.

integer format: int32
default: 2 >= 1
Example
1
maxChildOccupancy
required

Maximum number of children allowed in a room type.

integer format: int32
0
Example
0
includedAdultOccupancy
required

The number of pax the room price was meant for

integer format: int32
default: 2
Example
2
includedChildOccupancy
required

The number of children the room price was meant for

integer format: int32
0
Example
0
sourceToUserCurrencyQuote
required

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote
required

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
phantom
required
boolean
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
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
accountIdentifier
required

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

string
"" >= 1 characters
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
accountName
required

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

string
"" >= 1 characters
Example
The Siam Residences, Bangkok
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
Example
https://trvl.as/the-siam-residences-bangkok
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
amountDue

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

object
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
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
""
Example
0.05
Example
{
"percent": 0.05
}
sourceCurrency
required

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

string
"" >= 1 characters
Example
THB
displayCurrency
required

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

string
"" >= 1 characters
Example
USD
internalCurrency
required

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

string
"" >= 1 characters
Example
USD
sourceAmount
required

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

number
""
Example
450
displayAmount
required

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

number
""
Example
450
internalAmount
required

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

number
""
Example
450
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
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
refundIdentifier
required

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

string
"" >= 1 characters
Example
ref-d5b8a3c2-9e6f-4a1b-8d34
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
Example
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
Example
450
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
Example
450
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
Example
450
reconciled

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

boolean
Example
false
metadata

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

object
key
additional properties
string
Example
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
Example
{
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
}
sourceTotal

Final per-night rate in hotel currency (base + modifiers). Computed at instantiation.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalTotal

Final per-night rate in wink currency (base + modifiers). Computed at instantiation.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyTotal

Final per-night rate in user specified currency (base + modifiers). Computed at instantiation.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
date
string format: date
endDate
boolean
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
accountIdentifier
required

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

string
"" >= 1 characters
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
accountName
required

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

string
"" >= 1 characters
Example
The Siam Residences, Bangkok
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
Example
https://trvl.as/the-siam-residences-bangkok
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
amountDue

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

object
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
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
""
Example
0.05
Example
{
"percent": 0.05
}
sourceCurrency
required

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

string
"" >= 1 characters
Example
THB
displayCurrency
required

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

string
"" >= 1 characters
Example
USD
internalCurrency
required

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

string
"" >= 1 characters
Example
USD
sourceAmount
required

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

number
""
Example
450
displayAmount
required

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

number
""
Example
450
internalAmount
required

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

number
""
Example
450
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
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
refundIdentifier
required

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

string
"" >= 1 characters
Example
ref-d5b8a3c2-9e6f-4a1b-8d34
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
Example
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
Example
450
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
Example
450
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
Example
450
reconciled

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

boolean
Example
false
metadata

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

object
key
additional properties
string
Example
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
closeOnDeparture
boolean
inventoryAvailable
boolean
masterAvailability
boolean
closeOnArrival
boolean
startDate
boolean
lastNight
boolean
rateIdentifier
string
maxOccupancy
integer format: int32
minOccupancy
integer format: int32
source
string
baseRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalRate

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
minLOS
integer format: int32
maxLOS
integer format: int32
betweenDate
boolean
bundledModifier
boolean
totalDiscountPercent
number
quantity
integer format: int32
Example
{
"sourceBaseRate": {
"amount": 1250,
"currency": "USD"
},
"internalBaseRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseRate": {
"amount": 1250,
"currency": "USD"
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"rate": {
"identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"rateSource": "TRAVELIKO",
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"rate": {
"amount": 1250,
"currency": "USD"
},
"master": true,
"closedOnArrival": false,
"closedOnDeparture": false,
"date": "2020-8-24",
"quantity": 9,
"minOccupancy": 1,
"maxOccupancy": 2,
"minLengthOfStay": 4,
"maxLengthOfStay": 8,
"singleOccupancyRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraPaxRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraChildRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
},
"maxAdultOccupancy": 1,
"maxChildOccupancy": 0,
"includedAdultOccupancy": 2,
"includedChildOccupancy": 0,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"baseRate": {
"amount": 1250,
"currency": "USD"
},
"sourceRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyRate": {
"amount": 1250,
"currency": "USD"
},
"internalRate": {
"amount": 1250,
"currency": "USD"
}
}
userSpecifiedCurrencyTotal

User-defined currency final price.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceTotal

Source currency final price.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalTotal

Internal currency final price.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
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
accountIdentifier
required

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

string
"" >= 1 characters
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
accountName
required

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

string
"" >= 1 characters
Example
The Siam Residences, Bangkok
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
Example
https://trvl.as/the-siam-residences-bangkok
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
amountDue

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

object
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
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
""
Example
0.05
Example
{
"percent": 0.05
}
sourceCurrency
required

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

string
"" >= 1 characters
Example
THB
displayCurrency
required

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

string
"" >= 1 characters
Example
USD
internalCurrency
required

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

string
"" >= 1 characters
Example
USD
sourceAmount
required

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

number
""
Example
450
displayAmount
required

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

number
""
Example
450
internalAmount
required

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

number
""
Example
450
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
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
refundIdentifier
required

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

string
"" >= 1 characters
Example
ref-d5b8a3c2-9e6f-4a1b-8d34
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
Example
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
Example
450
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
Example
450
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
Example
450
reconciled

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

boolean
Example
false
metadata

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

object
key
additional properties
string
Example
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
Example
{
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
}
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
accountIdentifier
required

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

string
"" >= 1 characters
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
accountName
required

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

string
"" >= 1 characters
Example
The Siam Residences, Bangkok
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
Example
https://trvl.as/the-siam-residences-bangkok
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
amountDue

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

object
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
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
""
Example
0.05
Example
{
"percent": 0.05
}
sourceCurrency
required

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

string
"" >= 1 characters
Example
THB
displayCurrency
required

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

string
"" >= 1 characters
Example
USD
internalCurrency
required

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

string
"" >= 1 characters
Example
USD
sourceAmount
required

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

number
""
Example
450
displayAmount
required

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

number
""
Example
450
internalAmount
required

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

number
""
Example
450
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
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
refundIdentifier
required

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

string
"" >= 1 characters
Example
ref-d5b8a3c2-9e6f-4a1b-8d34
sourceAmountRefundModifier
required

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

number
""
Example
45
displayAmountRefundModifier
required

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

number
""
Example
45
internalAmountRefundModifier
required

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

number
""
Example
45
Example
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
Example
450
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
Example
450
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
Example
450
reconciled

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

boolean
Example
false
metadata

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

object
key
additional properties
string
Example
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
userSpecifiedCurrencyAveragePricePerNight

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalAveragePricePerNight

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceAveragePricePerNight

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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
totalDiscountPercent
number
Example
{
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceExtraPaxModifier": 15,
"internalExtraPaxModifier": 15,
"userSpecifiedCurrencyExtraPaxModifier": 15,
"sourceExtraChildModifier": 15,
"internalExtraChildModifier": 15,
"userSpecifiedCurrencyExtraChildModifier": 15,
"sourceSingleOccupantModifier": -15,
"internalSingleOccupantModifier": -15,
"userSpecifiedCurrencySingleOccupantModifier": -15,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"userSpecifiedCurrencyChannelModifier": -10,
"available": false,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"list": [
{
"sourceBaseRate": {
"amount": 1250,
"currency": "USD"
},
"internalBaseRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseRate": {
"amount": 1250,
"currency": "USD"
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"rate": {
"identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"rateSource": "TRAVELIKO",
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"rate": {
"amount": 1250,
"currency": "USD"
},
"master": true,
"closedOnArrival": false,
"closedOnDeparture": false,
"date": "2020-8-24",
"quantity": 9,
"minOccupancy": 1,
"maxOccupancy": 2,
"minLengthOfStay": 4,
"maxLengthOfStay": 8,
"singleOccupancyRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraPaxRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraChildRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
},
"maxAdultOccupancy": 1,
"maxChildOccupancy": 0,
"includedAdultOccupancy": 2,
"includedChildOccupancy": 0,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"baseRate": {
"amount": 1250,
"currency": "USD"
},
"sourceRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyRate": {
"amount": 1250,
"currency": "USD"
},
"internalRate": {
"amount": 1250,
"currency": "USD"
}
}
],
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"userSpecifiedCurrencyAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
},
"internalAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
},
"sourceAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
}
}
extraCharges

Per rate plan level extra charges with localized prices

object
items
Items

List of extra charges that applies to the rate plan.

Array<object>
""
object
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
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
fixedAmount
required

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

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
Example
PER_DAY
Example
{
"descriptions": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
}
unitPrice

The localized unit price of the extra charge

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
Example
-40
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
Example
-40
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
Example
-40
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
Example
40
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
Example
40
internalPremiumModifier

Premium modifiers in wink currency

number
""
Example
40
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
Example
-10
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
Example
-10
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
Example
-10
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
price

The localized price of the extra charge

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
Example
-40
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
Example
-40
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
Example
-40
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
Example
40
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
Example
40
internalPremiumModifier

Premium modifiers in wink currency

number
""
Example
40
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
Example
-10
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
Example
-10
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
Example
-10
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
Example
{
"ratePlanLevelFee": {
"descriptions": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
},
"unitPrice": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"items": [
{
"ratePlanLevelFee": {
"descriptions": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
},
"unitPrice": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
}
],
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
}
}
configuration
required

The selected room configuration that created this record

object
adults
required

Number of adult guests in this room type

integer format: int32
default: 1 >= 1
Example
2
children

Child guests in this room, with age groups

Array<object>

Child guest with age and quantity in a room configuration

object
quantity
required

Count of children of this age group in the room

integer format: int32
"" >= 1
Example
2
age
required

Age of each child in this group (years)

integer format: int32
""
Example
7
Example
{
"quantity": 2,
"age": 7
}
quantity

Number of identical rooms with this configuration

integer format: int32
default: 1 >= 1
Example
1
Example
{
"adults": 2,
"children": [
{
"quantity": 2,
"age": 7
}
],
"quantity": 1
}
addOnOffers
Array<object>

Add-ons that are available with this room configuration

object
addOn
required

The original add-on record created by the property.

object
identifier
required

Unique record identifier

string format: uuid
"" >= 1 characters
Example
8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29
hotelIdentifier
required

Hotel identifier.

string format: uuid
"" >= 1 characters
Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
featuredInd
required

Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.

boolean
Example
false
lifestyleType

Indicate the type of lifestyle this blocking 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
Example
LIFESTYLE_HEALTH_FITNESS
location
required

Geo-location point where blocking takes place. Defaults to location of property.

object
x
number format: double
y
number format: double
type
string
coordinates
Array<number>
Example
{
"type": "POINT",
"coordinates": [
100.5581533,
13.7370197
]
}
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
multimedias
required

List of images / videos of blocking.

Array<object>
>= 1 items

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
Example
IMAGE
source
required

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
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
Example
10
angle

Media angle

string
""
Example
-90
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
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
Example
true
category

Supported OTA specification PIC code. See OTA geoname data

string
""
Example
1
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
Example
LIFESTYLE_HEALTH_FITNESS
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
Example
{
"url": "https://maps.google.com/maps/contrib/111628493169070103594",
"name": "Samuel Adams"
}
isLandscape

True if media width is greater or equal to height

boolean
Example
true
Example
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
contact
required

Associate a contact person for this blocking (if applicable).

object
firstName

Contact first name

string
""
Example
Alexandra
lastName

Contact last name

string
""
Example
Beaumont
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
Example
Alexandra Beaumont
summary

Summary

string
""
Example
John Smith ([email protected] / +12125551212)
Example
{
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"secondaryEmail": "[email protected]",
"phoneNumber": "+12125551212",
"fullName": "Alexandra Beaumont",
"summary": "John Smith ([email protected] / +12125551212)"
}
address
required

Defaults to property address.

object
address1

Address line 1

string
""
Example
234 Near da beach
address2

Address line 2

string
""
Example
Pebble #5001
state

State

string
""
Example
CA
postalCode

Postal / zip code

string
""
Example
90210
county

County

string
""
Example
Alameda county
city

City name

string
""
Example
Bangkok
countryCode

Country

string
"" /^[A-Z]{2}$/
Example
TH
country

Country

string
""
Example
United States
fullAddress

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

string
""
Example
11 At home, Suite 3C, New York City, NY 10010, United States
Example
{
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"state": "CA",
"postalCode": "90210",
"county": "Alameda county",
"city": "Bangkok",
"countryCode": "TH",
"country": "United States",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States"
}
commissionable
required

Indicate whether sales channels receive commission for selling this blocking.

boolean
default: true
Example
true
name
required

Internal name of inventory.

string
"" >= 1 characters
Example
Archery lesson
proximityCode
required

Supported OTA specification PRX code. See OTA geoname data

string
""
Example
1
sort

Use this property to sort an blocking in a list of activities.

integer format: int32
""
Example
1
minAgeAppropriateCode

Supported OTA specification AQC code. See OTA geoname data

string
""
Example
1
bookable
required

Indicates if this blocking can be added to a booking or if it is read-only marketing material only.

boolean
default: true
Example
true
active
required

Modify blocking availability with this flag.

boolean
default: true
Example
true
disabilityFeatures

Supported OTA specification PHY code. See OTA geoname data

Array<string>
securityFeatures

Supported OTA specification SEC code. See OTA geoname data

Array<string>
socials

Social network accounts for blocking (if applicable).

Array<object>

Social network

object
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
Example
INSTAGRAM
location

URL or social network identifier to social network profile

string
""
Example
https://www.instagram.com/thesiamresidences
Example
{
"type": "INSTAGRAM",
"location": "https://www.instagram.com/thesiamresidences"
}
pricePoint
required

Level of expensiveness.

string
default: THREE
Allowed values: HALF ONE ONE_HALF TWO TWO_HALF THREE THREE_HALF FOUR FOUR_HALF FIVE
Example
THREE
recognitionList

Inventory-level recognition.

Array<object>

Recognition for the ancillary blocking.

object
identifier
required

Recognition identifier.

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
category
required

Recognition category.

string
""
Allowed values: THIRD_PARTY_REVIEW PUBLICATION AWARD
Example
AWARD
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
Example
PERCENT_RATING
provider
required

The name of the entity that administers this recognition.

string
"" >= 1 characters
Example
Michelin
rating
required

The actual award or rating received by the hotel facility.

number format: float
""
Example
8.5
maxRating
required

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

number format: float
""
Example
10
date

The date the award was received

string format: date
""
Example
2020-10-24
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
Example
true
ratingSymbol

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

string
""
Example
*
Example
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"category": "AWARD",
"type": "PERCENT_RATING",
"provider": "Michelin",
"rating": 8.5,
"maxRating": 10,
"date": "2026-01-14",
"officialAppointmentInd": true,
"ratingSymbol": "*"
}
transactionalInventoryList

Purchasable items for this blocking.

Array<object>

This is one bookable item that can stand alongside a restaurant / meeting room etc.

object
identifier
required

Unique transactional identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
name
required

Internal name of transactional blocking.

string
"" >= 1 characters
Example
1 hour session
descriptions
required

Localized descriptions describing inventory.

Array<object>
>= 1 items <= 2147483647 items

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

object
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
pricingType
required

How this blocking item should be priced.

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
Example
PER_NIGHT
basePrice
required

Base price of booking this blocking.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
discountedPrice
required

If you are selling this blocking at a discount, indicate the discounted selling price. Leave empty if there is no discount.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
multimedias

List of images / videos of item.

Array<object>

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
Example
IMAGE
source
required

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
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
Example
10
angle

Media angle

string
""
Example
-90
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
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
Example
true
category

Supported OTA specification PIC code. See OTA geoname data

string
""
Example
1
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
Example
LIFESTYLE_HEALTH_FITNESS
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
Example
{
"url": "https://maps.google.com/maps/contrib/111628493169070103594",
"name": "Samuel Adams"
}
isLandscape

True if media width is greater or equal to height

boolean
Example
true
Example
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
minPax

Whether there is a limit to minimum group size.

integer format: int32
""
Example
2
maxPax

Whether there is a limit to maximum group size.

integer format: int32
""
Example
10
percentDiscount

Calculates the percent difference between basePrice and discountedPrice.

number
""
Example
0.1
percentPremium

Calculates the percent difference between basePrice and discountedPrice.

number
""
Example
0.1
Example
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"pricingType": "PER_NIGHT",
"basePrice": {
"amount": 1250,
"currency": "USD"
},
"discountedPrice": {
"amount": 1250,
"currency": "USD"
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"percentDiscount": 0.1,
"percentPremium": 0.1
}
applicableStart

Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.

string format: date
""
Example
1970-1-1
applicableEnd

End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.

string format: date
""
Example
1970-12-1
reservationRequiredInd

Indicates whether a reservation is required to participate in this blocking.

boolean
Example
false
opens

Opening time of blocking (if applicable). Leave empty if blocking is always available.

string
""
Example
09:00
closes

Closing time of blocking (if applicable). Leave empty if blocking is always available.

string
""
Example
17:30
daysOfWeek

Indicate which days this blocking is open.

object
mon

Set to true to enable Monday.

boolean
Example
true
tue

Set to true to enable Tuesday.

boolean
Example
true
wed

Set to true to enable Wednesday.

boolean
Example
true
thu

Set to true to enable Thursday.

boolean
Example
true
fri

Set to true to enable Friday.

boolean
Example
true
sat

Set to true to enable Saturday.

boolean
Example
true
sun

Set to true to enable Sunday.

boolean
Example
true
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
Example
true
Example
{
"mon": true,
"tue": true,
"wed": true,
"thu": true,
"fri": true,
"sat": true,
"sun": true,
"disabled": true
}
numberOfUnits
required

Total number of add-ons available to purchase.

integer format: int32
0
Example
15
mandatory
required

Make this add-on mandatory for all guests by enabling this flag.

boolean
Example
true
ratePlanIdentifier

Optional rate plan identifier restricting this add-on to guests on a specific rate plan.

string format: uuid
""
Example
5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73
Example
{
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"featuredInd": false,
"lifestyleType": "LIFESTYLE_HEALTH_FITNESS",
"location": {
"type": "POINT",
"coordinates": [
100.5581533,
13.7370197
]
},
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"contact": {
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"secondaryEmail": "[email protected]",
"phoneNumber": "+12125551212",
"fullName": "Alexandra Beaumont",
"summary": "John Smith ([email protected] / +12125551212)"
},
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"state": "CA",
"postalCode": "90210",
"county": "Alameda county",
"city": "Bangkok",
"countryCode": "TH",
"country": "United States",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States"
},
"commissionable": true,
"name": "Archery lesson",
"proximityCode": "1",
"sort": 1,
"minAgeAppropriateCode": "1",
"bookable": true,
"active": true,
"socials": [
{
"type": "INSTAGRAM",
"location": "https://www.instagram.com/thesiamresidences"
}
],
"pricePoint": "THREE",
"recognitionList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"category": "AWARD",
"type": "PERCENT_RATING",
"provider": "Michelin",
"rating": 8.5,
"maxRating": 10,
"date": "2026-01-14",
"officialAppointmentInd": true,
"ratingSymbol": "*"
}
],
"transactionalInventoryList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"pricingType": "PER_NIGHT",
"basePrice": {
"amount": 1250,
"currency": "USD"
},
"discountedPrice": {
"amount": 1250,
"currency": "USD"
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"percentDiscount": 0.1,
"percentPremium": 0.1
}
],
"applicableStart": "1970-1-1",
"applicableEnd": "1970-12-1",
"reservationRequiredInd": false,
"opens": "09:00",
"closes": "17:30",
"daysOfWeek": {
"mon": true,
"tue": true,
"wed": true,
"thu": true,
"fri": true,
"sat": true,
"sun": true,
"disabled": true
},
"numberOfUnits": 15,
"mandatory": true,
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
}
priceList
Array<object>

Localized transactional blocking

object
identifier
required

Unique transactional identifier

string format: uuid
"" >= 1 characters
Example
travel-blocking-1
name
required

Internal name of transactional blocking.

string
"" >= 1 characters
Example
1 hour session
descriptions
required

Localized descriptions describing inventory.

Array<object>
>= 1 items <= 2147483647 items

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

object
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
pricingType
required

How this blocking item should be priced.

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
price
required

Localized price

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
Example
-40
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
Example
-40
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
Example
-40
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
Example
40
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
Example
40
internalPremiumModifier

Premium modifiers in wink currency

number
""
Example
40
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
Example
-10
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
Example
-10
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
Example
-10
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
multimedias
required

List of images / videos of item.

Array<object>

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
Example
IMAGE
source
required

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
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
Example
10
angle

Media angle

string
""
Example
-90
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
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
Example
true
category

Supported OTA specification PIC code. See OTA geoname data

string
""
Example
1
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
Example
LIFESTYLE_HEALTH_FITNESS
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
Example
{
"url": "https://maps.google.com/maps/contrib/111628493169070103594",
"name": "Samuel Adams"
}
isLandscape

True if media width is greater or equal to height

boolean
Example
true
Example
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
minPax

Whether there is a limit to minimum group size.

integer format: int32
""
Example
2
maxPax

Whether there is a limit to maximum group size.

integer format: int32
""
Example
10
offerDetails

Localized offer details if rate plan discount applies.

Array<object>
""

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
promotion

If a package is linked to a rate plan the user could be entitled to a promotional discount if she enters a code. When this field is populated, it means the discount was applied to the package.

string
""
Example
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
channelInventoryIdentifier

Channel inventory identifier referencing this record.

string format: uuid
""
commissionable

Whether this package is commissionable based on the incoming sales channel.

boolean
commission

The commission percentage.

number format: float
""
Example
0.1
direct
required

Indicates whether the blocking from sales channel is direct or not. If you are a travel agent doing your own acquiring, this flag has to be true to make a booking.

boolean
Example
true
Example
{
"addOn": {
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"featuredInd": false,
"lifestyleType": "LIFESTYLE_HEALTH_FITNESS",
"location": {
"type": "POINT",
"coordinates": [
100.5581533,
13.7370197
]
},
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"contact": {
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"secondaryEmail": "[email protected]",
"phoneNumber": "+12125551212",
"fullName": "Alexandra Beaumont",
"summary": "John Smith ([email protected] / +12125551212)"
},
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"state": "CA",
"postalCode": "90210",
"county": "Alameda county",
"city": "Bangkok",
"countryCode": "TH",
"country": "United States",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States"
},
"commissionable": true,
"name": "Archery lesson",
"proximityCode": "1",
"sort": 1,
"minAgeAppropriateCode": "1",
"bookable": true,
"active": true,
"socials": [
{
"type": "INSTAGRAM",
"location": "https://www.instagram.com/thesiamresidences"
}
],
"pricePoint": "THREE",
"recognitionList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"category": "AWARD",
"type": "PERCENT_RATING",
"provider": "Michelin",
"rating": 8.5,
"maxRating": 10,
"date": "2026-01-14",
"officialAppointmentInd": true,
"ratingSymbol": "*"
}
],
"transactionalInventoryList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"pricingType": "PER_NIGHT",
"basePrice": {
"amount": 1250,
"currency": "USD"
},
"discountedPrice": {
"amount": 1250,
"currency": "USD"
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"percentDiscount": 0.1,
"percentPremium": 0.1
}
],
"applicableStart": "1970-1-1",
"applicableEnd": "1970-12-1",
"reservationRequiredInd": false,
"opens": "09:00",
"closes": "17:30",
"daysOfWeek": {
"mon": true,
"tue": true,
"wed": true,
"thu": true,
"fri": true,
"sat": true,
"sun": true,
"disabled": true
},
"numberOfUnits": 15,
"mandatory": true,
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
},
"priceList": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"commissionable": false,
"commission": 0.1,
"direct": true
}
perkValue

The combined value of these perkTypes

integer format: int32
""
activeCancellationPolicy
required

The active / selected cancellation policy for this room configuration

object
identifier
required

Unique cancellation policy identifier

string format: uuid
""
Example
b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47
hotelIdentifier
required

Property this cancellation is associated with

string format: uuid
""
Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
refundable
required

Whether this cancellation policy is refundable or not

boolean
Example
false
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
Example
UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL
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 NINENTY_PERCENT ONE_HUNDRED_PERCENT
Example
FIFTY_PERCENT
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
Example
SAME_AS_CANCELLATION_FEE
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
Example
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
Example
SEVEN_DAYS_BEFORE_ARRIVAL
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
Example
ONE_HUNDRED_PERCENT
policyCode
string
Example
{
"identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"refundable": false,
"advanceCancellationFreeOfCharge": "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
"refundableCancellationCharge": "FIFTY_PERCENT",
"noShowCharge": "SAME_AS_CANCELLATION_FEE",
"nonRefundableCancellationCharge": "SEVENTY_PERCENT",
"nonRefundableDeadline": "SEVEN_DAYS_BEFORE_ARRIVAL",
"nonRefundableAfterDeadlineCancellationCharge": "ONE_HUNDRED_PERCENT"
}
roomNights
required

Number of nights the guests will be staying

integer format: int32
""
priceList
Array<object>

Localized transactional blocking

object
identifier
required

Unique transactional identifier

string format: uuid
"" >= 1 characters
Example
travel-blocking-1
name
required

Internal name of transactional blocking.

string
"" >= 1 characters
Example
1 hour session
descriptions
required

Localized descriptions describing inventory.

Array<object>
>= 1 items <= 2147483647 items

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

object
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
pricingType
required

How this blocking item should be priced.

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
price
required

Localized price

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
Example
USD
target
required

ISO 4217 target currency code

string
"" >= 1 characters
Example
THB
exchangeRate
required

Exchange rate from source to target currency

number
""
Example
33.5
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
Example
1705233000000
Example
{
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
}
userSpecifiedCurrencyBaseTotal
required

Base total in user specified currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
sourceBaseTotal
required

Base total in hotel currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
internalBaseTotal
required

Base total in wink currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
Example
-40
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
Example
-40
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
Example
-40
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
Example
40
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
Example
40
internalPremiumModifier

Premium modifiers in wink currency

number
""
Example
40
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
Example
-10
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
Example
-10
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
Example
-10
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
multimedias
required

List of images / videos of item.

Array<object>

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
Example
IMAGE
source
required

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
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
Example
10
angle

Media angle

string
""
Example
-90
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
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
Example
true
category

Supported OTA specification PIC code. See OTA geoname data

string
""
Example
1
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
Example
LIFESTYLE_HEALTH_FITNESS
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
Example
{
"url": "https://maps.google.com/maps/contrib/111628493169070103594",
"name": "Samuel Adams"
}
isLandscape

True if media width is greater or equal to height

boolean
Example
true
Example
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
minPax

Whether there is a limit to minimum group size.

integer format: int32
""
Example
2
maxPax

Whether there is a limit to maximum group size.

integer format: int32
""
Example
10
offerDetails

Localized offer details if rate plan discount applies.

Array<object>
""

Simplified localized description containing text content and its language code.

object
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
language
required

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
promotion

If a package is linked to a rate plan the user could be entitled to a promotional discount if she enters a code. When this field is populated, it means the discount was applied to the package.

string
""
Example
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
available
boolean
rateSource
string
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
Example
{
"list": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"commissionable": false,
"commission": 0.1,
"direct": true,
"ratePlan": {
"name": "BAR 1",
"breakfast": false,
"brunch": false,
"lunch": false,
"dinner": false,
"allInclusive": false,
"allInclusivePlusAlcohol": false,
"earlyCheckInCharge": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"lateCheckOutCharge": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
},
"perkTypes": [
{
"identifier": "PERK_GUARANTEED_UPGRADE",
"guaranteed": true,
"level": 3,
"descriptions": [
{
"language": "en",
"name": "Guaranteed Room Upgrade",
"description": "Guaranteed upgrade to the next available room category at check-in"
}
],
"sort": 5
}
],
"price": {
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceExtraPaxModifier": 15,
"internalExtraPaxModifier": 15,
"userSpecifiedCurrencyExtraPaxModifier": 15,
"sourceExtraChildModifier": 15,
"internalExtraChildModifier": 15,
"userSpecifiedCurrencyExtraChildModifier": 15,
"sourceSingleOccupantModifier": -15,
"internalSingleOccupantModifier": -15,
"userSpecifiedCurrencySingleOccupantModifier": -15,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"userSpecifiedCurrencyChannelModifier": -10,
"available": false,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"list": [
{
"sourceBaseRate": {
"amount": 1250,
"currency": "USD"
},
"internalBaseRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseRate": {
"amount": 1250,
"currency": "USD"
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"rate": {
"identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"rateSource": "TRAVELIKO",
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"rate": {
"amount": 1250,
"currency": "USD"
},
"master": true,
"closedOnArrival": false,
"closedOnDeparture": false,
"date": "2020-8-24",
"quantity": 9,
"minOccupancy": 1,
"maxOccupancy": 2,
"minLengthOfStay": 4,
"maxLengthOfStay": 8,
"singleOccupancyRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraPaxRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraChildRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
},
"maxAdultOccupancy": 1,
"maxChildOccupancy": 0,
"includedAdultOccupancy": 2,
"includedChildOccupancy": 0,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"baseRate": {
"amount": 1250,
"currency": "USD"
},
"sourceRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyRate": {
"amount": 1250,
"currency": "USD"
},
"internalRate": {
"amount": 1250,
"currency": "USD"
}
}
],
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"userSpecifiedCurrencyAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
},
"internalAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
},
"sourceAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
}
},
"extraCharges": {
"items": [
{
"ratePlanLevelFee": {
"descriptions": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
},
"unitPrice": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
}
],
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
}
},
"configuration": {
"adults": 2,
"children": [
{
"quantity": 2,
"age": 7
}
],
"quantity": 1
},
"addOnOffers": [
{
"addOn": {
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"featuredInd": false,
"lifestyleType": "LIFESTYLE_HEALTH_FITNESS",
"location": {
"type": "POINT",
"coordinates": [
100.5581533,
13.7370197
]
},
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"contact": {
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"secondaryEmail": "[email protected]",
"phoneNumber": "+12125551212",
"fullName": "Alexandra Beaumont",
"summary": "John Smith ([email protected] / +12125551212)"
},
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"state": "CA",
"postalCode": "90210",
"county": "Alameda county",
"city": "Bangkok",
"countryCode": "TH",
"country": "United States",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States"
},
"commissionable": true,
"name": "Archery lesson",
"proximityCode": "1",
"sort": 1,
"minAgeAppropriateCode": "1",
"bookable": true,
"active": true,
"socials": [
{
"type": "INSTAGRAM",
"location": "https://www.instagram.com/thesiamresidences"
}
],
"pricePoint": "THREE",
"recognitionList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"category": "AWARD",
"type": "PERCENT_RATING",
"provider": "Michelin",
"rating": 8.5,
"maxRating": 10,
"date": "2026-01-14",
"officialAppointmentInd": true,
"ratingSymbol": "*"
}
],
"transactionalInventoryList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"pricingType": "PER_NIGHT",
"basePrice": {
"amount": 1250,
"currency": "USD"
},
"discountedPrice": {
"amount": 1250,
"currency": "USD"
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"percentDiscount": 0.1,
"percentPremium": 0.1
}
],
"applicableStart": "1970-1-1",
"applicableEnd": "1970-12-1",
"reservationRequiredInd": false,
"opens": "09:00",
"closes": "17:30",
"daysOfWeek": {
"mon": true,
"tue": true,
"wed": true,
"thu": true,
"fri": true,
"sat": true,
"sun": true,
"disabled": true
},
"numberOfUnits": 15,
"mandatory": true,
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
},
"priceList": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"commissionable": false,
"commission": 0.1,
"direct": true
}
],
"activeCancellationPolicy": {
"identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"refundable": false,
"advanceCancellationFreeOfCharge": "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
"refundableCancellationCharge": "FIFTY_PERCENT",
"noShowCharge": "SAME_AS_CANCELLATION_FEE",
"nonRefundableCancellationCharge": "SEVENTY_PERCENT",
"nonRefundableDeadline": "SEVEN_DAYS_BEFORE_ARRIVAL",
"nonRefundableAfterDeadlineCancellationCharge": "ONE_HUNDRED_PERCENT"
},
"priceList": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
quantity

Number of rooms

integer format: int32
""
notification
required

Notification options

object
notifyProperty

Whether to notify property of booking

boolean
notifyChannelManager

Whether to notify channel manager of booking

boolean
notifyBooker

Whether to notify booker of booking

boolean
booker

Whether to notify booker of booking

object
userIdentifier

User identifier

string format: uuid
""
Example
c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84
firstName
required

First name

string
"" >= 1 characters
Example
Alexandra
lastName
required

Last name

string
"" >= 1 characters
Example
Beaumont
email
required

Email

string format: email
"" >= 1 characters
telephone

Telephone

string
"" /^\+?[1-9]\d{1,14}$/
Example
+1 212 555 1212
fullName

Full name

string
""
Example
Alexandra Beaumont
Example
{
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"telephone": "+1 212 555 1212",
"fullName": "Alexandra Beaumont"
}
Example
{
"notifyProperty": false,
"notifyChannelManager": false,
"notifyBooker": false,
"booker": {
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"telephone": "+1 212 555 1212",
"fullName": "Alexandra Beaumont"
}
}
Example
{
"query": {
"channel": {
"propertyIdentifier": "the-siam-residences",
"subType": "HOTEL",
"ownerIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "The Siam Residences - Direct Channel"
},
"roomConfigurations": [
{
"adults": 2,
"children": [
{
"quantity": 2,
"age": 7
}
],
"quantity": 1
}
],
"city": {
"geoNameId": "1609350",
"localeCode": "en",
"continentCode": "AS",
"continentName": "Asia",
"countryIsoCode": "TH",
"countryName": "Thailand",
"cityName": "Bangkok",
"timezone": "Asia/Bangkok",
"subDivision1Code": "10",
"subDivision1Name": "Bangkok",
"subDivision2Code": "1001",
"subDivision2Name": "Phra Nakhon"
},
"country": {
"geoNameId": "1609350",
"continentCode": "AS",
"continentName": "Asia",
"countryIsoCode": "TH",
"countryName": "Thailand"
}
},
"room": {
"list": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"commissionable": false,
"commission": 0.1,
"direct": true,
"ratePlan": {
"name": "BAR 1",
"breakfast": false,
"brunch": false,
"lunch": false,
"dinner": false,
"allInclusive": false,
"allInclusivePlusAlcohol": false,
"earlyCheckInCharge": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"lateCheckOutCharge": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
},
"perkTypes": [
{
"identifier": "PERK_GUARANTEED_UPGRADE",
"guaranteed": true,
"level": 3,
"descriptions": [
{
"language": "en",
"name": "Guaranteed Room Upgrade",
"description": "Guaranteed upgrade to the next available room category at check-in"
}
],
"sort": 5
}
],
"price": {
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceExtraPaxModifier": 15,
"internalExtraPaxModifier": 15,
"userSpecifiedCurrencyExtraPaxModifier": 15,
"sourceExtraChildModifier": 15,
"internalExtraChildModifier": 15,
"userSpecifiedCurrencyExtraChildModifier": 15,
"sourceSingleOccupantModifier": -15,
"internalSingleOccupantModifier": -15,
"userSpecifiedCurrencySingleOccupantModifier": -15,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"userSpecifiedCurrencyChannelModifier": -10,
"available": false,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"list": [
{
"sourceBaseRate": {
"amount": 1250,
"currency": "USD"
},
"internalBaseRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyBaseRate": {
"amount": 1250,
"currency": "USD"
},
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"rate": {
"identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"rateSource": "TRAVELIKO",
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"rate": {
"amount": 1250,
"currency": "USD"
},
"master": true,
"closedOnArrival": false,
"closedOnDeparture": false,
"date": "2020-8-24",
"quantity": 9,
"minOccupancy": 1,
"maxOccupancy": 2,
"minLengthOfStay": 4,
"maxLengthOfStay": 8,
"singleOccupancyRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraPaxRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
},
"extraChildRateModifier": {
"type": "PERCENTAGE",
"percent": 0.25,
"fixedAmount": {
"amount": 1250,
"currency": "USD"
}
}
},
"maxAdultOccupancy": 1,
"maxChildOccupancy": 0,
"includedAdultOccupancy": 2,
"includedChildOccupancy": 0,
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"baseRate": {
"amount": 1250,
"currency": "USD"
},
"sourceRate": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyRate": {
"amount": 1250,
"currency": "USD"
},
"internalRate": {
"amount": 1250,
"currency": "USD"
}
}
],
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"financialBreakdown": {
"displayPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"internalPriceQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
]
},
"beneficiaryList": [
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountEmail": "[email protected]",
"accountUrl": "https://trvl.as/the-siam-residences-bangkok",
"amountDue": {
"percent": 0.05
},
"sourceCurrency": "THB",
"displayCurrency": "USD",
"internalCurrency": "USD",
"sourceAmount": 450,
"displayAmount": 450,
"internalAmount": 450,
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45,
"pendingRefunds": [
{
"refundIdentifier": "ref-d5b8a3c2-9e6f-4a1b-8d34",
"sourceAmountRefundModifier": 45,
"displayAmountRefundModifier": 45,
"internalAmountRefundModifier": 45
}
],
"netSourceAmount": 450,
"netDisplayAmount": 450,
"netInternalAmount": 450,
"reconciled": false
}
],
"userSpecifiedCurrencyAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
},
"internalAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
},
"sourceAveragePricePerNight": {
"amount": 1250,
"currency": "USD"
}
},
"extraCharges": {
"items": [
{
"ratePlanLevelFee": {
"descriptions": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
},
"unitPrice": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
}
}
],
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
}
},
"configuration": {
"adults": 2,
"children": [
{
"quantity": 2,
"age": 7
}
],
"quantity": 1
},
"addOnOffers": [
{
"addOn": {
"identifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"featuredInd": false,
"lifestyleType": "LIFESTYLE_HEALTH_FITNESS",
"location": {
"type": "POINT",
"coordinates": [
100.5581533,
13.7370197
]
},
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"contact": {
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"secondaryEmail": "[email protected]",
"phoneNumber": "+12125551212",
"fullName": "Alexandra Beaumont",
"summary": "John Smith ([email protected] / +12125551212)"
},
"address": {
"address1": "234 Near da beach",
"address2": "Pebble #5001",
"state": "CA",
"postalCode": "90210",
"county": "Alameda county",
"city": "Bangkok",
"countryCode": "TH",
"country": "United States",
"fullAddress": "11 At home, Suite 3C, New York City, NY 10010, United States"
},
"commissionable": true,
"name": "Archery lesson",
"proximityCode": "1",
"sort": 1,
"minAgeAppropriateCode": "1",
"bookable": true,
"active": true,
"socials": [
{
"type": "INSTAGRAM",
"location": "https://www.instagram.com/thesiamresidences"
}
],
"pricePoint": "THREE",
"recognitionList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"category": "AWARD",
"type": "PERCENT_RATING",
"provider": "Michelin",
"rating": 8.5,
"maxRating": 10,
"date": "2026-01-14",
"officialAppointmentInd": true,
"ratingSymbol": "*"
}
],
"transactionalInventoryList": [
{
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"pricingType": "PER_NIGHT",
"basePrice": {
"amount": 1250,
"currency": "USD"
},
"discountedPrice": {
"amount": 1250,
"currency": "USD"
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"percentDiscount": 0.1,
"percentPremium": 0.1
}
],
"applicableStart": "1970-1-1",
"applicableEnd": "1970-12-1",
"reservationRequiredInd": false,
"opens": "09:00",
"closes": "17:30",
"daysOfWeek": {
"mon": true,
"tue": true,
"wed": true,
"thu": true,
"fri": true,
"sat": true,
"sun": true,
"disabled": true
},
"numberOfUnits": 15,
"mandatory": true,
"ratePlanIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
},
"priceList": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"commissionable": false,
"commission": 0.1,
"direct": true
}
],
"activeCancellationPolicy": {
"identifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"refundable": false,
"advanceCancellationFreeOfCharge": "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
"refundableCancellationCharge": "FIFTY_PERCENT",
"noShowCharge": "SAME_AS_CANCELLATION_FEE",
"nonRefundableCancellationCharge": "SEVENTY_PERCENT",
"nonRefundableDeadline": "SEVEN_DAYS_BEFORE_ARRIVAL",
"nonRefundableAfterDeadlineCancellationCharge": "ONE_HUNDRED_PERCENT"
},
"priceList": [
{
"identifier": "travel-blocking-1",
"name": "1 hour session",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"price": {
"sourceToUserCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"sourceToInternalCurrencyQuote": {
"source": "USD",
"target": "THB",
"exchangeRate": 33.5,
"timestamp": 1705233000000
},
"userSpecifiedCurrencyBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"sourceBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"internalBaseTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyPromotionalModifier": -40,
"sourcePromotionalModifier": -40,
"internalPromotionalModifier": -40,
"userSpecifiedCurrencyPremiumModifier": 40,
"sourcePremiumModifier": 40,
"internalPremiumModifier": 40,
"userSpecifiedCurrencyChannelModifier": -10,
"sourceChannelModifier": -10,
"internalChannelModifier": -10,
"quantity": 1,
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"minPax": 2,
"maxPax": 10,
"offerDetails": [
{
"description": "This is a longer description in the specified language.",
"language": "en",
"creator": "USER",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
],
"sourceTotal": {
"amount": 1250,
"currency": "USD"
},
"internalTotal": {
"amount": 1250,
"currency": "USD"
},
"userSpecifiedCurrencyTotal": {
"amount": 1250,
"currency": "USD"
}
},
"notification": {
"notifyProperty": false,
"notifyChannelManager": false,
"notifyBooker": false,
"booker": {
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"firstName": "Alexandra",
"lastName": "Beaumont",
"email": "[email protected]",
"telephone": "+1 212 555 1212",
"fullName": "Alexandra Beaumont"
}
}
}

Sandbox booking created and returned

Media type application/json

Immutable MongoDB document representing a complete guest booking at a property, including room reservation, ancillary services, payment details, guest information, and lifecycle status.

object
id

Document UUID

string format: uuid
""
createdDate

Datetime this record was first created

string format: date-time
""
lastUpdate

Datetime this record was last updated

string format: date-time
""
version

Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.

integer format: int64
""
creation
required

Communicates whether the booking was created normally, failed, or was for testing.

string
default: NORMAL
Allowed values: NORMAL TEST FAILED
groupIdentifier
required

Unique record identifier for the collection of bookings that were made at the same time.

string format: uuid
""
customization
required

Which customization configuration record did the entity application used to facilitate in making this booking happen.

object
identifier
required

Unique customization configuration identifier

string format: uuid
""
name
required

Engine configuration name

string
"" >= 1 characters
userIdentifier
required

Authenticated user identifier

string format: uuid
""
ownerIdentifier
required

Engine configuration record creator identifier

string format: uuid
""
ownerName
required

Name of company owner.

string
""
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
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
logos

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

Array<object>

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
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
selfHosted

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

boolean
themeColors

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

object
primary

Primary color

string
default: #dc3545
secondary

Secondary color

string
default: #6c757d
success

Success color

string
default: #28a745
danger

Danger color

string
default: #dc3545
warning

Warning color

string
default: #ffc107
info

Info color

string
default: #17a2b8
light

Light color

string
default: #f8f9fa
dark

Dark color

string
default: #343a40
body

Body color

string
default: #212529
muted

Muted color

string
default: #6c757d
white

White color

string
default: #ffffff
cardLayout

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

string
default: VERTICAL
Allowed values: HORIZONTAL VERTICAL
layout

Choose how you want our web component cards laid out.

string
default: INFORMATIONAL
Allowed values: INFORMATIONAL TRANSACTIONAL
cardDesign

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

string
default: DEFAULT
Allowed values: DEFAULT
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
""
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
""
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
""
roomConfigurations

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

Array<object>

Room occupancy and guest composition for a single or multiple identical rooms

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
quantity
required

Count of children of this age group in the room

integer format: int32
"" >= 1
age
required

Age of each child in this group (years)

integer format: int32
""
quantity

Number of identical rooms with this configuration

integer format: int32
default: 1 >= 1
useDays

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

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>
sendBookingNotificationEmailsToProperty

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

boolean
default: true
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
wcBookClickAction

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

string
""
Allowed values: FORWARD_TO_IBE IBE_MODAL
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
geoNameId

GeoName identifier

string
""
type

GeoNameLightweight type

string
""
Allowed values: CITY ISLAND OTHER
name

Name of city

string
""
urlName

Url name

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

Ascii name of city

string
""
location

Coordinate points of the city

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

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

string
""
countryCode

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

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

IANA timezone identifier for the location

string
""
country

Country

object
iso

ISO code

string
""
name

Country name

string
""
capital

Country capital

string
""
continent

Continent code

string
""
currencyCode

Currency code

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

Currency name

string
""
geoNameId

Country GeoNames identifier

string
""
subCountry

Country sub division

object
name

Sub-country name

string
""
asciiName

Sub-country ascii name

string
""
geoNameId

Sub-country GeoNames identifier

string
""
subSubCountry

Country sub sub division

object
name

Official name of the county or district in its local script

string
""
asciiName

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

string
""
geoNameId

GeoNames.org unique identifier for this subdivision

string
""
showUnavailableCard

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

boolean
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
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
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
type
required

Type of tracking pixel delivery mechanism

string
""
Allowed values: JAVASCRIPT IMAGE
provider
required

Tracking pixel provider

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

Consent category for GDPR/CCPA compliance

string
""
Allowed values: STRICTLY_NECESSARY FUNCTIONAL ANALYTICS MARKETING
enabled

Whether this tracking pixel is currently active

boolean
default: true
pixelId

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

string
""
accessToken

Optional access token for providers that require authentication

string
""
customScript

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

string
""
customImageUrl

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

string format: uri
""
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
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
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
bookingCode
required

Unique user-friendly booking code. This code should be used when corresponding with travelers.

string
""
user

Details for the authenticated person (the booker) that made the booking. For agent bookings this is the travel agent, not the traveler.

object
userIdentifier

User identifier

string format: uuid
""
firstName
required

First name

string
"" >= 1 characters
lastName
required

Last name

string
"" >= 1 characters
email
required

Email

string format: email
"" >= 1 characters
telephone

Telephone

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

Full name

string
""
userSession
required

User session state as it was when the user made the booking.

object
itinerary
required

Dates and travel info.

object
startDate
required

Start date of itinerary

string format: date
""
endDate

Optional end date. If endDate is empty, nights needs to be present. If both are present, nights will take precedence.

string format: date
""
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
""
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
quantity

Number of children

integer format: int32
""
age

Age of children

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
""
children

How many total children for this stay

integer format: int32
""
guests

How many total guests for this stay

integer format: int32
""
rooms

How many total rooms for this stay

integer format: int32
""
language

User’s language preference

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

User’s currency preference

string
"" /^[A-Z]{3}$/
promotionalCodes
Array<string>
selectedRoomConfigurationIndex

User can pass the current room configuration index to retrieve rates specifically for that room configuration.

integer format: int32
""
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
serverUrl

The URL the booking occurred

string format: uri
""
socials

List of all social network account property has for the traveler to get in touch.

Array<object>
""

Social network

object
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
location

URL or social network identifier to social network profile

string
""
review

User review created by the traveler after the booking completed.

object
identifier

Unique identifier for this review record.

string format: uuid
""
bookingIdentifier

Booking identifier this review is associated with.

string format: uuid
""
hotelIdentifier

Property (hotel) identifier this review is for.

string format: uuid
""
user

Guest who submitted the review.

object
userIdentifier

User identifier

string format: uuid
""
firstName

Guest’s first name.

string
""
lastName

Guest’s last name.

string
""
email

Guest’s email address.

string format: email
""
telephone

Guest’s phone number.

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

Guest’s full name.

string
""
reviewDate

Date and time the review was submitted.

string format: date-time
""
averageScore

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

number format: double
""
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
questionIdentifier
required

Review question identifier that this answer responds to.

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

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

string
""
Allowed values: COMFORT CONDITION SERVICE ENVIRONMENT FACILITIES LOCATION LIFESTYLE VALUE FOOD ROOM
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
""
messageFromGuest

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

string
""
responseFromHotel

Hotel’s public response to the guest review.

string
""
imageIdentifier

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

string
""
text

Guest’s written review text.

string
""
approvedText

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

boolean
approvedImage

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

boolean
likes

User identifiers who ‘liked’ this review.

Array<string>
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
""
responded

Hotel has submitted a response to this review.

boolean
emailHeaderLogoUrl

Full url of the image logo optimized for emails

string format: uri
""
logoIdentifier

Logo cloudinary identifier for potential reuse

string format: uuid
""
hotel
required

Combined property data.

object
hotelIdentifier

Unique hotel record identifier.

string format: uuid
""
name

Hotel trade name

string
""
localName

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

string
""
chain

Name of hotel chain if applicable.

string
""
brand

Name of hotel brand

string
""
urlName

Unique URL-friendly name slug of hotel

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

Event shorter name

string
"" >= 1 characters
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
bookings

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

integer format: int64
0
aggregateReviewRating

Aggregate score based on all current user reviews.

number format: float
default: 0.0
location

Geo-location

object
x
number format: double
y
number format: double
type
string
coordinates
Array<number>
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
aggregateGreendexRating

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

number format: float
default: 0.0
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
totalReviews

Count of total reviews left by users at this property.

integer format: int32
0
reservations

Contact details for reservations desk

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
socials

Property’s social network accounts

Array<object>
""

Social network

object
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
location

URL or social network identifier to social network profile

string
""
images

Property images.

Array<object>
""

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
videos

Property videos.

Array<object>
""

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
policy

Basic property policy record.

object
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
internetConnectionType

Indicates how guests can access the Internet on the property.

string
""
Allowed values: WIFI CABLE
internetConnectionLocation

Indicates where internet is available in and around the property.

string
""
Allowed values: ENTIRE_PROPERTY PUBLIC_AREAS ALL_ROOMS SOME_ROOMS BUSINESS_CENTER
parkingAvailability
required

Indicates whether parking is available at the property.

string
""
Allowed values: YES NO YES_PAID
parkingAccess

Indicates what type of parking is available at the property.

string
""
Allowed values: PRIVATE PUBLIC
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
petMaxWeightInKilos

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

integer format: int32
""
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}$/
checkOutTime
required

When the guest has to check out.

string
"" >= 1 characters
checkInTime
required

When the guest can check in.

string
"" >= 1 characters
thirdPartyReviews

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

Array<object>
""

Recognition for the ancillary blocking.

object
identifier
required

Recognition identifier.

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

Recognition category.

string
""
Allowed values: THIRD_PARTY_REVIEW PUBLICATION AWARD
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
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
""
maxRating
required

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

number format: float
""
date

The date the award was received

string format: date
""
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
ratingSymbol

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

string
""
attractions

Number of attractions property has listed on its profile.

integer format: int32
0
activities

Number of activites property has listed on its profile.

integer format: int32
0
places

Number of places property has listed on its profile.

integer format: int32
0
restaurants

Number of restaurants property has on its profile.

integer format: int32
0
meetingRooms

Number of meeting rooms property has on its profile.

integer format: int32
0
spas

Number of spas property has on its profile.

integer format: int32
0
addOns

Number of add-ons property has on its profile.

integer format: int32
0
generalManager

General manager of the property.

object
name
required

Name of GM currently managing the property.

string
""
image

Profile image of the general manager.

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
locationCategory

Supported OTA specification LOC code. See OTA geoname data

string
""
segmentCategory

Supported OTA specification SEG code. See OTA geoname data

string
""
hotelCategory

Supported OTA specification PCT code. See OTA geoname data

string
""
architecturalStyle

Supported OTA specification ARC code. See OTA geoname data

string
""
whenBuilt

Year the property was constructed.

string
""
currencyCode

Currency code for property.

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

A property’s price score is based on calculating historical pricing data. Each property receives a unique score. There is no max score; it’s there to compare it against other properties.

number format: float
0
priceScore

A property’s price score is based on calculating historical pricing data. Each property receives a unique score. There is no max score; it’s there to compare it against other properties.

integer format: int32
0
perkScore

A property’s perk score is based on the type of perks that is offered to the guests across all master rates. There is no max score; it’s there to compare it against other properties.

integer format: int32
0
addOnScore

A property’s package score is based on general availability and price for all packages and add-ons offered by the property. There is no max score; it’s there to compare it against other properties.

integer format: int32
0
loyaltyScore

A property’s loyalty score is based on calculating how many available rate plans honor loyalty points. There is no max score; it’s there to compare it against other properties.

integer format: int32
0
popularScore

A property’s popular score is based on calculating number of bookings across room types. There is no max score; it’s there to compare it against other properties.

integer format: int32
0
experienceScore

A property’s experience score is based on how calculating how many types of experiences are available and at what price ranges. There is no max score; it’s there to compare it against other properties.

integer format: int32
0
hotelAmenityCodes

Supported OTA specification HAC code. See OTA geoname data

Array<string>
""
propertyAccessibilityCodes

Supported OTA specification PHY code. See OTA geoname data

Array<string>
""
propertySecurityCodes

Supported OTA specification SEC code. See OTA geoname data

Array<string>
""
numberOfRooms

Number of rooms / keys for this property.

integer format: int32
0
address

Property address.

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
active

Whether property is active

boolean
specialRequests

Free text where the traveler can add a message to the property.

string
""
comment

Internal comment field the platform can add and make available to channel manager partners.

string
""
earlyCheckInCharge

Early check-in charge fixed amount that is due if guest checks out early.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Late check-out charge fixed amount that is due if guest checks out late.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Early check-in charge calculated in percent of first room night price.

number format: float
""
lateCheckOutChargePercent

Early check-in charge calculated in percent of first room night price.

number format: float
""
hotelImageUrl
required

Absolute URL of hotel image that can be used as-is

string format: uri
""
staticMapImageUrl

Url of map image that can be sent via email

string format: uri
""
staticMapUrl

Url of map image location on Google Maps

string format: uri
""
metadata

Place to store related data

object
key
additional properties
roomStay

Single room stay for the booking. Multi-room is modelled as sibling Booking documents joined by groupIdentifier.

object
room
required

Guest room details.

object
identifier
required

Unique record identifier

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

Hotel identifier.

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

Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.

boolean
lifestyleType

Indicate the type of lifestyle this blocking 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
location
required

Geo-location point where blocking takes place. Defaults to location of property.

object
x
number format: double
y
number format: double
type
string
coordinates
Array<number>
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
multimedias
required

List of images / videos of blocking.

Array<object>
>= 1 items

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
contact
required

Associate a contact person for this blocking (if applicable).

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Defaults to property address.

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required

Indicate whether sales channels receive commission for selling this blocking.

boolean
default: true
name
required

Internal name of inventory.

string
"" >= 1 characters
proximityCode
required

Supported OTA specification PRX code. See OTA geoname data

string
""
sort

Use this property to sort an blocking in a list of activities.

integer format: int32
""
minAgeAppropriateCode

Supported OTA specification AQC code. See OTA geoname data

string
""
bookable
required

Indicates if this blocking can be added to a booking or if it is read-only marketing material only.

boolean
default: true
active
required

Modify blocking availability with this flag.

boolean
default: true
disabilityFeatures

Supported OTA specification PHY code. See OTA geoname data

Array<string>
securityFeatures

Supported OTA specification SEC code. See OTA geoname data

Array<string>
socials

Social network accounts for blocking (if applicable).

Array<object>

Social network

object
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
location

URL or social network identifier to social network profile

string
""
pricePoint
required

Level of expensiveness.

string
default: THREE
Allowed values: HALF ONE ONE_HALF TWO TWO_HALF THREE THREE_HALF FOUR FOUR_HALF FIVE
recognitionList

Inventory-level recognition.

Array<object>

Recognition for the ancillary blocking.

object
identifier
required

Recognition identifier.

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

Recognition category.

string
""
Allowed values: THIRD_PARTY_REVIEW PUBLICATION AWARD
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
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
""
maxRating
required

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

number format: float
""
date

The date the award was received

string format: date
""
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
ratingSymbol

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

string
""
transactionalInventoryList

Purchasable items for this blocking.

Array<object>

This is one bookable item that can stand alongside a restaurant / meeting room etc.

object
identifier
required

Unique transactional identifier

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

Internal name of transactional blocking.

string
"" >= 1 characters
descriptions
required

Localized descriptions describing inventory.

Array<object>
>= 1 items <= 2147483647 items

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

object
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
pricingType
required

How this blocking item should be priced.

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
basePrice
required

Base price of booking this blocking.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

If you are selling this blocking at a discount, indicate the discounted selling price. Leave empty if there is no discount.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

List of images / videos of item.

Array<object>

Multimedia that contains less information than Multimedia object

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
minPax

Whether there is a limit to minimum group size.

integer format: int32
""
maxPax

Whether there is a limit to maximum group size.

integer format: int32
""
percentDiscount

Calculates the percent difference between basePrice and discountedPrice.

number
""
percentPremium

Calculates the percent difference between basePrice and discountedPrice.

number
""
maxOccupancy
required

Maximum number of guest allowed in a room type.

integer format: int32
default: 2 >= 1
minOccupancy
required

Minimum number of guests allowed in a room type.

integer format: int32
default: 1 >= 1
quantity
required

Defines the number of rooms of this type

integer format: int32
"" >= 1
nonSmoking
required

Non-smoking indicator

boolean
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
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
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
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
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
size
required

Number of square meters that defines the size of this room type.

number format: float
"" >= 1
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
bathroomCount
required

Number of bathrooms

integer format: int32
default: 1
livingRoomCount
required

Number of living rooms

integer format: int32
default: 1
maxRollaways
required

Maximum number of rollaway beds allowed in this room type.

integer format: int32
0
roomCategory
required

OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See OTA geoname data

string
"" >= 1 characters
floor

Floor number on which this room type is located.

string
""
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
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
roomClassificationCode
required

OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See OTA geoname data

string
"" >= 1 characters
roomArchitectureCode
required

OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). 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
sharedRoomInd
required

If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.

boolean
maxCribs
required

Maximum number of cribs allowed in a room type.

integer format: int32
0
amenities

OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See OTA geoname data

Array<string>
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
baseRate
required

Typical one night rate during regular remand period

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Typical one night rate in a distressed period

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Desired bedroom layout

object
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
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
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
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
adults
required

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

integer format: int32
default: 2
children
required

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

integer format: int32
0
quantity

Number of identical rooms of this type. Display only — the money-bearing quantity lives on price (BookingStayRate).

integer format: int32
default: 1
price
required

Price details. Already quantity-scaled — its totals and breakdown represent all booked rooms.

object
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}$/
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}$/
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}$/
sourceExtraPaxModifier
number
internalExtraPaxModifier
number
userSpecifiedCurrencyExtraPaxModifier
number
sourceExtraChildModifier
number
internalExtraChildModifier
number
userSpecifiedCurrencyExtraChildModifier
number
sourceSingleOccupantModifier
number
internalSingleOccupantModifier
number
userSpecifiedCurrencySingleOccupantModifier
number
sourcePromotionalModifier
number
internalPromotionalModifier
number
userSpecifiedCurrencyPromotionalModifier
number
sourcePremiumModifier
number
internalPremiumModifier
number
userSpecifiedCurrencyPremiumModifier
number
sourceChannelModifier
number
internalChannelModifier
number
userSpecifiedCurrencyChannelModifier
number
quantity

Number of identical rooms booked of this type. The one money-bearing quantity.

integer format: int32
default: 1
minOccupancy
integer format: int32
maxOccupancy
integer format: int32
rateSource
string
promotionalDiscountPercent
number
channelDiscountPercent
number
premiumPercent
number
available
boolean
sourceToUserCurrencyQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
promotionalCodes
Array<string>
list
Array<object>

Booking-time snapshot of a single night’s rate, capturing per-room and total figures in source, internal, and user-display currencies.

object
date

The date this night’s rate applies to.

string format: date
""
rateIdentifier

Source daily rate identifier.

string format: uuid
""
ratePlanIdentifier

Rate plan identifier this night was priced from.

string format: uuid
""
guestRoomIdentifier

Guest room identifier this night was priced from.

string format: uuid
""
rateSource

Origin of the rate (WINK, EXELY, etc.).

string
""
sourceBaseRate

Per-room base (rack) rate for the night in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Per-room base (rack) rate for the night in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Per-room base (rack) rate for the night in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Per-room net rate for the night in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Per-room net rate for the night in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Per-room net rate for the night in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Number of identical rooms booked of this type.

integer format: int32
default: 1
sourceTotal

Net rate for the night across all rooms (per-room rate x quantity) in hotel currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Net rate for the night across all rooms (per-room rate x quantity) in wink currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Net rate for the night across all rooms (per-room rate x quantity) in user specified currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Promotional discount percent applied to the night.

number
""
channelDiscountPercent

Channel / membership discount percent applied to the night.

number
""
premiumPercent

Premium percent applied to the night.

number
""
offerDetails

Localized descriptions of the discounts / offers applied to the night.

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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
isStartDate

Whether this night is the check-in date.

boolean
isEndDate

Whether this night is the check-out date (not charged).

boolean
isLastNight

Whether this night is the last charged night.

boolean
adults

Adults staying.

integer format: int32
""
children

Children staying.

integer format: int32
""
sourceToUserCurrencyQuote

Hotel to user currency exchange rate for the night.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote

Hotel to wink currency exchange rate for the night.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
financialBreakdown

Per-night, quantity-scaled financial breakdown (beneficiary split).

object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
endDate
boolean
startDate
boolean
lastNight
boolean
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}$/
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}$/
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}$/
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
totalDiscountPercent
number
roomRateIdentifier
required

Master rate identifier

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

Master rate internal name

string
"" >= 1 characters
ratePlan
required

Rate plan used for this stay

object
identifier
required

Rate plan identifier

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

Provides the name of the rate plan.

string
"" >= 1 characters
breakfast
required

When true, indicates breakfast is included.

boolean
brunch
required

When true, indicates brunch is included.

boolean
lunch
required

When true, indicates lunch is included.

boolean
dinner
required

When true, indicates dinner is included.

boolean
allInclusive
required

Everything included except alcohol

boolean
allInclusivePlusAlcohol
required

Everything included with alcohol

boolean
earlyCheckInCharge
object
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
fixedAmount

A localized amount

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
percent

A percentage of the total stay amount for an early check-in or late check-out

number format: float
""
fixedAmount

A localized amount

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
identifier
required

Unique enum-like string identifier for this perk (e.g., PERK_GUARANTEED_UPGRADE). Enables backwards compatibility by persisting the identifier rather than relying on ordinal position.

string
"" >= 1 characters
guaranteed
required

Whether this perk is guaranteed to be provided or available on a best-effort basis. Guaranteed perks take priority in allocation.

boolean
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
""
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
name
required

Use as title or short text description

string
""
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
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
""
extraCharges

Rate plan-level extra charges

object
items
Items

List of extra charges that applies to the rate plan.

Array<object>
""
object
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})?$/
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
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
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
price

The localized price of the extra charge

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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}$/
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}$/
activeCancellationPolicy

Active cancellation policy resolved at booking time.

object
identifier
required

Unique cancellation policy identifier

string format: uuid
""
hotelIdentifier
required

Property this cancellation is associated with

string format: uuid
""
refundable
required

Whether this cancellation policy is refundable or not

boolean
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
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 NINENTY_PERCENT ONE_HUNDRED_PERCENT
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
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
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
policyCode
string
ancillaryList

Ancillary services attached to this room stay.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
roomImageUrl

Absolute URL of room image

string format: uri
""
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
guestUser

Guest assigned to this room stay (lead occupant).

object
userIdentifier

User identifier

string format: uuid
""
firstName
required

First name

string
"" >= 1 characters
lastName
required

Last name

string
"" >= 1 characters
email
required

Email

string format: email
"" >= 1 characters
telephone

Telephone

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

Optional profile record

object
profileIdentifier
required

Profile identifier

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

User 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
firstName

User first name

string
""
lastName

User last name

string
""
email

User email address

string format: email
""
phone

User phone number

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

Profile picture URL

string format: uri
""
fullName

Full name

string
""
personal
required

Detailed customer information for this profile

object
gender

Identifies the gender of the customer.

string
""
Allowed values: MALE FEMALE OTHER
birthDate

Date of birth in ISO 8601 format

string format: date
""
maritalStatus

Marital status of the traveler

string
""
Allowed values: ANNULLED COHABITATING DIVORCED ENGAGED MARRIED SEPARATED SINGLE WIDOWED UNKNOWN
childQuantity

Number of children

integer format: int32
""
citizenship

Country of citizenship

string
""
address1

Primary address line

string
""
address2

Secondary address line

string
""
city

City name

string
""
state

State or province

string
""
postalCode

Postal code

string
""
country

Country code (ISO 3166-1 alpha-2)

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

Preferred currency for monetary values (ISO 4217 code)

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

Primary language (ISO 639-1 code)

string
"" /^[a-z]{2}(-[A-Z]{2})?$/
contactPerson
Array<object>

Array of emergency contact information for the customer

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
physChallName
Array<string>
petInfo
Array<object>

Array of customer’s pets

object
name
required

Pet name

string
"" >= 1 characters
type
required

Pet type

string
"" >= 1 characters
preferences
required

Customer preferences

object
propertyLocationPref

Preferred hotel property locations

string
""
propertyTypePref

Preferred hotel property types

string
""
hotelChainPref

Preferred hotel chain name

string
""
propertyAmenityPref

Preferred hotel property amenities

Array<string>
recreationSrvcPref

Preferred recreation services

Array<string>
businessSrvcPref

Preferred business services

Array<string>
securityFeaturePref

Preferred security features

Array<string>
physChalFeaturePref

Preferred accessibility features

Array<string>
""
smokingAllowed

Preference for smoking allowed rooms

boolean
roomLocationPref

Preferred hotel room locations

string
""
bedTypePref

Preferred hotel bed type

string
""
foodSrvcPref

Preferred food service facilities

string
""
roomAmenityPref

Preferred hotel room amenities

Array<string>
guestType

Guest type classification

string
""
mealPref

Meal preference

string
""
cuisinePref

Cuisine preference

string
""
interestPref

Interest preferences

Array<string>
beveragePref

Beverage preferences

Array<string>
foodPref

Food preferences

Array<string>
allergies

Known allergies

Array<string>
petsPref

Pet-friendly preferences

Array<string>
fullName

Full name

string
""
startDate
required

Check-in date

string format: date
""
endDate
required

Check-out date

string format: date
""
guests
integer format: int32
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
roomNights
integer format: int64
rateSource
string
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}$/
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}$/
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}$/
bookingStatus

Persisted booking lifecycle status.

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

How the booking was paid for: STRIPE or AGENT.

string
""
Allowed values: STRIPE AGENT
paymentDetails

Stripe payment details (PaymentIntent, charge, card info, fees).

object
vendor
required

Name of acquiring vendor

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

Unique session id from the vendor.

string
"" >= 1 characters
transactionIdentifier
required

Unique transaction id from the vendor.

string
"" >= 1 characters
customerIdentifier
required

Unique customer id from the vendor.

string
"" >= 1 characters
chargeIdentifier

Unique charge id from the vendor.

string
""
agentInvoicedDate

The date/time the invoice was generated

string format: date-time
""
agentInvoiceIdentifier

The specific invoice this booking was registered on

string
""
fees
Array<object>

Fees associated with this booking.

object
identifier
required

Unique system ID.

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}$/
type
required

Type of fee

string
""
Allowed values: ACQUIRING FX TAX
description
required

Withdrawal fee description

string
"" >= 1 characters
vendorSpecific
required

Vendor specific values that are returned in a successful response

object
key
additional properties
string
stripePaymentIntentId

Stripe PaymentIntent ID, denormalized for indexing.

string
""
cancellation

Cancellation details. Non-null means the booking is cancelled.

object
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
cancellationType

The cancellation policy type that was applied.

string
""
Allowed values: DUPLICATE CANCELLATION NO_SHOW CC_INVALID CC_INSUFFICIENT DISCRETIONARY
cancellerUserIdentifier

User identifier of the person who cancelled.

string format: uuid
""
cancelReason

Human-readable reason for cancellation.

string
""
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
refund

Refund issued against this booking, if any. A booking has at most one refund.

object
identifier
required

Unique refund identifier.

string format: uuid
"" >= 1 characters
stripeRefundId

Stripe Refund ID.

string
""
sourceAmount
required

Refund amount in source (supplier/hotel) currency.

number
""
internalAmount
required

Refund amount in internal (USD/capture) currency.

number
""
displayAmount
required

Refund amount in display (user) currency.

number
""
description
required

Human-readable description.

string
"" >= 1 characters
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
status
required

Current status of this refund.

string
""
Allowed values: PENDING SUCCEEDED CANCELED REQUIRES_ACTION FAILED
requestor
required

Who requested the refund.

string
""
Allowed values: BY_SUPPLIER BY_ADMIN BY_STRIPE BY_SYSTEM BY_AGENT BY_GUEST
createdDate
required

When the refund was created.

string format: date-time
""
processedDate

When the refund was processed by Stripe.

string format: date-time
""
receiptUrl

Stripe receipt URL for the refund.

string format: uri
""
stripeRefundFee

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

number
""
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
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
""
payoutList
Array<object>

List of payouts disbursed to beneficiaries.

object
identifier
required

Unique payout identifier.

string format: uuid
"" >= 1 characters
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
sourceAmount
required

Payout amount in source currency.

number
""
internalAmount
required

Payout amount in internal (USD) currency.

number
""
displayAmount
required

Payout amount in display currency.

number
""
status
required

Payout status (PENDING, COMPLETED, FAILED).

string
"" >= 1 characters
processedDate

When the payout was processed.

string format: date-time
""
withdrawalId

External withdrawal/transfer ID from payment processor.

string
""
statusHistory
Array<object>

Audit trail of status transitions.

object
fromStatus
required

Status before the transition.

string
""
Allowed values: INITIALIZED TEST_PAYMENT_SUCCEEDED PAYMENT_SUCCEEDED PAYMENT_FAILED FAILED CANCELLED PARTIALLY_REFUNDED FULLY_REFUNDED
toStatus
required

Status after the transition.

string
""
Allowed values: INITIALIZED TEST_PAYMENT_SUCCEEDED PAYMENT_SUCCEEDED PAYMENT_FAILED FAILED CANCELLED PARTIALLY_REFUNDED FULLY_REFUNDED
timestamp
required

When the transition occurred.

string format: date-time
""
actor

Who or what triggered the transition.

string
""
reason

Human-readable reason for the transition.

string
""
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
originalFeesInPercent
number
originalCommissionsInPercent
number
originalAffiliateAgencyFeesInPercent
number
originalSupplierAgencyFeesInPercent
number
totalFeesInPercent
number
totalFeesInPercentWithRefund
number
totalTripPayFeeInPercent
number
totalTripPayFeeInPercentWithRefund
number
totalCommissionsInPercent
number
totalCommissionsInPercentWithRefund
number
totalFeesAndCommissionsInPercent
number
totalFeesAndCommissionsInPercentWithRefund
number
totalTokensEarned
integer format: int64
fundsAvailableDate
string format: date
fundsProcessed

Whether all funds have been processed for this booking.

boolean
fundsAddedToLedger

Whether funds have been recorded in supplier’s ledger.

boolean
cancelled
boolean
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
meetingRooms

Meeting room reservation records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
restaurants

Restaurant reservation records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
spas

Spa reservation records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
activities

Activity reservation records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
attractions

Attraction reservation records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
places

Place reservation records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
roomTypeAncillaries

Room type ancillary records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
rateSource

Rate origin. This is usually the property channel manager.

string | null
""
hasAddOns

Convenience data point to check if any add-on offers are in this booking.

boolean
addOns

Add-on records.

Array<object>
""
object
identifier
required

Ancillary identifier

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

Hotel identifier

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

Travel inventory identifier

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

Travel inventory identifier

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

Name of inventory

string
"" >= 1 characters
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
type
required

Inventory type

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

Pricing information for this ancillary.

object
sourceToUserCurrencyQuote
required

Hotel to user currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
sourceToInternalCurrencyQuote
required

Hotel to wink currency exchange rate.

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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}$/
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}$/
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}$/
userSpecifiedCurrencyPromotionalModifier

Promotional modifiers in user specified currency

number
""
sourcePromotionalModifier

Promotional modifiers in hotel currency

number
""
internalPromotionalModifier

Promotional modifiers in wink currency

number
""
userSpecifiedCurrencyPremiumModifier

Premium modifiers in user specified currency

number
""
sourcePremiumModifier

Premium modifiers in hotel currency

number
""
internalPremiumModifier

Premium modifiers in wink currency

number
""
userSpecifiedCurrencyChannelModifier

Channel / Membership modifier in user specified currency

number
""
sourceChannelModifier

Channel / Membership modifier in hotel currency

number
""
internalChannelModifier

Channel / Membership modifier in wink currency

number
""
quantity

How many of this item is included in this price

integer format: int64
default: 1
promotionalDiscountPercent

Promotional discount percent

number
""
channelDiscountPercent

Channel discount percent

number
""
premiumPercent

Premium percent

number
""
hasPremium
boolean
hasPromotion
boolean
hasChannelDiscount
boolean
totalDiscountPercent
number
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}$/
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}$/
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}$/
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
""
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
""
attendees
required

Number of guests that are part of this reservation.

integer format: int32
default: 1
imageIdentifier
required

Cloudinary image identifier

string
"" >= 1 characters
imageUrl
required

Absolute URL to image of inventory

string
"" >= 1 characters
localizedName
required

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

string
"" >= 1 characters
localizedDescription
required

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

string
"" >= 1 characters
contact
required

Travel blocking contact (if applicable)

object
firstName

Contact first name

string
""
lastName

Contact last name

string
""
email

Contact E-mail

string format: email
""
secondaryEmail

Contact secondary Email

string format: email
""
phoneNumber

Contact phone number

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

First and last name

string
""
summary

Summary

string
""
address
required

Travel blocking address (if applicable)

object
address1

Address line 1

string
""
address2

Address line 2

string
""
state

State

string
""
postalCode

Postal / zip code

string
""
county

County

string
""
city

City name

string
""
countryCode

Country

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

Country

string
""
fullAddress

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

string
""
commissionable
required
boolean
mandatory
required
boolean
commission
required
number format: float
financialBreakdown
object
sourceCurrency
string
internalCurrency
string
displayCurrency
string
displayPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
internalPriceQuote

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

object
source
required

ISO 4217 source currency code

string
"" >= 1 characters
target
required

ISO 4217 target currency code

string
"" >= 1 characters
exchangeRate
required

Exchange rate from source to target currency

number
""
timestamp
required

Unix epoch milliseconds when the quote was recorded

integer format: int64
""
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
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
accountEmail
required

Contact email address for the beneficiary account

string format: email
"" >= 1 characters
accountUrl

Profile or dashboard URL for the beneficiary account

string
""
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
amountDue

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

object
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
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
""
sourceCurrency
required

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

string
"" >= 1 characters
displayCurrency
required

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

string
"" >= 1 characters
internalCurrency
required

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

string
"" >= 1 characters
sourceAmount
required

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

number
""
displayAmount
required

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

number
""
internalAmount
required

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

number
""
sourceAmountRefundModifier
required

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

number
""
displayAmountRefundModifier
required

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

number
""
internalAmountRefundModifier
required

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

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
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
""
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
""
netSourceAmount
required

Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)

number
""
netDisplayAmount
required

Net amount owed in display currency (displayAmount - displayAmountRefundModifier)

number
""
netInternalAmount
required

Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)

number
""
reconciled

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

boolean
metadata

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

object
key
additional properties
string
sourceAmount
number
internalAmount
number
displayAmount
number
sourceAmountRefundModifier
number
internalAmountRefundModifier
number
displayAmountRefundModifier
number
netSourceAmount
number
netInternalAmount
number
netDisplayAmount
number
commissionableTotalSourceAmount
number
commissionableTotalInternalAmount
number
commissionableTotalDisplayAmount
number
netCommissionableTotalSourceAmount
number
netCommissionableTotalInternalAmount
number
netCommissionableTotalDisplayAmount
number
totalFeesAndCommissionsSourceAmount
number
totalFeesAndCommissionsInternalAmount
number
totalFeesAndCommissionsDisplayAmount
number
netTotalFeesAndCommissionsSourceAmount
number
netTotalFeesAndCommissionsInternalAmount
number
netTotalFeesAndCommissionsDisplayAmount
number
totalFeesSourceAmount
number
totalFeesInternalAmount
number
totalFeesDisplayAmount
number
netTotalFeesSourceAmount
number
netTotalFeesInternalAmount
number
netTotalFeesDisplayAmount
number
totalTripPayFeeSourceAmount
number
totalTripPayFeeInternalAmount
number
totalTripPayFeeDisplayAmount
number
netTotalTripPayFeeSourceAmount
number
netTotalTripPayFeeInternalAmount
number
netTotalTripPayFeeDisplayAmount
number
totalSalesSourceAmount
number
totalSalesInternalAmount
number
totalSalesDisplayAmount
number
netTotalSalesSourceAmount
number
netTotalSalesInternalAmount
number
netTotalSalesDisplayAmount
number
totalAffiliateAgencyFeesSourceAmount
number
totalAffiliateAgencyFeesInternalAmount
number
totalAffiliateAgencyFeesDisplayAmount
number
netTotalAffiliateAgencyFeesSourceAmount
number
netTotalAffiliateAgencyFeesInternalAmount
number
netTotalAffiliateAgencyFeesDisplayAmount
number
totalSupplierAgencyFeesSourceAmount
number
totalSupplierAgencyFeesInternalAmount
number
totalSupplierAgencyFeesDisplayAmount
number
netTotalSupplierAgencyFeesSourceAmount
number
netTotalSupplierAgencyFeesInternalAmount
number
netTotalSupplierAgencyFeesDisplayAmount
number
netTotalCustomersSourceAmount
number
netTotalCustomersInternalAmount
number
netTotalCustomersDisplayAmount
number
metadata
object
key
additional properties
hasMeetingRooms

Convenience data point to check if any meeting room reservations are included in this booking.

boolean
hasSpas

Convenience data point to check if any spa reservations are included in this booking.

boolean
hasActivities

Convenience data point to check if any activity reservations are included in this booking.

boolean
hasAttractions

Convenience data point to check if any attractions reservations are included in this booking.

boolean
hasPlaces

Convenience data point to check if any place reservations are included in this booking.

boolean
reportingDailyRateList
Array<object>

Displays rate accounting details

object
date

The rate date.

string format: date
""
baseAmount

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

number
""
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
""
currency

The currency for these amounts.

string
""
reportingAncillaryList
Array<object>

Displays ancillary accounting details

object
name

Full name of ancillary in English.

string
""
grossAmount

The gross amount.

number
""
netAmount

The gross amount minus fees and commissions.

number
""
netAmountWithRefund

The gross amount minus fees and commissions.

number
""
currency

The currency for these amounts.

string
"" /^[A-Z]{3}$/
reportingExtraChargeList
Array<object>

Displays extra charge accounting details.

object
name

Name of the extra charge.

string
""
description

Description of the extra charge.

string
""
grossAmount

Gross amount of the extra charge.

number
""
netAmount

Net amount after fees and commissions.

number
""
netAmountWithRefund

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

number
""
currency

Currency code for these amounts.

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

Convenience data point to get to breakfast quickly.

boolean
hasBrunch

Convenience data point to get to brunch quickly.

boolean
hasLunch

Convenience data point to get to lunch quickly.

boolean
hasDinner

Convenience data point to get to dinner quickly.

boolean
hasAllInclusive

Convenience data point to get to all-inclusive quickly.

boolean
hasAllInclusivePlusAlcohol

Convenience data point to get to all-inclusive with alcohol quickly.

boolean
hasRefunds
boolean
hasRoomTypeAncillaries

Convenience data point to check if any room type ancillaries are in this booking.

boolean
hasFood

Convenience data point to check if any food is included in this booking.

boolean
hasRestaurants

Convenience data point to check if any restaurant reservations are included in this booking.

boolean
cancellable

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

boolean
key
additional properties
""
Example

Bad Request — missing or invalid request parameter or body

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Unauthorized — authentication is required or the session has expired

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Forbidden — authenticated but lacking the required permission or scope

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Not Found — the requested resource does not exist

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Unsupported Media Type — use application/json

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Internal Server Error — an unexpected failure occurred on the server

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Service Unavailable — a downstream dependency is unreachable

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example