Checkout Confirm Endpoint
Confirms the checkout and creates the hotel booking.
- Endpoint:
/api/v1/unified-booking/checkout/confirm - Method:
POST
Headers
| Header | Value | Required | Description |
|---|---|---|---|
Partner-Access-Token | Base64 String | Yes | Your encrypted AES-256 time-sensitive token. |
X-Currency | Currency Code | Yes | Requested currency code, e.g. THB or MMK. |
Content-Type | application/json | Yes | |
Accept | application/json | Yes |
Payload Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
buyer | Object | Yes | Buyer/contact information. |
products | Array | Yes | Products to confirm. Use the same product structure as checkout. |
products.guests | Array | Yes | Guest information grouped by room. Each item is an array of guests for one room. |
payment_method | String | Yes | Payment method. Example: pay_later. |
payment_option | String | Yes | Payment option. Example: pay_later. |
Sample Payload
{
"buyer": {
"first_name": "Alex",
"last_name": "Doe",
"nationality": "MM",
"phone_code": "66",
"phone_number": "800000001",
"email": "buyer@example.com"
},
"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:
| Value | Description |
|---|---|
ADU | Adult guest. |
CHD | Child 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": "Booking processed successfully",
"data": {
"invoice_no": "7992370634757",
"booking_number": "650E23E81BFC54D8",
"grand_total": 1543.75,
"currency_code": "THB"
}
}
Next Step
After booking success, call the Payment Request API to complete payment.