Last updated

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
DescriptionRequired fields
createdRetrieve orders created within a specific date and time range (maximum 7 days).created, currency
updatedRetrieve orders updated within a specific date and time range (maximum 7 days).updated, currency
startRetrieve orders based on the start date (for example, check-in or pick-up date).start, currency
endRetrieve orders based on the end date (for example, check-out or drop-off date).end, currency
ordersRetrieve one or more orders by their unique order IDs (up to 100).orders, currency
reservationsRetrieve one or more orders by reservation IDs (up to 100).reservations, currency
pageRetrieve 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 supports payment).
  • 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).
Important

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"
    ]
  }

genius-bulb 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 IDUnique identifier for the order.
accommodations, cars, flights Linked to the travel service the order includes.
  • Each service included in the order, has a different reservation ID (Needed for cancellations or customer service enquiries).
affiliate IDIdentifies the partner so that commission can be attributed.
booker
  • Containing Personally Identifiable Information (PII) - address, email, name and telephone, language, platform and travel_purpose.
  • Only returned if you are authorised to access this information.
createdDate when the order was created.

commission

Displays the actual commission amount if available, or an estimated value if not.

Note: If an order is cancelled, commission will be 0.

currencyThe currency used for the disclosed amounts.
loyalty_rewardDisplays loyalty rewards details, such as amount, eligibility, and fulfilment date. This field is only visible for orders with a loyalty reward.

payment

Payment-specific details:

  • method → airplus, card, wallet.
  • paid / pending → array of transactions (amount, at, transaction_currency)
  • timingpay_at_the_property, pay_online_later, pay_online_now
  • Accommodation payments may include authorisation_form or receipt_url

For more details, see the Payments section.

priceIncludes both the commissionable and total amounts. For more details, refer to the Accommodation pricing section.
statusIndicates whether the order is: booked, cancelled (by accommodation or guest), stayed, or no-show.
updatedIt 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
CauseSuggested Resolution
Empty 200 OK responseNo orders match the request filters.Check that the date range, service types, and other filters correspond to existing data.
400 – Invalid date filtersIllogical or malformed dates (e.g., start_date > end_date)Ensure dates are in ISO 8601 format and logically ordered.
400 – Incompatible service typesMixed or unsupported service types in a single request.Limit to supported service type combinations or query them separately.
403 – Restricted PII dataExpecting guest data without proper authorisation.Confirm PII access has been granted and the proper scopes are used.
404 – Order not foundOrder ID doesn’t exist or isn’t accessible to the account.Make sure the order belongs to your account.
Performance degradationLarge 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.


Curious to know more?