# 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.

div
div
h4
Use it to:
ul
strong
Analyse pricing strategies
 - For example benchmark base prices across properties.
br

      ✅ Ideal for analytics and optional upsell flows. 
br

      ℹ️ You can display the `base` price as long as you display the extra charges and `total` price as well. 
br

      🚫 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

div
div
h4
Use it to:
ul
li
strong
Show prices to travellers
 in search or availability views.
li
Ensures compliance with 
strong
price display regulations
 based on the booker’s location.
br

      ✅ Use the book price for all pre-booking visible pricing in customer-facing flows.
br

      🚫 Not returned in /orders/preview responses.
br
## The total price

The `total` price is the full cost to be paid by the traveller.

div
div
h4
Use it to:
ul
li
strong
Communicate the final amount payable
 in the booking phase and across all payment methods (online or at the property).
li
 Present payment breakdowns at checkout pages or in confirmation screens.
li
 Calculate the true cost of a booking (excluding 
code
conditional
 extra charges).
br

      ✅ Essential for total cost summaries or reporting. 
br

      ✅ Helps managing traveller costs expectations.
br
## Chargeable online

The `chargeable_online` is the portion charged by Booking.com.

It returns `null` for agency-model properties where Booking.com does not process payments.

div
div
h4
Use it to:
ul
li
strong
Load the correct amount onto Virtual Credit Cards (VCCs)
 for properties using VCC.
      
li
 Charge travellers through Booking.com’s payment platform.
li
 Align with Booking.com’s payment collection model.
br

      ✅ Critical for online payment handling logic.  
br

      ℹ️ This value is always less than or equal to the 
code
total
 price.
br

      🚫 Do not use it for `pay_at_the_property` timings.
    
## The extra charges

The `extra_charges` field represents the additional costs.

div
div
h4
Use it to:
ul
li
strong
Display a detailed breakdown of charges (included, excluded, conditional)
 - Example: cleaning fees, local taxes, or service charges.
      
li
 Support upsell flows, e.g. meal options.
br
✅ Ensure transparency in receipts or order confirmations.  
🚫 Never include conditional charges in the total price.

For full guidance, see the [Extra charges dedicated guide](/demand/docs/accommodations/charge-calculation) and the [charges use cases](/demand/docs/accommodations/pricing-examples).

## 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:

* [Accommodation pricing guide](/demand/docs/accommodations/prices-accommodations)
* [Displaying pricing guide](/demand/docs/accommodations/display-prices)
* [Pricing and charges use cases](/demand/docs/accommodations/pricing-examples)
* [Extra charges calculation mode](/demand/docs/accommodations/charge-calculation)