Vendor API 3.0 - Booking Retrieval Response Expanded and Booking Delivery Documentation Corrected
Previously, some values sent through booking delivery (POST /bookings) could not be read back through booking retrieval. With this change, every item in the delivery payload also appears in the retrieval response. In addition, three field types that were documented incorrectly for booking delivery have been corrected to match the actual behaviour.
Key Changes
1. Twelve Fields Added to the Booking Retrieval Response
GET /gds/vendor/booking/{vendor_booking_number}
| Field | Type | Required | Description |
|---|---|---|---|
channel_id | number | Required | Sales channel ID (e.g. 132) |
channel_name | string | Required | Sales channel name |
channel_booking_number | string | Optional | Sales channel booking number |
gds_booking_number | string | Required | ONDA Hub booking number |
gds_sub_booking_number | string | Required | ONDA Hub sub-booking number (one per room within a booking) |
rateplan_id | string | Optional | Vendor rate plan ID. Omitted for bookings with no mapping |
total_amount | number | Required | Channel-side selling price. With postpayment, the amount collected on site |
net_price | number | Required | Deposit amount (payable to the vendor) |
payment_type | prepayment | postpayment | Required | Payment type (prepaid / pay on arrival) |
special_comment | string | Optional | Guest requests |
visit_type | walk | car | Optional | Arrival method. Present only when the channel supplies it |
secondary_channel | string | Optional | Secondary sales channel. Present only when the channel supplies it |
When an optional field has no value, the key is omitted entirely rather than set to null. Check for the presence of the key when parsing the response.
Now that the response carries three amount fields, here is what each one means:
| Field | Basis |
|---|---|
amount | Vendor-side amount — the per-night amounts plus any extra charges |
total_amount | Channel-side selling price |
net_price | Deposit amount (payable to the vendor) |
2. Change to the type Field in the Booking Retrieval Response
| When no value is present | |
|---|---|
| Before | "type": null |
| After | The key is omitted |
This aligns the response with the booking delivery payload. No booking in production data lacks this value, so responses do not actually change — but if your parsing logic compares against null, please verify it.
3. Booking Delivery Documentation Corrected
The values being sent have not changed. The documentation did not match the actual behaviour and has been corrected. If you implemented against the documentation, please verify your code.
| Field | Documentation (before) | Actual = documentation (now) |
|---|---|---|
channel_id | string, example 'NAVER' | number, example 132 |
total_amount | string, example '100000' | number, example 100000 |
channel_booking_number | Required | Optional |
channel_idandtotal_amounthave always been sent as numbers. Only the documented examples were wrong.channel_booking_numberis now optional because the key can be absent when the sales channel does not supply its own booking number.
The total_amount in PUT /bookings/{vendor_booking_number}/modify carried the same documentation error and has also been corrected to number.
Related Documents
Contact
If you have any questions about API integration, please feel free to contact us:
- Technical Support: techsupport@onda.me