Last updated

Discounts and rates

Find in this section an overview of the available discount types including deals, regular rates, third-party inventory (TPI) rates, and Closed User Group (CUG) rates, along with guidance on how to correctly retrieve them via the Demand API.


Booking.com enables partners to offer a variety of discount mechanisms designed to improve visibility, drive bookings, and enhance the traveller experience. These incentives include:

  • Time-sensitive deals, such as Black Friday and other seasonal promotions

  • Targeted rate offers, based on user device or location.

  • Exclusive offers, available to logged-in or authenticated users.

  • Third-party inventory (TPI) rates, providing competitive pricing from external suppliers.

As an Affiliate Demand API partner, you can surface these rates dynamically, tailoring offers based on context to maximise conversion and user satisfaction.

To confirm eligibility or access specific discount types, please contact your Account Manager.

Discount categories

Booking.com supports several discount mechanisms. Each type has a distinct business purpose and API behaviour:

type of discounts

Deals

Publicly visible discounts designed to generate urgency and increase visibility—no login or special membership required.

Use cases:

  • Promote seasonal or limited-time campaigns (e.g., Black Friday).
  • Highlight discounted properties during off-peak periods.
  • Drive short-term booking spikes.

Available deal types via Demand API:

dealLogged in deal (formerly Secret deals)
  • Available only to users who meet specific criteria, such as being authenticated.
Deal of the day
  • A daily rotating promotion for selected properties.
Last minute deals
  • Offered for bookings close to the check-in date.
Limited-time deals
  • Offers valid for a short, predefined period, encouraging quick bookings.(e.g., Black Friday)

Regular (target) rates

Public rates tailored to specific customer segments, based on attributes like geography or booking platform.

Use cases:

  • Encourage mobile bookings.
  • Target specific countries or regions.
  • Optimise pricing strategy across different markets.

Target rate types:

target ratesMobile rates - Special rates for bookings made via mobile apps or browsers.Geo/country rates - Discounts based on the user's location or country of residence.

Closed user group (CUG) rates

Closed user group (CUG) rates are discounted rates offered exclusively to verified or loyalty-based user groups.

Use cases:

  • Provide added value to Genius or loyalty programme members.
  • Support private sales or corporate programmes.
  • Offer consistent long-term pricing to authenticated users.

Important considerations:

  • Access control is required (e.g., authentication or tokenisation)
  • CUG rates may be combinable with other discounts.
  • Prior approval from your Account Manager is required.

Contact your Account Manager for further details.

Third-party inventory (TPI) rates

Third-party inventory (TPI) rates are sourced from external suppliers (e.g., wholesalers, bedbanks), providing broader inventory and competitive pricing.

Key characteristics:

  • Available via Demand API v3.1 (or above)

  • Depending on your configuration the TPI rates are:

    • Commissionable (Sell rates) which are part of the "Regular rates" group.
    • or non-commissionable (Net rates), which are CUG rates.
  • Useful for supplementing property availability with competitive alternatives.

See the TPI section for integration details.


Discounts in requests

To effectively use discounts via the Demand API, it's essential to understand how to implement them correctly, so travellers can receive the appropriate pricing based on their eligibility.

Endpoints

Use the following accommodation endpoints to access deals and rates information:

EndpointBest practice

/accommodations/search

/accommodations/availability

✓ When querying availability or searching for accommodations, make sure to include the correct key parameters in your requests.

✓ This ensures the API returns the appropriate rates/deals based on the user's eligibility.

/orders/preview✓ Before finalising the booking, review the applied rates and deals to ensure they are correct.

Key parameters

The following parameters determine which deals and rates are available:

API authentication

  • The API token and affiliate ID must be included in the Authorization: Bearer header, in every API request.
  • These identify your partner account and determine which deals and rates are accessible to them.

✅ The booker object - Specifies the conditions under which users can access particular rates.

"booker" parameters
Description
platformDefines whether the user is making the booking through mobile, desktop, etc.
country (and state)Restricts rates to users from a specific country (or state in the US)

user_groups

It identifies whether the booker is part of a membership tier, ensuring the correct CUG rates are retrieved.

  • The authenticated value is mandatory to get access to closed user discounts. By adding this parameter, users get access to rates as if they were logged in at booking.com.
checkin/ checkoutInclude deals valid for the specified period.

