Last updated

Changelog

Stay up to date with the latest enhancements to the Demand API.


February 2026

This release focuses on Demand API version 3.2 and 3.2 Beta, with significant updates across car rentals and orders:


New fields included:
  • Car rentals – v3.2 / 3.2 Beta:
    • credit_card_required - boolean added in cars/search and cars/availability to indicate whether a credit card is needed for pay_at_pickup vehicles.
    • special_offer - field in cars/search, cars/availability and cars/constants to return any promotional features included with a vehicle.
    • customer_services - field in cars/constants to provide partner-facing customer service contact emails per requested language.
    • voucher - filter in cars/terms-and-conditions to request only the subset of terms and conditions needed for the booking voucher.
  • Orders/create – v3.2 / 3.2 Beta:
    • authentication_response - in 3DS payment requests for authentication results.
    • subtype - field supports dual-branded UnionPay + Visa/MC cards where properties accept UnionPay.

Car rentals

Credit card requirements

| v3.2 3.2 Beta | New field: credit_card_required |

The new credit_card_required boolean under the price response, indicates whether a credit card is required as a guarantee for pay_at_pickup vehicles.

  • true - Credit card required and passed to supplier.
  • false- Credit card explicitly not required.
  • null - Information not available or not applicable.

Available in:

Special offers

| v3.2 3.2 Beta | New field: special_offer |

Returns any promotional or free upgrade features provided by the supplier for a vehicle, including: gps, priority pick up, wifi device, upgrade, one additional driver, etc.

Available in:

Example in constants response:

  "special_offers": [
      {
        "id": "one_additional_driver",
        "name": {
          "de": "1 zusätzlicher Fahrer inbegriffen",
          "en-gb": "1 additional driver included"
        }
      },
      {
        "id": "two_additional_drivers",
        "name": {
          "de": "2 zusätzliche Fahrer inbegriffen",
          "en-gb": "2 additional drivers included"
        }

Customer service contacts

| v3.2 3.2 Beta | New field: customer_services |

/cars/constants returns now customer service email addresses per requested language.

Example request:

{
"constants": ["customer_services"],
"languages": [
    "en-gb",
    "fr"

  ]
}

Example response:

{
  "request_id": "01kja15bmhz3s8xfe1knejce3x",
  "data": {
    "customer_services": [
      {
        "id": "email",
        "name": {
          "fr": "customer.service-fr@cars.booking.com",
          "en-gb": "customer.service@cars.booking.com"
        }
      }
    ]
  }
}

See the Constants guide for examples.

Voucher filter in post-booking terms and conditions

| 3.2 Beta | New field: voucher filter |

Use the voucher boolean filter in orders/details/cars/terms-and-conditions to receive only the subset of terms required for the booking voucher.

  • true - Only the terms needed to recreate the booking voucher content shown on Booking.com are returned.
  • false (or not provided) - Full set of agreed terms and conditions is returned.
Booking voucher

A "booking voucher" is the confirmation document that travellers present at the car rental desk, including booking details and legally required terms and conditions.

Example of request:

{
  "booker": {
    "country": "gb"
  },
  "language": "en-gb",
  "orders": [
    "765255700"
  ],
  "filters": {
    "voucher": true
  }
}

Orders

3DS authentication response

| v3.2 | New field: authentication_response |

The new authentication_response is an optional field included in the orders/create endpoint, under payment.card.authentication.3d_secure object. It represents the 3D Secure transaction status (transStatus) returned by the 3DS provider.

  • Purpose - It maps to the transStatus codes to confirm the status of the authentication transaction (Y: authentication successful, N: Authentication failed, etc.)
  • Requirement - It is optional. Partners should only include it if their provider returns it or if a 3DS challenge flow occurred. It is not required if no challenge occurred.

Example request:

"payment": {
  "card": {
    "authentication": {
      "3d_secure": {
        "authentication_value": "AAABBBCCC123=",
        "eci": "05",
        "transaction": "abc123xyz",
        "authentication_response": "Y"
      }
    }
  }
}

Dual-branded UnionPay cards

| v3.2 3.2 Beta | New field: subtype |

The subtype field is included in the orders/create endpoint under payment.card

  • This is used to identify cards that belong to supported special or co-branded programmes (currently only unionpay_cobrand)
  • It ensures that the payment is routed correctly when the card network cannot be reliably determined by the card number (PAN) alone.

Example request:

  "payment": {
    "card": {
      "cardholder": "Test Name",
      "cvc": "111",
      "expiry_date": "2030-10",
      "number": "23333333333333",
      "subtype": "unionpay_cobrand"
    },

References

v3.2 API reference

Check the 3.2 version specifications and give them a try in the console to return the new fields.

Check now

Beta API reference

Check the Beta API collections. You need specific credentials to test them out - Contact your Booking Account Manager if interested.

Check now