Skip to main content

Prices breakdown

Interpreting price values via the API

Each pricing option returned by the Hotels Live Prices API can contain two price-related objects: price and price_before_discount. Both share the same structure:

Sub-field nameDescription
priceThe price to be displayed to the user. This varies by market and is not guaranteed to be the total price of the stay. Please see the Price display policies by market section for more detail.
base_priceThe base room rate before any taxes and fees.
taxes_and_feesThe taxes and fees breakdown of the price.

These sub-fields are populated depending on the market of the search and whether a discount applies.

The price object

The price object is always available and contains the total price the traveller would pay. It provides a full breakdown of the base price, fees, and taxes.

tip

Skyscanner strongly recommends using the price sub-field as-is, it is the suggested display price for the property based on user expectations in different markets.

Typically, price = base_price + taxes_and_fees, but this is not guaranteed due to market-specific variances. This means that manually calculating price as base_price + taxes_and_fees may yield a higher amount than actual price.

Price Display Policies by Market

The information shown in price, base_price, and taxes_and_fees fields varies by market and falls into one of three scenarios:

Scenario 1 - Price excludes all taxes and fees

In these markets, the price sub-field represents the base room rate only. Taxes and fees are provided separately in taxes_and_fees.

Markets: AR, BO, BR, CL, CO, CR, CU, DO, EC, GT, HN, MX, NI, PA, PY, PE, PR, SV, UY, VE, IN

Scenario 2 - Price excludes taxes

In these markets, the price sub-field includes fees but excludes taxes. Taxes are provided separately in taxes_and_fees.

Markets: US, CA

Scenario 3 - Price includes all taxes and fees

In all other markets not listed above, the price sub-field represents the full total including all taxes and fees. A breakdown of taxes provided in taxes_and_fees but should not be added to price.

Surfacing the total to pay (Scenarios 1 & 2)

For markets in Scenarios 1 and 2, where taxes and fees are not included in the displayed price, we recommend ensuring that users can access the full price breakdown in a way that fits your specific UI.

Below are two examples from Skyscanner’s web UI demonstrating how this is handled in those markets.

Scenario 1 - Paris hotel, Argentina market

The display price is $ 527k. A pop-up then shows additional fees and taxes, which brings the total to $ 618k.

Paris hotel price breakdown showing taxes and fees displayed separately

Scenario 2 - Madrid hotel, US market

The display price is $ 214. A pop-up then shows additional details, including taxes, which brings the total to $ 235.

Madrid hotel price breakdown showing taxes displayed separately

The price_before_discount object

The price_before_discount field is only populated when a pricing option has a discounted price. It contains the original price before discount.

When present, price_before_discount provides the price and base_price sub-fields. The taxes_and_fees breakdown is intentionally not included for the pre-discount amount.

Its purpose is simply to indicate that a discount was applied and to enable displaying the difference between the current discounted price and the price pre-discount.