Use the key parameters in your requests to retrieve discounts on accommodations triggered by the search results.

Retrieving target rates

To retrieve rates offered to specific targets located in a strategic market and/or using a specific platform for bookings:

Include the following information in the booker object:

  1. Identify the booker platform. In this case, for mobile rates: "platform": "mobile"

  2. Set the booker country, so the right rates are retrieved (for example, "country": "us" for the USA). (Use the common/locations/countries endpoint to return the country codes if needed.)

  3. If discounts are attached to a specific time-window, ensure you set the correct checkin and checkout dates.

Example:

{
...
  "booker": {
    "platform": "mobile", 
    "country": "us",
  },
  "checkin": "2025-09-05",
  "checkout": "2025-09-14",
  "extras": ["products"],
...
}

Refer to the Search accommodation guide, for instructions and recommendations on defining your search requests.

Accessing CUG rates

To access exclusive deals such as logged_in_deal (previously known secret_deals) in v3, specifying "user_groups": ["genius2"] alone is no longer sufficient, even if a logged_in_deal is available for this group.

You should always include the "authenticated" field in the user_groups parameter in your availability and orders/preview requests:

  1. Include authenticated to ensure only registered and logged-in travellers get CUG rates.
  2. Add the membership tier to apply the discounts (e.g., genius or genius2).

Example:


"booker": {
  "platform": "desk",
  "country": "us",
  "user_groups": [
      "authenticated",
      "genius2"]
  },
Important
  • If the booker account does not have access to certain rate tiers (e.g., genius2), passing this value will not return applicable rates.
  • Always confirm available rate tiers with your Account Manager before making requests.

Combining discounts

In this example, a combination of deals and CUG rates is applied:

  • Target discounts are applied to mobile users located in Spain, during the selected period.
  • For the exclusive Genius closed group, the user must be authenticated to receive special rates.
{
...
  "booker": {
    "platform": "mobile",
    "country": "es",
    "user_groups": ["authenticated", "genius"]
  },
  "checkin": "2025-09-05",
  "checkout": "2025-09-14",
  "extras": ["products"],
...
}

Note we do not automatically combine deals/rates with each other, unless rate stacking is activated in your account. Contact your Account Manager for more details.

Discounts in responses

When you call any of the previously mentioned endpoints, the response will contain the products.deal object, which provides summary information on available discounts.

Example - Search response with discounts

The following example shows a product eligible for a 28% discount, applicable when booking via a mobile device or during a specific promotional period.

The original price is €100, resulting in a discounted price of €72.00.

{
  ...
  "currency": "EUR",
  ...
  "products": [
    ...
    "id": "xxxxxxxx_x_xxxxxxxxx_x_x_x",
    "deal": {
      "discount_percentage": 28,
      "public_price": 100.00,
      "tags": [
        "mobile_rate",
        "limited_time_deal"
      ]
    },
    ...
    "price": {
      "book": 72.00,
    },

"Deal" object parameters

discount_percentageThe total discount percentage applied to the product's public_price.
public_priceThis is the original price of the product, before any discounts. This is the price to which the discount_percentage is applied.
price.bookThe discounted price (public_price minus the discount_percentage).
tagsThese tags help platforms categorise discounts and make it easier for users to identify promotions. (See next section for details).

Note that the products.deal object may not provide a detailed breakdown of how the discount_percentage is calculated.

Tags

Each discount is tagged to identify its type.

Tag
Description
black_fridayDeals part of the Black Friday promotion, a major shopping event with significant discounts or limited-time offers, usually held in late November.
limited_time_dealDeals that expire after a certain period, often flash sales or promotions with a deadline.
logged_in_deal (previously named "Secret deals")Deals available only to logged-in users (authenticated), often exclusive or part of a loyalty program like Genius.
mobile_rateSpecial discounted rates offered to target users booking through mobile apps.
seasonal_dealDeals tied to specific seasons or holiday periods, offering discounts aligned with travel trends (such as Summer, Getaway deals, Easter, etc.).

Important

  • Multiple deals may be applied sequentially.
  • If deals cannot be combined, only the highest discount is applied.

What's next?
  • Learn how to display discounts in your application with our dedicated guide.
  • Refer to the TPI section for detailed instructions on retrieving and booking Third-party inventory rates.