Best practices for using price fields
Use this guidance to correctly interpret and apply each price field returned by the Demand API. These practices ensure legal compliance, clear user experience, and consistent pricing logic across your integration.
The base price
The base
price represents the core cost of the booking before any additional charges that may have been included in the total price displayed to the user, such as VAT or other fees.
Use it to:
- Analyse pricing strategies - For example benchmark base prices across properties.
✅ Ideal for analytics and optional upsell flows.
ℹ️ You can display the `base` price as long as you display the extra charges and `total` price as well.
🚫 Never display the `base` as the final price and never use it for advertising purposes.
The book price
The book
price (display
price in 3.2) is the legally required display price based on the traveller’s location (booker.country
).
This is the minimum price that must be shown to users under local pricing laws
Use it to:
- Show prices to travellers in search or availability views.
- Ensures compliance with price display regulations based on the booker’s location.
✅ Use the book price for all pre-booking visible pricing in customer-facing flows.
🚫 Not returned in /orders/preview responses.
The total price
The total
price is the full cost to be paid by the traveller.
Use it to:
- Communicate the final amount payable in the booking phase and across all payment methods (online or at the property).
- Present payment breakdowns at checkout pages or in confirmation screens.
- Calculate the true cost of a booking (excluding
conditional
extra charges).
✅ Essential for total cost summaries or reporting..
✅ Helps managing traveller costs expectations.
Chargeable online
The chargeable_online
is the portion charged by Booking.com.
Use it to:
- Load the correct amount onto Virtual Credit Cards (VCCs) for properties using VCC.
- Charge travellers through Booking.com’s payment platform.
- Align with Booking.com’s payment collection model.
✅ Critical for online payment handling logic.
ℹ️ This value is always less than or equal to the
total
price.🚫 Do not use it for `pay_at_the_property` timings.
The extra charges
The extra_charges
field represents the additional costs.
Use it to:
- Display a detailed breakdown of charges (included, excluded, conditional) - Example: cleaning fees, local taxes, or service charges.
- Support upsell flows, e.g. meal options.
✅ Ensure transparency in receipts or order confirmations.
🚫 Never include conditional
charges in the total
price.
For full guidance, see the Extra charges dedicated guide and the charges use cases.
Key best practices
- Always call /orders/preview endpoint before confirming a booking.
- Show
book
during browsing;total
at checkout. - Use
chargeable_online
for VCC payment workflows. - Explain price changes to travellers to maintain trust and transparency.
Next steps
Looking to implement or optimise pricing display and booking flows? Here are some helpful resources: