Upsells
upsells and upsell_data fields and gives examples of filling them.
Upsell parameters and the upsell_data object are used to include information about additional services — such as early check-in or late check-out — in a booking request. Using these fields helps to tailor booking offers to specific user needs, ensuring both service accuracy and a better user experience.
Upsells can be specified in the requests in the Search by hotel IDs and Retrieve hotelpage calls.
Parameters Description
early_checkinindicates whether early check-in is required.time— specifies the desired early check-in time.
late_checkoutindicates whether late check-out is needed.timespecifies the desired late check-out time.
only_eclcwhen is set totrue, only rates offering early check-in or late check-out will be considered.upsell_dataprovides detailed information about the requested upsell.attributesupsell check-in and check-out dates as a string.checkin_datetimethe date and time of the upsell check-in.checkout_datetimethe date and time of the upsell check-out.namethe name of the upsell (e.g.,early_checkin,late_checkout).rule_idthe upsell rule ID.uidthe unique upsell ID (use the value returned from the Create booking call.
Usage Recommendations
- Use upsell parameters and the
upsell_dataobject when the user requires additional services. - If a specific time is needed for early check-in or late check-out, set it explicitly using the
time,checkin_datetime, orcheckout_datetimefields. - Only one early check-in and one late check-out should be requested and selected.
- To filter search results to only those that support early check-in or late check-out, set
only_eclctotrue. - Provide the unique upsell ID (
uid) and rule ID if available from previous steps in the booking process.
Cancellation policy
The upsell’s free cancellation policy is the same as the main rate’s policy and should be taken from cancellation_penalties.free_cancellation_before.
Upsells do not include a detailed cancellation breakdown.
Examples
- Always use the
uidvalue returned from the create booking process when referencing an upsell in a subsequent call. - Dates and times should be in format:
2006-01-02.2006-01-02 15:04.2006-01-02T15:04.2006-01-02 15:04:05.2006-01-02T15:04:05.2006-01-02T15:04:05-07:00.2006-01-02T15:04:05Z07:00.
Request With Early Check-in and Late Check-out
In this example, the user requests early check-in at 10:00 on the check-in date and late check-out at 16:00 on the check-out date.
For the API to work correctly, the time parameter in early_checkin and late_checkout must be in ISO 8601 datetime format (YYYY-MM-DDTHH:MM), where the date matches the corresponding check-in or check-out date.
{
"checkin_date": "2024-06-01",
"checkout_date": "2024-06-05",
"upsells": {
"early_checkin": {
"time": "2024-06-01T10:00"
},
"late_checkout": {
"time": "2024-06-05T16:00"
}
}
}- The early_checkin.time date must match your checkin_date.
- The late_checkout.time date must match your checkout_date.
- Time format should always include both date and time, not just time.
Request With Only Early or Late Check-in/Out Rates
Only rates that include either early check-in or late check-out will be returned.
{
"checkin_date": "2024-06-01",
"checkout_date": "2024-06-05",
"upsells": {
"only_eclc": true
}
}Without Specific Time
User requests an early check-in, but without specifying the exact time.
{
"checkin_date": "2024-06-01",
"checkout_date": "2024-06-05",
"upsells": {
"early_checkin": {}
}
}Combined Usage
Requests late check-out at 18:00 and wants to see only those rates that include either early check-in or late check-out.
{
"checkin_date": "2024-06-01",
"checkout_date": "2024-06-05",
"upsells": {
"late_checkout": {
"time": "2024-06-05T18:00"
},
"only_eclc": true
}
}Adding Upsell Data to an Order
This order includes an upsell for early check-in, with check-in at 09:00, and all relevant identifiers for the chosen upsell option.
{
"order_id": "ORD-123456",
"upsell_data": {
"attributes": "Check-in: 2024-07-05 09:00",
"checkin_datetime": "2024-07-05T09:00:00Z",
"name": "early_checkin",
"rule_id": 47,
"uid": "upsell-7890"
}
}Multiple Upsell Data Entries
If you need to specify both early check-in and late check-out upsells in one request, you can provide multiple upsell_data objects:
{
"order_id": "ORD-123457",
"upsell_data": [
{
"name": "early_checkin",
"checkin_datetime": "2024-07-05T08:00:00Z",
"rule_id": 47,
"uid": "upsell-1234"
},
{
"name": "late_checkout",
"checkout_datetime": "2024-07-10T19:00:00Z",
"rule_id": 48,
"uid": "upsell-5678"
}
]
}Adds both early check-in and late check-out upsells to the order, with times and corresponding IDs.