Check order details
Use the /orders/details/ endpoint to retrieve information about existing orders across all supported travel services — including accommodations, cars, and flights.
/orders/details/
The orders/details endpoint provides access to general information about accommodation and other travel services (such as car rentals) within specific orders, over a defined date range.
You can use this endpoint to:
| ✓ | Have an accurate reporting on all your bookings across all travel services. |
| ✓ | Verify booking, pricing, and payment information for each travel service. |
| ✓ | Syncrhronise order data, commissions and attributions with internal systems. |
| ✓ | Retrieve details by ID or within specific date ranges. |
How it works
You can query this endpoint using one of several input types. Each input type defines a filtering approach for example: by creation, starting/ending dates, by order or reservation ID, or by updated dates.
Each request must include a currency parameter.
Defining your request
You can request order details using one of these inputs:
Input type | Description | Required fields |
|---|---|---|
created | Retrieve orders created within a specific date and time range (maximum 7 days). | created, currency |
updated | Retrieve orders updated within a specific date and time range (maximum 7 days). | updated, currency |
start | Retrieve orders based on the start date (for example, check-in or pick-up date). | start, currency |
end | Retrieve orders based on the end date (for example, check-out or drop-off date). | end, currency |
orders | Retrieve one or more orders by their unique order IDs (up to 100). | orders, currency |
reservations | Retrieve one or more orders by reservation IDs (up to 100). | reservations, currency |
page | Retrieve the next page of results using a page token from a previous response. | page |
Date range constraints
- Orders can only be returned if they were created or updated within 1 year of the call date.
- The maximum time range for created, updated, start, or end filters is 7 days.
- Updates are generally reflected in the response shortly after they occur, but it can take up to 2 hours since the order creation.
See the Data conventions guide for date/times correct formats.
Optional fields
and you can optionally include:
extras- to request additional information about the order (currently supportspayment).services- to limit results to specific travel services such as accommodations, attractions, cars, or flights.maximum_results- Set the limit on the number of results returned.sort.by- Sort results by creation or update date and specify the direction (ascending/descending).
Note the "services" field is exclusive, hence if you want to retrieve several services you should specify them. Example: services: ["cars", "accommodations"]
Example - Retrieve order details by reservation IDs
Scenario: Retrieve details for specific reservations to verify payment and commission.
{
"currency": "EUR",
"reservations": [
"2321873123",
"4666773123"
],
"sort": {
"by": "updated",
"direction": "descending"
},
"extras": [
"payment"
]
}Example - Retrieve all orders created within a date range
Scenario: Get all new orders for cars and accommodations created between 1 and 7 September 2025 to sync with an internal CRM.
{
"created": {
"from": "2025-09-01T02:00:00+00:00",
"to": "2025-09-07T02:00:00+00:00"
},
"currency": "EUR",
"maximum_results": 20,
"sort": {
"by": "updated",
"direction": "descending"
},
"services": ["cars", "accommodations"],
"extras": [
"payment"
]
}
Use created.from and created.to to build incremental sync logic for systems that regularly update booking data.
Example - Retrieve stayed bookings for loyalty updates
Scenario: Get orders with stays completed (end date) between 1 and 7 February 2025 to credit loyalty points.
{
"end": {
"from": "2025-02-01",
"to": "2025-02-07"
},
"currency": "EUR",
"maximum_results": 20,
"sort": {
"by": "updated",
"direction": "descending"
},
"extras": [
"payment"
]
}Handling orders/details responses
A successful response returns a list of matching orders, each including one or more reservations.
The fields returned depend on your input and any requested extras, as well as the Demand API version used for your requests.
Key parameters
The key parameters in v3.1 orders/details response are:
Parameter | Description |
|---|---|
order ID | Unique identifier for the order. |
accommodations, cars, flights | Linked to the travel service the order includes.
|
affiliate ID | Identifies the partner so that commission can be attributed. |
booker |
|
created | Date when the order was created. |
| Displays the actual commission amount if available, or an estimated value if not. Note: If an order is cancelled, commission will be 0. |
currency | The currency used for the disclosed amounts. |
loyalty_reward | Displays loyalty rewards details, such as amount, eligibility, and fulfilment date. This field is only visible for orders with a loyalty reward. |
| Payment-specific details:
For more details, see the Payments section. |
price | Includes both the commissionable and total amounts. For more details, refer to the Accommodation pricing section. |
status | Indicates whether the order is: booked, cancelled (by accommodation or guest), stayed, or no-show. |
updated | It shows when was last updated. |
The Personally Identifiable Information (PII) fields are only returned if you are authorised to see this information.
Response with loyalty reward and commission
In case a loyalty reward programme is available, you can check there the amount and currency, the type of the program, and timelines.
{
"id": "xxxxxxxxxxxxxxx",
"accommodations": {
"reservation": 1234567890
},
"affiliate": 123456,
"booker": {
"address": {
"city": "Amsterdam",
"country": null
},
"email": "xxxxxxx@example.com",
"name": {
"first_name": "xxxxxx",
"last_name": "xxxxxxxxxx"
},
"language": "en",
"platform": "desktop",
"telephone": "12345678",
"travel_purpose": "unknown"
},
"commission": {
"actual_amount": 17.5,
"estimated_amount": null
},
"created": "2025-08-25T12:20:30+00:00",
"currency": "EUR",
"loyalty_reward": [
{
"amount": 15,
"currency": "USD",
"eligible": true,
"fulfillment_at": "2025-10-10",
"fulfillment_by": "partner",
"loyalty_data": [
{
"name": "Email Id",
"value": "john_doe@booking.com"
},
{
"name": "Loyalty ID",
"value": "10101010"
}
],
"type": "point"
}
],
"price": {
"commissionable": 180.01,
"total": 180.01
},
"status": "cancelled_by_guest",
"updated": "2025-10-25T13:42:13+00:00"
}
Note: As this order has been cancelled by the guest, commission is 0. See the cancellation guide for more information about this use case.
Example - Response with cancelled accommodation reservation
A standard response for a cancelled accommodation order would be:
{
"id": "xxxxxxxxxxxxxxx",
"accommodations": {
"reservation": 1234567890
},
"affiliate": 123456,
"booker": {
"address": {
"city": "Amsterdam",
"country": null
},
"email": "xxxxxxx@example.com",
"name": {
"first_name": "xxxxxx",
"last_name": "xxxxxxxxxx"
},
"language": "en",
"platform": "desktop",
"telephone": "12345678",
"travel_purpose": "unknown"
},
"commission": {
"actual_amount": 0.00,
"estimated_amount": null
},
"created": "2025-08-25T12:20:30+00:00",
"currency": "EUR",
],
"price": {
"commissionable": 0.00,
"total": 0.00
},
"status": "cancelled_by_guest",
"updated": "2025-08-25T13:42:13+00:00"
},
Example – Car reservation details
{
"request_id": "01fr9ez700exycb98w90w5r9sh",
"data": [
{
"id": "509430129718799",
"affiliate": 111111,
"accommodations": {
"reservation": 12345677,
"inventory": {
"third_party": false,
"type": "sell"
}
},
"cars": {
"reservation": 9876543
},
"booker": {
"name": {
"first_name": "John",
"last_name": "Doe"
},
"email": "johndoe@booking.com",
"telephone": "+100000000",
"language": "en-gb",
"platform": "mobile",
"travel_purpose": "business",
"address": {
"city": "Amsterdam",
"country": "nl"
}
},
"commission": {
"actual_amount": 17.5,
"estimated_amount": null
},
"currency": "EUR",
"flights": null,
"loyalty_reward": [
{
"amount": 15,
"currency": "USD",
"eligible": true,
"fulfillment_at": "2025-02-10",
"fulfillment_by": "partner",
"loyalty_data": [
{ "name": "Email Id", "value": "john_doe@booking.com" },
{ "name": "Loyalty ID", "value": "10101010" }
],
"type": "point"
}
],
"price": {
"commissionable": 160,
"total": 170.01
},
"status": "booked",
"updated": "2025-07-28T02:00:00+00:00",
"created": "2025-07-28T02:00:00+00:00"
}
],
"metadata": {
"next_page": null,
"total_results": 1
}
}Example – v3.2 Attraction reservation details
This travel service is only available in v3.2 Beta for the time being.
{
"order_id": "509430129718801",
"attractions": {
"reservation": 567890123,
"name": "Eiffel Tower Guided Tour",
"location": {"city": "Paris", "country": "fr"}
},
"affiliate": 111111,
"booker": {
"address": {"city": "Amsterdam", "country": "nl"},
"email": "janedoe@booking.com",
"name": {"first_name": "Jane", "last_name": "Doe"},
"platform": "desktop",
"telephone": "+100000001",
"language": "en-gb",
"travel_purpose": "leisure"
},
"commission": {"actual_commission_amount": {"booker_currency": 5.0, "product_currency": 6.0}},
"currencies": {"booker": "EUR", "product": "EUR"},
"price": {"commissionable_price": {"booker_currency": 50, "product_currency": 60}, "total_price": {"booker_currency": 55, "product_currency": 66}},
"status": "booked",
"start": "2026-07-10T09:00:00+00:00",
"end": "2026-07-10T12:00:00+00:00",
"created": "2025-11-28T02:00:00+00:00",
"updated": "2025-11-28T02:00:00+00:00"
}Handling large orders
If you need to retrieve more than 50,000 orders across all pages, split your request into multiple smaller calls. This ensures the response is manageable.
See the Pagination guide for best practices.
Post-booking tasks
Use the affiliate id, booker details, commission_details, loyalty_reward, price, and status to:
- Manage cancellations
- Report commissions to affiliates.
- Allocate loyalty points or rewards.
Error handling
While the /orders/details endpoint follows general API error conventions, there are several endpoint-specific conditions to be aware of:
Scenario | Cause | Suggested Resolution |
|---|---|---|
| Empty 200 OK response | No orders match the request filters. | Check that the date range, service types, and other filters correspond to existing data. |
| 400 – Invalid date filters | Illogical or malformed dates (e.g., start_date > end_date) | Ensure dates are in ISO 8601 format and logically ordered. |
| 400 – Incompatible service types | Mixed or unsupported service types in a single request. | Limit to supported service type combinations or query them separately. |
| 403 – Restricted PII data | Expecting guest data without proper authorisation. | Confirm PII access has been granted and the proper scopes are used. |
| 404 – Order not found | Order ID doesn’t exist or isn’t accessible to the account. | Make sure the order belongs to your account. |
| Performance degradation | Large unpaged queries with wide date ranges. | Use pagination and segment queries into smaller date intervals. |
Travel services details in orders
You can also look at the details of a specific travel service as part of an order.
orders/details/accommodation
Use this endpoint to see all the details of an accommodation reservation.
orders/details/cars
Check all the details of the car rental reservation part of an order.
orders/details/flights
Look at the flight reservation details included in an order.
- Learn about accommodation pricing and how you can display them in your application.
- Make yourself familiar with the cancellation process checking the Cancellations guide.