Changelog
Stay up to date with the latest enhancements to the Demand API.
October 2025
This release introduces new fields and charge modes to improve clarity in pricing and key collection instructions, while supporting local taxation requirements.
New Added new chargeable_online field under price and extra_charges to indicate which amounts are collected online versus at the property.
New Introduced two new charge modes: per_day and per_person_per_day to support per-day taxation requirements (e.g., German city taxes) in /accommodations/search, /accommodations/availability and /accommodations/bulk-availability.
New Added additional_instructions field in key_collection_information to provide free-text guidance for key collection or check-in procedures.
Accommodations
/accommodations/availability and /bulk-availability
| v3.1 | New | chargeable_online |
Added the
chargeable_onlinefield to indicate the portion of the price or charge that will be collected online by Booking.com, rather than at the property.
- This field is only relevant when the payment timing is online - For
pay_at_the_propertyproducts, this field will return null.- You can find it in the
priceobject and in theextra_chargesbreakdown.
Example:
{
"data": [
{
"id": "12345",
"price": {
"base": 180.00,
"book": 198.00,
"chargeable_online": 150.00,
"extra_charges": {
"excluded": [
{
"charge": 2,
"mode": "per_stay",
"total_amount": 5.00,
"chargeable_online": false
}
],
"included": [
{
"charge": 1,
"mode": "percentage",
"percentage": 10.00,
"total_amount": 18.00,
"chargeable_online": true
}
]
},
"total": 203.00
}
}
]
}Explanation:
price.chargeable_online- The total amount (150.00) that will be collected online by Booking.com.extra_charges.included[].chargeable_online- Indicates that VAT (charge ID 1) is included in the total price and collected online.extra_charges.excluded[].chargeable_online- Indicates that the city tax (charge ID 2) is excluded from the online charge and must be paid at the property.price.total- Reflects the full cost including all charges (203.00).
Charges mode
| v3.1 | New | Charge modes: per_day and per_person_per_day |
Two new charge calculation modes have been added to the
modeenumeration underextra_charges:
per_dayper_person_per_dayThese modes indicate that a charge is calculated per calendar day of the stay, optionally multiplied by the number of guests.
Purpose: This change introduces support for legal pricing requirements in specific markets (for example, German city taxes), where charges must be calculated per person per day rather than per night or per stay.
Example:
{
"data": {
"id": 10004,
"currency": "EUR",
"products": [
{
"id": "1000420_358188572_2_0_0",
"price": {
"base": 1189.63,
"book": 1385.97,
"chargeable_online": 1385.97,
"extra_charges": {
"included": [
{
"charge": 21,
"chargeable_online": true,
"mode": "percentage",
"percentage": 9,
"total_amount": 107.07
},
{
"charge": 22,
"chargeable_online": false,
"mode": "percentage",
"percentage": 7,
"total_amount": 83.27
},
{
"charge": 142,
"chargeable_online": true,
"mode": "per_person_per_day",
"total_amount": 6.00,
"unit_amount": 3.00
}
]
},
"total": 1385.97
}
}
]
}
}
Explanation:
mode: "per_person_per_day"— The city tax (charge ID 142) is calculated per guest per day. For example: €3 × 2 guests × 1 day = €6.mode: "percentage"— Other charges are based on a percentage of the base price. (e.g., charge ID 21 at 9%).chargeable_online— Indicates whether each charge is collected online (true) or paid at the property (false).price.chargeable_online– The total amount collected online by Booking.com (1385.97 EUR).price.total– The full cost including all charges, whether online or offline.
These are backward-compatible changes. Existing integrations will continue to function without modification.
Orders/details/accommodation
| v3.1 | New | additional_instructions in key_collection_information |
A new free-text field has been added to
key_collection_informationcalledadditional_instructions.
- This field provides extra context or details about the key collection or check-in process, such as access codes, entry procedures, or contact information.
- It replaces the
other_textfield that was used in v2.
Purpose: This change improves clarity and consistency in key collection instructions, especially for non-hotel accommodations where the check-in process may not be managed at a 24-hour front desk.
Example:
"key_collection_information": [
{
"additional_instructions": "The keys are in a keybox located next to the front door.",
"alternate_location": {
"address": "abc",
"city": "bdweb",
"postal_code": "1015XX"
},
"checkin_method": "someone_will_meet",
"key_location": "key_location_at_the_property"
}References
Pricing guide
Learn how to interpret/display different price components including charges and chargeable_online.
Read now
API reference
Check the accommodation endpoints and give them a try in the console to return the new fields.
Check now
Orders API reference
Check the orders/details/accommodation endpoint and give it a try in the console to return the new fields.
Check now