Create a new booking with customer information, room assignments, and optional payments.
The booking will be created with status “confirmed” and assigned a unique booking code.
Scope Required:bookings:write
Body Parameters:
“currency”: format: ISO 4217 currency code, example: VND,
“checkin_date”: format: YYYY-MM-DD,
“arrival_hour”: format: H:i,
“checkout_date”: format: YYYY-MM-DD,
“departure_hour”: format: H:i,
“source_commission”: integer (min 0) or null,
“notes”: format: string, max: 500 characters,
“source_name”: format: string, example: trip,
“occupancy_children”: format: integer, min: 0,
“occupancy_adults”: format: integer, min: 1,
“occupancy_infants”: format: integer, min: 0,
“payment_collect”: string|null, one of: “property”, “ota”, “online”, "",
Customer (customer) object:
“customer”: object, required, main guest information,
“booking_rooms[].days_breakdown”: array|null, custom price per day,
“booking_rooms[].days_breakdown[].day”: string, required with days_breakdown, format: YYYY-MM-DD,
“booking_rooms[].days_breakdown[].price”: numeric, required with days_breakdown, daily price,
Payments (payments) array:
“payments”: array|null, list of payment records to attach to booking,
“payments[].amount”: numeric, required, min: 0,
“payments[].notes”: string|null,
“payments[].method”: string|null, one of system payment method (cash, bank_transfer, debt, atm_transfer, credit_card, apple_pay, pos, wechat_pay..v.v),
“auto_cancel”: boolean|null, default: true. If true and no payments provided, booking will be auto-cancelled after 16 minutes if unconfirmed.
Important Notes:
Room availability is checked before booking creation
Overlapping bookings for same room will be rejected
Payment is optional - can be added later via Payment API
For hourly bookings: set checkin_date = checkout_date and specify arrival_hour, departure_hour
If no payments are provided and auto_cancel is true (default), the booking will be automatically cancelled after 16 minutes if it is still unconfirmed.
Set auto_cancel to false to disable automatic cancellation for partners who manage confirmation externally.