Skip to main content

Checkout Endpoint

Reviews the selected hotel rate and returns final checkout details before booking confirmation.

  • Endpoint: /api/v1/unified-booking/checkout
  • Method: POST

Headers

HeaderValueRequiredDescription
Partner-Access-TokenBase64 StringYesYour encrypted AES-256 time-sensitive token.
X-CurrencyCurrency CodeYesRequested currency code, e.g. THB or MMK.
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes

Payload Parameters

ParameterTypeRequiredDescription
productsArrayYesProducts to checkout.
products.guestsArrayYesGuest information grouped by room. Each item is an array of guests for one room.
hotel_codeStringYesProvider hotel code.
hotel_nameStringYesHotel name.
rate_codeStringYesRate code from Search Room.
check_inStringYesDate format YYYY-MM-DD.
check_outStringYesDate format YYYY-MM-DD.
roomsIntegerYesRoom quantity.
adultsIntegerYesAdult quantity.
childrenIntegerOptionalChildren quantity.
children_agesArrayOptionalChild ages.
country_codeStringYesHotel country code.
product_typeStringYesHotel product type. Use pd11.
payment_methodStringYesPayment method. Example: pay_later.
payment_optionStringYesPayment option. Example: pay_later.

Sample Payload

{
"products": [
{
"guests": [
[
{
"first_name": "John",
"last_name": "Doe",
"email": "guest@example.com",
"mobile_phone_code": "66",
"mobile_phone_number": "800000000",
"type": "ADU",
"nationality_code": "TH"
}
]
],
"order_note": "test",
"hotel_code": "757293",
"hotel_name": "Best Western Sukhumvit 20",
"rate_code": "v2067864075593089035_7200_2|TH",
"check_in": "2026-06-27",
"check_out": "2026-06-28",
"rooms": 1,
"adults": 2,
"children": 0,
"children_ages": [],
"country_code": "TH",
"product_type": "pd11"
}
],
"payment_method": "pay_later",
"payment_option": "pay_later"
}

Guest Grouping

The guests value must be grouped by room. For one room, send one nested guest array:

Guest type values:

ValueDescription
ADUAdult guest.
CHDChild guest.
"guests": [
[
{
"first_name": "John",
"last_name": "Doe",
"email": "guest@example.com",
"mobile_phone_code": "66",
"mobile_phone_number": "800000000",
"type": "ADU",
"nationality_code": "TH"
}
]
]

For two rooms, send two nested guest arrays:

"guests": [
[
{
"first_name": "John",
"last_name": "Doe",
"email": "guest@example.com",
"mobile_phone_code": "66",
"mobile_phone_number": "800000000",
"type": "ADU",
"nationality_code": "TH"
}
],
[
{
"first_name": "Jane",
"last_name": "Smith",
"email": "guest2@example.com",
"mobile_phone_code": "66",
"mobile_phone_number": "800000000",
"type": "ADU",
"nationality_code": "TH"
}
]
]

Sample Response

{
"result": 1,
"message": "Checkout data retrieved successfully.",
"data": [
{
"puid": "0G7KY9KNb6",
"product_type": "pd11",
"hotel_code": "757293",
"hotel_name": "Best Western Sukhumvit 20",
"room_type_code": "4036268",
"room_name": "Superior Double Room",
"rate_code": "v2067864077023346698_7201_2|TH",
"check_in": "2026-06-27",
"check_out": "2026-06-28",
"rooms": 1,
"adults": 2,
"children": 0,
"currency": "THB",
"display_currency": "MMK",
"display_grand_total": 208406.25,
"original_currency": "CNY",
"original_price": 268.75,
"grand_total": 208406.25,
"total_price": 182047.5,
"total_with_tax": 208406.25,
"tax_amount": 26358.75,
"refundable": false,
"cancellation_info": {
"refundable": false,
"deadline": "2026-06-18 10:00:00",
"timezone_label": "Asia/Bangkok"
}
}
],
"meta": {
"currency_code": "MMK",
"sub_total": 208406.25,
"grand_total": 208406.25,
"bank_fee_amount": 3,
"bank_fee_price": 6252.19,
"bank_fee_grand_total": 214658.44
}
}

Notes

Use this endpoint to validate final rate, pricing, and cancellation information before confirming the booking.