Last updated

Pricing in /accommodations

Learn how to retrieve product price information and display it on search results and property pages.


How to request price information

Use the /accommodations/search and /accommodations/availability endpoints to obtain detailed pricing information for the searched products included in the response.

Your application must present this information to travellers in a clear and consistent manner, adhering to all relevant laws and regulations, enabling them to make informed decisions before placing their orders.

For more details about how to request the price information that you want in a particular call, follow the Search an acommodation guide.

Price information in the response

For each product, the products.price response object returns the following price components and their values:

Field Description
base priceThe basic price -- This price excludes all extra_charges.

extra_charges

Additional costs that are applied to the base price - for example, city taxes, value added tax (VAT), cleaning fees or additional parking fees.

These charges are categorised as:

  • conditional:

    • Charges that only applied under certain conditions.
    • These are always excluded from the base, book and total prices.
  • included: Those charges that are added to the book price.

  • excluded: Those charges that are not included in the book price. (Exception: incalculable charges are excluded from the total price).
book priceThe price that the traveller must pay to reserve this product.
  • This equals the base price + included extra_charges.
total priceThe final amount the traveller must definitely pay for the product even when paying up-front.
  • This equals the book price + excluded extra_charges.
  • The total price is returned in both, the accommodation and booker currencies, which may differ slightly based on the currency used.
Note
  • The traveller may have to pay additional conditional or incalculable charges in addition to the total price.
  • The price object defines what the traveller will or might have to pay, but does not define when or how they must pay. For more details, see Payments.

Example

Here's an example of an /accommodations/availability response.

