Changelog
Stay up to date with our latest technical enhancements.
Changelog - February 2025
Welcome to February 2025 changelog.
This month we've focused on improvements to orders and accommodation features in Demand API v3.1. These are some of the key highlights:
Orders
/orders/create
| Replacement | 3d secure authentication_value |
We have included the
authentication_value
field in thepayment.card.authentication.3d_secure
object within orders/create response.
- It accommodates 3D Secure's authenticationValue.
- It replaces
cavv
, which was used for the deprecated 3D Secure v1, a version no longer supported by Demand API V3.Example:
"authentication": {
"3d_secure": {
"authentication_value": "AAAAAAAAAAAAAAA4l4AAAAAAAAA=",
"eci": "05",
"transaction": "00000000-0000-0000-0000-000000000000"
}
}
For more details refer to the Credit card + SCA use case
| Addition | booker_address_required |
Previously when creating an order all fields of the
booker.address
object were mandatory. However, from now on only thecountry
field is required:
"booker": {
"address": {
"country": "nl"
}
}
The other fields within the
booker.address
object are subject to the value returned in thebooker_address_required
field within the accommodations/details response.
- If the /accommodations/details endpoint indicates that the booker's address is needed ( via the
booker_address_required=true
flag), the full address is mandatory in the orders/create request.- If the
booker_address_required
flag is false, the booker's address can be omitted.
Example of accommodations/details response with booker_address_required=true
{
"request_id": "01jmmjn081ta8d5a0kt83sgg1d",
"data": [
{
"id": 10507360,
"name": {
"en-gb": "Demand API Sandbox Hotel Orion"
},
"accommodation_type": 204,
"booker_address_required": true,
"brands": [],
"checkin_checkout_times": {...},
Example of orders/create response with booker.address
filled:
"booker": {
"address": {
"address_line": "Road-1, house-2",
"city": "Amsterdam",
"country": "nl",
"post_code": "11111"
},
Refer to the orders/create guide for more details and examples.
| Addition | confirmation id and checkin_number | third party inventory properties |
Two new fields have been included in the orders/create response for third-party inventory properties:
checkin_number | The number required at the time of check-in. It allows guests to confirm their order at the accommodation. |
confirmation_number | Used in conjunction with the pincode to verify the customer's order and assist with customer support or troubleshooting. |
Example of the order response:
{
"accommodation": {
"order": "509430129718799",
"pincode": "0000",
"reservation": 12345678,
"third_party_inventory": {
"checkin_number": "123456789",
"confirmation_number": "12345678912345678912"
}
}
}
Refer to the third_party_inventory guidelines for further details.
/orders/preview
| Addition | inventory_type | third party inventory properties |
You can find now the
inventory_type
object in both accommodations/availability and orders/preview endpoints.
- This object indicates whether the property comes from a third-party inventory and the sort of rate that is applied, in this case "sell" rate:
Example of orders/preview response:
"third_party_inventory": true,
"inventory": {
"third_party": true,
"type": "sell"
}
Find more details in the Third-party repository quick guide.
Accommodation
accommodations/search
| Addition | product stock |
The
number_available_at_this_price
field indicates the available stock for each product ID (in units).
- It was already available in the /availability and /bulk-availability endpoints.
- Now you can also find it within the [/accommodations/search](accommodations/search response.
Example:
"products": [{
"id": "1050736002_377311511_0_2_0",
...
"maximum_occupancy": {
"adults": 2,
"children": null,
"total": 2
},
"number_available_at_this_price": 10,
...
"price": {
"book": 184.00,
"total": 184.00
},
"room": 1050736002
...
accommodations/details
| New functionality | DSA compliance | host_type and trader_verified |
We have added two new fields in the accommodations/details response, to comply with the Digital Services Act (“DSA”) legislation.
host_type
: Specifies the type of host for the accommodation (professional, private or unknown).trader_verified
: Indicates whether the property has been successfully verified in line to Booking.com internal verification processes. This helps filter out non-verified properties for travellers in the European Economic Area (EEA), based on the booker's country.These fields are available when requesting the /accommodations/details endpoint with the
description
extras parameter.
For more information, refer to the DSA compliance guide.
| Enhancement | Facilities details |
The following facilities-related information have been added in /accommodation/detail response:
Internet, parking, restaurant, swimming pool, together with specific details such as the type of connection, the charging model, pricing, location, reservation requirements, etc.
For a complete list and examples, refer to the accommodations/details guide.
| Addition | meal_prices |
We have added
meal_prices
in accommodations/details response to indicate meal pricing for breakfast, lunch, and dinner:
Example:
{
"meal_prices": {
"breakfast": 20,
"dinner": null,
"lunch": null
}
}
| Addition | domestic_no_cc |
We have included the
domestic_no_cc
field within the payment object.
- This indicates whether domestic bookers can book without using credit card for products offering free cancellation policies.
Example:
"payment": {
"amex_cvc_required": false,
"cvc_required": false,
"domestic_no_cc": false,
"methods": {
"cards": [...],
"cash": true,
"virtual_cards": [
1,
2,
3
]
}
}
/accommodations/bulk-availability
| Addition | Cancellation schedule |
We have included the cancellation schedule within the
policies.cancellation
object in the /accommodations/bulk-availability response.
- This field provides the cancellation timeline and estimated pricing.
Example:
"policies": {
"cancellation": {
"free_cancellation_until": "2025-08-08T22:59:59+00:00",
"type": "free_cancellation",
"schedule": [
{
"from": "now",
"price": 0
},
{
"from": "2025-08-08T23:00:00+00:00",
"price": 1189.63
}
]
}
}
- Please note that pricing discrepancies may occur between the /accommodations/bulk-availability and /orders/preview responses. To obtain the most accurate final cancellation pricing, always use the /orders/preview endpoint.
- Refer to the cancellation policies section for further details.
Car rentals
cars/search
**| Addition | payment_timing filter | **
Users can now filter car rental search results based on payment timing options:
pay_local
,pay_now
orpart_pay
.
Example of car rental search request with payment timing filter:
{
"booker": {
"country": "us"
},
"currency": "USD",
"driver": {
"age": 35
},
"route": {
"pickup": {
"datetime": "2025-07-21T10:00:00",
"location": {
"airport": "LAX"
}
},
"dropoff": {
"datetime": "2025-07-24T10:00:00",
"location": {
"airport": "LAX"
}
}
},
"payment": {
"timings": ["pay_now", "part_pay"]
}
}
Changelog archive
Documentation