Booking.com Demand API (3.2 Beta)

3.2 Beta

These endpoints are only available in Beta.

  • Limited access: This API is currently offered to a limited number of pilot affiliate partners. For inquiries regarding participation, please contact our partnerships team.
  • Active development: These are under active development and subject to change.
  • Frequent updates: These API specifications will be regularly updated throughout the pilot. We recommend checking the changelog page periodically for the latest changes.

    Note: Authentication is required using your Affiliate ID and token credentials.
Download OpenAPI description
Languages
Servers
Production environment
https://demandapi.booking.com/3.2/Beta/
Sandbox environment
https://demandapi-sandbox.booking.com/3.2/Beta/

Car rentals

3.2 Beta

Find here only the new car rental endpoints, which are part of the 3.2 Beta version and still under active development.

Use these endpoints to test the complete Search, look, and book flow for car rentals, including checking availability, retrieving terms and conditions, and creating an order.
See Demand API version 3.2 for other car rental endpoints.

Important:

  • These endpoints are currently available only in the 3.2 Beta version, are under active development and may change in future releases.
  • Access is limited to partners participating in the pilot/early access programme. Contact your Booking.com Account manager to request more information.
Operations

Attractions

| 3.2 Beta | New |

The Attractions API collection introduces a new travel service asset within the Demand API.

Use these endpoints to search for attractions, retrieve detailed information, and store static data.

Important:

  • These endpoints are currently available only in the 3.2 Beta version, are under active development and may change in future releases.
  • Access is limited to partners participating in the pilot/early access programme. Contact your Booking.com Account manager to request more information.
Operations

Orders

| 3.2 Beta | Changed |

Find in this version only the order endpoints that provide support to the car rental booking.

  • Use these endpoints to preview and create new car rental orders, check car order details, cancel or modify car rental orders.
  • This collection is required to integrate booking and order management functionality with car rental.

Important:

  • These endpoints are also available in version 3.2 but without the car implementation.
  • Support to car rental booking is only available in the 3.2 Beta version, as are under active development and may change in future releases.
  • Access is limited to partners participating in the pilot/early access programme. Contact your Booking.com Account manager to request more information.
Operations

Create an order

Request

| 3.2 Beta | Changed |

Use this endpoint to confirm the car rental order and proceed the payment.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
One of:
accommodationobject(OrderCreateAccommodationInput)required

Additional information related to the accommodation order. This field is mutually exclusive with car; only one of them can be included in a request.

Example: {"label":"Sample label","products":[{"id":"333","bed_configuration":"123456","guests":[{"email":"test.name@booking.com","name":"Test Name"}]}],"remarks":{"estimated_arrival_time":{"hour":12},"special_requests":"We will need an extra cot."}}
accommodation.​labelstring

A label for this order. This can be read back later while fetching this order details.

Example: "Sample label"
accommodation.​productsArray of objects(OrderCreateProductInformationInput)

Additional information related to each product in this order.

Example: [{"id":"333","bed_configuration":"123456","guests":[{"email":"test.name@booking.com","name":"Test Name"}]}]
accommodation.​remarksobject(OrderCreateRemarksInput)
Example: {"estimated_arrival_time":{"hour":12},"special_requests":"We will need an extra cot."}
carobject(OrderCreateCarInput)

Additional information related to the car order. Mutually exclusive with accommodation.