{
  ...
  "currency": "GBP",
  ...
  "products": [
    "id": "xxxxxxxxx_xxxxxxxxx_x_x_x",
    "price": {
      "base": 153.40,
      "book": 167.21,
      "extra_charges": {
        "conditional": [{
          "charge": 3,
          "condition": 28 "mode": "per_stay",
          "percentage": null,
          "total_amount": 25.00,
          "unit_amount": 25.00
        }],
        "excluded": [{
          "charge": 10,
          "mode": "incalculable",
          "percentage": null,
          "total_amount": null,
          "unit_amount": null
        } {
          "charge": 22,
          "mode": "percentage",
          "percentage": 1.00,
          "total_amount": 1.53,
          "unit_amount": null
        }],
        "included": [{
          "charge": 21,
          "mode": "percentage",
          "percentage": 9.00,
          "total_amount": 13.81,
          "unit_amount": null
        }]
      },
      "total": 168.74
    },
    ...
  }

In this examples, you can see the different price components:

  • base price: £153.40. The basic price of the product.

  • book price: £167.21. What the traveller must pay to reserve this product:

    • There is an included extra charge, which is VAT ("charge": 21) with a total cost of ("total_amount": 13.81).
    • book price is therefore £153.40 + £13.81 = £167.21.
  • total price: £168.74. What the traveller must definitely pay for this product:

    • There is an excluded extra charge with a defined value, which is a city tax ("charge": 22) with a total cost of ("total_amount": 1.53).
    • total price is therefore £167.21 + £1.53 = £168.74.
  • Additional charges: Travellers may need to pay conditional or incalculable charges, such as a cleaning fee or water usage fee, on top of the total price.

    • There is a conditional extra charge, which is a cleaning fee ("charge": 3) with a total cost of ("total_amount": 25.00). The traveller will pay an extra £25.00 if they do not clean the room before they leave ("condition": 28).
    • There is an excluded extra charge with an undefined value ("mode": "incalculable" and "total_amount": null), which is a water usage fee (charge=10). The traveller will have to pay some extra amount based on the amount of water they use during their stay.

tip → Call the accommodations/constants endpoint to see the full list of charge type IDs so you can identify each charge.

Extra charges

Travellers may need to pay conditional or incalculable charges, such as a cleaning fee or water usage fee, on top of the total price.

Conditional charges

These are charges that apply only under specific conditions.

Some examples of conditional charges can be:

  • Cleaning fee: A cleaning fee might be charged if the guest does not clean the room before checking out.

  • Pet fee: A charge might be applied if the guest brings a pet. This fee is conditional on the presence of a pet during the stay.

  • Smoking fee: A fee might be charged if the guest smokes in a non-smoking room. This charge is only applied if the guest violates the non-smoking policy.

  • Late check-out fee: A fee might be charged if the guest checks out later than the agreed time. This charge is conditional on the guest's check-out time.

  • Damage fee: A fee might be applied if there is damage to the property during the guest's stay. This charge is conditional on the occurrence of damage.

When there is a conditional charge, the condition field is displayed under the charge breakdown and identifies the sort of condition.

Important

Conditional charges are always excluded from the base, book and total prices, as (if applicable) they are typically paid by the traveller at checkout.

Included and excluded charges

Different countries have different legal requirements on how prices should be shown to consumers - for example, whether value-added tax (VAT) should be included or excluded.

To ensure compliance with all applicable requirements, Booking.com determines whether each non-conditional charge should be included or excluded when returning price information. The decision takes into account the countries in which both the traveller and the requested products are located. Note that, as a result:

  • A charge on a product may appear as included when you expect it to appear as excluded, or vice versa.
  • The book price for the same product, with the same request criteria, may vary depending on the origin of the request.

Example - VAT included/ excluded

If a traveller in the EU requests a product, VAT ("charge": 21) is included in the book price. For the same product requested from the US, VAT is excluded.

The following fragments show how the response can differ, depending on which country the traveller is in when they make the request (taken from the booker.country value).

If the call originates from the Netherlands ("booker": {"country": "nl"}), EU law applies so the VAT charge is included in the book price:

{
"products": [
"id": "xxxxxxxxx_xxxxxxxxx_x_x_x",
"price": {
  "base": 153.40,
  "book": 167.21,
  "extra_charges": {
    "conditional": [],
    "excluded": [],
    "included": [
    {
      "charge": 21,
      "mode": "percentage",
      "percentage": 9.00,
      "total_amount": 13.81,
      "unit_amount": null
    },
    ...
  ]
},
"total": 167.21
},

If the call originates from the US ("booker": {"country": "us"}), the VAT charge is excluded, resulting in a lower book price.

{
...
"products": [
  "id": "xxxxxxxxx_xxxxxxxxx_x_x_x",
  "price": {
    "base": 153.40,
    "book": 153.40,
    "extra_charges": {
      "conditional": [],
      "excluded": [
        {
        "charge": 21,
        "mode": "percentage",
        "percentage": 9.00,
        "total_amount": 13.81,
        "unit_amount": null
        },
        ...
      ]
      "included": []
    },
    "total": 167.21
  },
...
}

Note that the base and total prices remain the same in both cases.

Charge breakdown

Each charge type is defined in the appropriate category under extra_charges. Below are the fields used to describe each charge, including its purpose, amount, and calculation method.

Field                          Description
chargeUnique id of the charge type.
Use /accommodations/constants to obtain the charge name associated with this id.
conditionUnique id of the condition that applies to this conditional charge. See Condition ids for the description of the condition.
Note: This field is only displayed for conditional charges.
modeThe basis for applying the charge, such as percentage or per night. See Charge modes.
percentageIf mode is percentage, this is the percentage value at which the charge is applied (against the price.base value),
If mode is any other value, this value is null.
unit_amountIf mode is per_night, per_person_per_night, or per_person_per_stay, this value is the price per unit for the charge,
If mode is any other value, this value is null.
total_amountThe total amount to be paid for the charge. It is always defined for excluded and included charges, but it is null for incalculable charges.

Charge calculation modes

The charge_mode value identifies the basis on which the charge is applied, and how the total_amount for the charge is calculated.

charge_mode valuetotal_amount value
calculated_amountValue of the charge
incalculablenull
Note: An incalculable charge always appears in the extra_charges.excluded category.
percentageCalculated as percentage x base price
per_nightCalculated as unit_amount x number of nights
per_person_per_nightCalculated as unit_amount x number of guests x number of nights
per_person_per_stayCalculated as unit_amount x number of guests
per_stayValue of the charge

Condition ids

The following table shows the condition ids that can be returned in each charge breakdown, along with their description and the charges that they can be applied to.

condition idDescriptionApplies to charge_types (ids)
5A fee is applicable if you do not bring your own items.TOWELFEE (4), BEDLINEN (6), LINENPACKAGEFEE (100), KITCHENLINNENFEE (103)
28A cleaning fee will be charged if you don't clean before checking out.CLEANINGFEE (3)
29A cleaning fee is applicable, per pet, if you bring your pet to the accommodation.CLEANINGFEE (3)
30A cleaning fee is applicable if you smoke in the accommodation.CLEANINGFEE (3)
35A fee is applicable if you use a credit card of any type.CREDITCARDFEE (116)
37A fee is applicable if you use a credit card of a specific type.CREDITCARDFEE (116)
39A fee is applicable if you use a credit card of a list of types.CREDITCARDFEE (116)
126An internet fee is applicable if you use it, per hour of use.INTERNETFEE (118)
136Parking fee - start time to end timePARKINGFEE (119)
142Parking fee - day of weekPARKINGFEE (119)
210Mandatory Israel VAT for domestic usersVAT (21)
211Optional Israel VAT for all usersVAT (21)
215A fee is applicable if you use the indicated facility.SPA (180), SAUNA (181), HOTTUB (182), GOLFCOURSE (199), SUNBED (200), POOL (204)
504A city tax is applicable. Business travellers can be exempt from this charge under certain conditions. Please check the city's official website for details prior to arrival.CITYTAX (22)
542A city tax is applicable if you are an adult.CITYTAX (22)
543A city tax is applicable for a maximum of n consecutive nights. Further consecutive nights at the same accommodation are exempt.CITYTAX (22)

Charge examples

Example - Incalculable charge

This is an example for incalculable water usage fee (charge=10).

...
"excluded": [
    {
        "charge": 10,
        "mode": "incalculable",
        "percentage": null,
        "total_amount": null,
        "unit_amount": null
    }
]
...

Example - Value Added Tax

In this example the Value Added Tax (charge=21) is charged at 9% of the base price, giving a total_amount of 12.47.

...
{
    "price": {
        "base": 138.56,
        ...
        "extra_charges": {
        ...
            {
                "charge": 21,
                "mode": "percentage",
                "percentage": 9.00,
                "total_amount": 12.47,
                "unit_amount": null
             },
...

Example - Tourism fee

When the request specifies that 3 people are staying for 2 nights, and there is an extra charge for tourism fee, the response displays:

...
{
    "charge": 142,
    "mode": "per_person_per_night",
    "percentage": null,
    "total_amount": 15.42,
    "unit_amount": 2.57
}
...
  • The tourism fee (charge=142) is charged on a per_person_per_night basis.
  • As the request specified that 3 people are staying for 2 nights, the total_amount is calculated as (3 people) x (2 nights) x (unit_amount=2.57) = 15.42.

Example - Cleaning fee (conditional)

In this example, a cleaning fee (charge=3) is charged on a per_stay basis, at a cost of 25.00. The fee will only be charged if the guests do not clean the room before checking out (condition=28).

...
"conditional": [
    {
        "charge": 3,
        "condition": 28,
        "mode": "per_stay",
        "percentage": null,
        "total_amount": null,
        "unit_amount": 25.00
    }
]
...

Currencies

All prices are shown in the currency defined in the response. For example:

{
...
"currency": "GBP",
...
"products": [
    "id": "xxxxxxxxx_xxxxxxxxx_x_x_x",
    "price": {
        "base": 153.40,
        "book": 167.21,
        ...

The currency value is either:

  • The accommodation currency, which is the currency used by the provider of the returned product, and the currency the traveller will pay in. This is the default option.
  • The booker currency, which is the currency requested by the traveller performing the search (in the request currency field).

If the two currencies are different, the booker currency value shows the converted value of the accommodation currency, based on the current exchange rate available to Booking.com. If the exchange rate changes before the traveller completes the order, they will pay a different price to the one shown.


Displaying price information

Your application must display price information to travellers clearly, consistently and in accordance with all relevant laws and regulations.

The following sections provide some advice on how to do this on search results and property pages.

Prices display

  • Display the price of a product or product group using the appropriate book price.
  • If you display a book price that is discounted because a deal is available, you can show details of the deal. See How to display deal information.
  • Clearly indicate whether a book price includes taxes and charges, and whether any additional charges will or might apply. For example, label the price with a short message such as "Includes taxes and charges" or 'Additional charges may apply". For example:

Price Display

Excluded charges display

If you show details of excluded charges:

  • Display details of each excluded charge individually. Do not combine them into your own categories.
  • For each charge, display the charge name (from /accommodations/constants) and mode, and either the percentage value, or the total_amount and currency, as appropriate.
  • Do not display specific details for any incalculable charges.

For example (on a property page):

Price Display Excluded Charges

Conditional charges display

If you show details of conditional charges, either provide a detailed explanation for each charge individually, or simply include them as part of an "Additional charges may apply" message.

Application flow consistency

Make sure that the information you display is consistent across each stage of your integration flow:

  • If you redirect travellers to Booking.com from a search results or property page, your information must be consistent with the page that you redirect the user to.
  • If your application handles the order process itself, your information must be consistent with what you show on your orders page. See Prices (/orders).

Different price in availability and orders

If your application also handles the order process, note that the /orders endpoints return price information slightly differently to the /accommodations endpoints.


  • For more information on setting up search and availability requests, explore the Search for accommodation section.
  • Refer to the Orders section for examples and instructions on how to create an order and return the order prices.