Prices (/orders)
Learn how to get information about product prices and display it on orders pages
The /orders/preview endpoint returns price information about the products contained in the response. Your application must display this price information to travellers clearly, consistently and in accordance with all relevant laws and regulations, so that they can decide if they are happy to proceed and place the order.
The /orders/preview endpoint returns price information slightly differently to the /accommodations
endpoints, as follows:
extra_charges
: Theexclusive
orinclusive
categories used in the/accommodations/*
responses are not relevant to the order process. Instead, allexclusive
orinclusive
charges are defined asnon-conditional
.book
price is not returned.- All prices and amounts are shown in both the
accommodation_currency
and thebooker_currency
. (Ifcurrency
is not included in the request, thebooker_currency
value isnull
.)
See Prices (/accommodations) for more information.
Price information in the response
The price
response object returns the following values for the price
of the order
:
base
: The basic price. This price excludes allextra_charges
.extra_charges
: Costs that are added to thebase
price. Each charge is assigned to one of the following categories:non-conditional
: Charges that must be unconditionally paid and are included in thetotal
price. (Exception:incalculable
charges are excluded from thetotal
price).conditional
: Charges that only apply in certain conditions. These are always excluded from thebase
andtotal
prices.
total
: The price that the traveller must definitely pay for this product. This equals thebook
price plusnon-conditional
extra_charges
.
For example:
{ ... "accommodation": { "id": xxxxxxxx, "currency": { "accommodation": "EUR", "booker": "GBP" }, "price": { "base": { "accommodation_currency": 82.57, "booker_currency": 70.85 }, "extra_charges": { "conditional": [], "non_conditional": [ { "charge": 21, "total_amount": { "accommodation_currency": 7.43, "booker_currency": 6.38 } }, { "charge": 22, "total_amount": { "accommodation_currency": 2.00, "booker_currency": 1.72 } } ] }, "total": { "accommodation_currency": 92.00, "booker_currency": 78.95 }
The products.price
response object returns the same information for the price
of each product in the order
, but provides (under extra_charges
) a per-charge breakdown of each charge. For example:
{ ... "products": [ "id": "xxxxxxxxx_xxxxxxxxx_x_x_x", "price": { "base": { "accommodation_currency": 178.79, "booker_currency": 153.40 }, "extra_charges": { "conditional": [], "non-conditional": [ { "charge": 21, "mode": "percentage", "percentage": 9.00, "total_amount": { "accommodation_currency": 16.10, "booker_currency": 13.81 }, "unit_amount": null }, ... ] }, "total": { "accommodation_currency": 194.88, "booker_currency": 167.21 }, }, ...
How to display price information on an order preview page
Prices, charges and currency
- Display the price of the order using the
price.total
price. - Clearly indicate whether the price includes taxes and charges, and whether any additional charges may apply.
- Display details of each
non_conditional
charge that applies to the order (using the data from theprices.extra_charges.non-conditional
object). Do not combine charges into your own categories. - If the
booker_currency
andaccommodation_currency
are different:- Show the price clearly in both currencies.
- Clearly state that if the exchange rate changes before the traveller completes the booking, they will pay a different price to the one shown.
For example:
Deals
If you display a price that is discounted because a deal is available, you must show details of the deal. For example:
Note that, currently, you cannot obtain deal information from the orders/preview
endpoint; you must obtain it from /accommodations/search or /accommodations/availability. (See Deals)
Conditional or incalculable charges
If the order includes either conditional
charges, or incalculable
non_conditional
charges:
- Show each charge explicitly with an appropriate explanation.
- Indicate clearly that the price is not the total price.
For example:
How to display price information on an order details page
Commissionable Price
Price over which Booking.com would calculate affiliate commission. This price is the sum of net_price and all commissionable extra charges.
- This price is not the
total
price as it may not contains all the extra charges. - There are no simple rule to explain which charges are commissionable.
Example:
Charge | Value | Commissionable |
---|---|---|
net_price | 60 | YES |
city_tax | 10 | YES |
vat | 20 | YES |
service charge | 10 | NO |
commissionable_price | 90 | |
total_price | 100 |