bookerobject(OrderCreateBookerInput)required
Example: {"address":{"address_line":"Road-1, house-2","city":"Amsterdam","country":"nl","post_code":"11111"},"company":"Booking B.V","email":"test.name@booking.com","language":"en-gb","name":{"first_name":"Test","last_name":"Name"},"telephone":"12345678"}
booker.​addressobject(OrderCreateAddressInput)required
Example: {"address_line":"Road-1, house-2","city":"Amsterdam","country":"nl","post_code":"11111"}
booker.​address.​address_linestring
Example: "Road-1, house-2"
booker.​address.​citystring
Example: "Amsterdam"
booker.​address.​countrystring^[a-z]{2}$required
Example: "nl"
booker.​address.​post_codestring
Example: "11111"
booker.​companystring
Example: "Booking B.V"
booker.​emailstringrequired
Example: "test.name@booking.com"
booker.​languagestring^[a-z]{2}(-[a-z]{2})?$
Example: "en-gb"
booker.​nameobject(OrderCreateBookerNameInput)required
Example: {"first_name":"Test","last_name":"Name"}
booker.​name.​first_namestringrequired
Example: "Test"
booker.​name.​last_namestringrequired
Example: "Name"
booker.​telephonestringrequired
Example: "12345678"
order_tokenstringrequired
Example: "sample-token"
paymentobject(OrderCreatePaymentInput)required
Example: {"card":{"cardholder":"Test Name","cvc":"111","expiry_date":"2030-10","number":"23333333333333"},"include_receipt":true,"method":"card","timing":"pay_at_the_property"}
payment.​airplusobject
payment.​business_informationobject
payment.​cardobject
Example: {"cardholder":"Test Name","cvc":"111","expiry_date":"2030-10","number":"23333333333333"}
payment.​include_receiptboolean
Example: true
payment.​methodstring
Enum"airplus""card""wallet"
Example: "card"
payment.​timingstringrequired
Enum"pay_at_the_property""pay_online_later""pay_online_now"
Example: "pay_at_the_property"
curl -i -X POST \
  https://demandapi.booking.com/3.2/Beta/orders/create \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "accommodation": {
      "label": "Sample label",
      "products": [
        {
          "id": "333",
          "bed_configuration": "123456",
          "guests": [
            {
              "email": "test.name@booking.com",
              "name": "Test Name"
            }
          ]
        }
      ],
      "remarks": {
        "estimated_arrival_time": {
          "hour": 12
        },
        "special_requests": "We will need an extra cot."
      }
    },
    "booker": {
      "address": {
        "address_line": "Road-1, house-2",
        "city": "Amsterdam",
        "country": "nl",
        "post_code": "11111"
      },
      "company": "Booking B.V",
      "email": "test.name@booking.com",
      "language": "en-gb",
      "name": {
        "first_name": "Test",
        "last_name": "Name"
      },
      "telephone": "12345678"
    },
    "order_token": "sample-token",
    "payment": {
      "card": {
        "cardholder": "Test Name",
        "cvc": "111",
        "expiry_date": "2030-10",
        "number": "23333333333333"
      },
      "include_receipt": true,
      "method": "card",
      "timing": "pay_at_the_property"
    }
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataobject(OrderCreateDataOutput)
Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "order": "509430129718799", "data": { "accommodation": {}, "payment": {} } }

Post-booking car terms & conditions

Request

| 3.2 Beta | New |

Use this new endpoint to retrieve the terms and conditions for a specific car rental order after booking.

  • The response includes the car rental contract details, including chapters, sections, clauses, and clause options.
  • Use this endpoint to display contractual details to users after confirming a booking.
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/jsonrequired
bookerobjectrequired

Information about the booker

booker.​countrystring^[a-z]{2}$required

A two-letter code that uniquely identifies a country. This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. The full list can be obtained by calling common/locations/countries.

Example: "nl"
languagestring^[a-z]{2}(-[a-z]{2})?$

Optional. A ISO 639-1 language code (e.g. 'en-gb', 'es') indicating the preferred language for the terms and conditions.

Example: "en-us"
ordersArray of stringsnon-emptyrequired

An array of car rental order IDs for which to retrieve terms and conditions. Must include at least one valid ID.

Example: ["765255700"]
curl -i -X POST \
  https://demandapi.booking.com/3.2/Beta/orders/details/cars/terms-and-conditions \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "booker": {
      "country": "gb"
    },
    "language": "en-gb",
    "orders": [
      "765255700",
      "invalid_order"
    ]
  }'

Responses

Successful response containing terms and conditions for requested orders. Invalid IDs return null.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataobject(Order Terms Map)

Map of order IDs to their terms and conditions. Invalid or missing orders return null.

Response
application/json
{ "request_id": "123456789", "data": { "765255700": {}, "invalid_order": {} } }

Messages

3.2 Beta

This API collection allows two-way post-booking communication between guests and properties and is currently available in the 3.2 Beta version.

Use these endpoints to test the complete communication flow, including sending and retrieving messages, conversations and attachments.

Important:

  • These endpoints are currently available only in the 3.2 Beta version, are under active development and may change in future releases.
  • Access is limited to partners participating in the pilot/early access programme. Contact your Booking.com Account manager to request more information.
Operations

Conversations

Provides endpoints to retrieve and manage messaging conversations.

Use these endpoints to list conversations, fetch conversation details, and track updates.

Operations

Attachments

Provides endpoints for handling message attachments.

Use these endpoints to upload and download images shared within conversations.

Operations