Last updated

Run order reports

Use the /orders/details endpoint to retrieve detailed information for existing orders across all travel services — including accommodations, cars, flights, attractions and taxis. It provides a single consolidated data source for financial reporting and reconciliation, without needing to query multiple endpoints.


/orders/details/

The orders/details endpoint supports financial reconciliation, attribution tracking, and operational reporting from a single data source, without needing to combine responses from multiple service-specific endpoints.

It returns consolidated order data across travel services, including:

  • Pricing and totals.
  • Payment and payment status information.
  • Commissions and attribution data.
  • Loyalty rewards (where applicable)
  • Service-specific booking details.

Use this endpoint when you need consistent, cross-service reporting data in a single response.

Use cases

You can use this endpoint to:

Generate consolidated reports across all booked travel services in a single request.
Run financial reconciliation using pricing, payment, and commission data.
Syncrhronise order changes directly with your internal systems.
Validate booking and payment details per order or reservation.
Track order attribution to analyse specific touchpoints and measure conversion performance.

You can retrieve orders by providing order IDs, reservation IDs, or supported date range filters, and receive a unified response structure across services.


How it works

Send a POST request using one of these filters plus the requied currency field:

Filter type
Description
Identifiers - If you wish to check a specific list of bookings.
  • orders (max 100).
  • reservations (max 100)

Date range - Use it for reporting or reconciliation.
  • created (max 7 days).
  • updated (max 7 days).
  • start (checkin, pickup).
  • end (checkout, dropoff).
Date range constraints
  • Orders can only be returned if created or updated within 1 year of the request date.
  • Maximum allowed range for any date filter is 7 days.
  • Updates may take up to 2 hours to appear in the response.
  • See the Data conventions guide for correct date/time formats.

Optional fields

You can also include:

  • extras — Request additional information (Currently supports payment)
  • services — Limit results to selected travel services.
  • maximum_results — Limit the number of results returned.
  • sort.by and sort.direction — Sort results by creation or update date and specify the direction (ascending/descending).
Services filter is exclusive

Theservices field is exclusive — include all travel services you want returned. Example: services: ["cars", "accommodations"]

Examples

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

Retrieve all orders created within a date range

Scenario: Get all new orders for cars and accommodations created between 1 and 7 December 2025 to sync with an internal Customer Relationship Management tool (CRM).

{
    "created": {
      "from": "2025-12-01T02:00:00+00:00",
      "to": "2025-12-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.

See the Order details - use cases for more examples.


Response structure overview

The API returns matching orders in a standardised response format. Each order object includes:

Field
Description
idOrder identifier
affiliateAffiliate ID
booker
  • Containing Personally Identifiable Information (PII) (retrieved only if authorised)
  • address, email, name and telephone, language, platform and travel_purpose.
created/ updatedDate when the order was created and last updated.
commissionCommission values.
currencies
  • booker - Currency shown to the booker.
  • product - Currency in which the product is priced.
label (v3.2)Custom partner string for tracking and attribution.

loyalty_reward

Displays loyalty rewards details, such as amount, eligibility, and fulfilment date.

(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

(See the Payments section)

priceTotal and commissionable amounts. See Pricing guide
statusAggregated order status (booked, cancelled, stayed, no-show, etc)
start / endAggregated service dates.
Travel service blocksService-specific booking data.

Minimal response example

{
  "request_id": "req_123",
  "data": [
    {
      "id": "880045112233",
      "affiliate": 111111,
      "status": "booked",
      "start": "2026-03-10T08:00:00Z",
      "end": "2026-03-12T10:00:00Z",
      "currencies": {
        "booker": "EUR",
        "product": "EUR"
      },
      "price": {
        "total_price": {
          "booker_currency": 420,
          "product_currency": 420
        }
      },
      "accommodations": [
        {
          "reservation": "ABC123"
        }
      ]
    }
  ],
  "metadata": {
    "next_page": null,
    "total_results": 1
  }
}

Travel service specific details

Orders may include multiple travel services if booked together (null if the service has not been booked as part of the order. )

Travel serviceDemand API v3.1v3.2
accommodations
cars
flights
attractions
taxis

Key parameters

A reservation ID identifies each travel service that is part of the order.

  • Each order may have different reservation IDs if multiple services are booked (for example, accommodation and car rental).
  • This field is required for cancellations or customer service enquiries.
v3.2 Parameter
Description
accommodationsAccommodation-specific details:
  • reservation → reservation ID
  • name, location (address, city, country)
  • number_of_guests
  • inventory (third_party, type) → net or sell rates
  • stay_probability → optional likelihood score (0 = high cancellation risk, 1 = high stay probability)
carsCar rental-specific details:
  • reservation → reservation ID
  • pickup_location, dropoff_location (address, city, country)
attractionsAttraction-specific details:
  • reservation → reservation ID
  • name, location (city, country)
flightsFlight-specific details:
  • reservation → reservation ID
  • itineraries → departure and arrival (airport, date_time)
taxisList of taxi legs with pickup/drop-off times and locations.
  • Each leg has a different reservation ID.

Example – Attraction reservation details (v3.2)

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

Example – Taxi reservation details (v3.2)

Scenario: Retrieve taxi order details including multiple legs.

{
  "request_id": "03fr9fz702lmnop12w34x5y6z",
  "data": [
    {
      "id": "709430129718801",
      "affiliate": 333333,
      "taxis": [
        {
          "reservation": "TX987654321",
          "pickup_location": { "city": "Paris", "country": "fr" },
          "dropoff_location": { "city": "Lyon", "country": "fr" },
          "start": "2026-07-10T09:00:00+00:00",
          "end": "2026-07-10T14:00:00+00:00"
        },
        {
          "reservation": "TX987654322",
          "pickup_location": { "city": "Lyon", "country": "fr" },
          "dropoff_location": { "city": "Marseille", "country": "fr" },
          "start": "2026-07-12T10:00:00+00:00",
          "end": "2026-07-12T15:00:00+00:00"
        }
      ],
      "booker": {
        "name": { "first_name": "Bob", "last_name": "Brown" },
        "email": "bob.brown@example.com",
        "telephone": "+33123456789",
        "language": "fr",
        "platform": "mobile",
        "travel_purpose": "leisure",
        "address": { "city": "Paris", "country": "fr" }
      },
      "commission": {...},
      "currencies": { "booker": "EUR", "product": "EUR" },
      "price": {
        "commissionable_price": { "booker_currency": 375, "product_currency": 400 },
        "total_price": { "booker_currency": 400, "product_currency": 425 }
      },
      "start": "2026-07-10T09:00:00+00:00",
      "end": "2026-07-12T15:00:00+00:00",
      "status": "booked",
      "created": "2026-02-01T08:00:00+00:00",
      "updated": "2026-02-02T10:00:00+00:00"
    }
  ],
  "metadata": {...}
}

See all travel services examples in Orders details - Use cases guide.


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.

Post-booking - Specific travel service details

Use each orders/details/*service endpoint for granulated details on a specific travel service so you can perform post-booking tasks such as:

Guides

orders/details/accommodation

Learn how to use this endpoint to retrieve all the details of an accommodation reservation for post-booking flows.

orders/details/cars

Follow this guide to retrieve all the details of a car rental reservation for post-booking tasks.

orders/details/flights

Check how to use this endpoint to retrieve all the details of a flight reservation for post-booking flows.


Curious to know more?