Skip to content

Integrating TPI Net rates

Learn how to retrieve and book third-party inventory (TPI) Net rates through Demand API, and use the public price comparison when it is available to inform your pricing strategy. v3.3 v3.2


About Net rates

Net rates are non-commissionable accommodation rates made available to eligible Affiliate partners. They are intended for distribution through approved closed user group (CUG) or opaque channels.

You can apply a margin when offering Net rates to travellers, subject to your agreement and the approved Rate Distribution Framework.

In Demand API:

  • inventory.type indicates whether a rate is Net or Sell.
  • The separate inventory.third_party field indicates whether a third-party supplier facilitates the inventory.

A TPI Net rate has both third_party: true and type: net.

Benefits

Key aspects of Net rates include:

Net rates benefits

Net rates can help you:

  • Set your own margin in line with your agreement and distribution framework.
  • Offer rates through approved CUG or opaque channels.
  • Access third-party accommodation inventory through the Demand API accommodation flow.

Before you begin

Net rates require specific commercial and integration setup. Make sure that:

  • You have signed the Net Rates Partner Addendum.
  • Your account is approved to distribute Net rates through a CUG or opaque channel under the Rate Distribution Framework.
  • You have a dedicated Net rates Affiliate ID (AID).
  • Your agreement supports pay_online_now.
  • Your integration supports Virtual Credit Card (VCC) payments and first-line customer service.
  • You use Demand API v3.1 or later. The API reference links in this guide point to the latest Demand API version.

Net rates get started

Contact your Account Manager to discuss eligibility and activation. They can also provide details about the approved Rate Distribution Framework.


Integration flow

Use the following flow to search for and book Net rates:

  1. Search for eligible properties with accommodations/search.
  2. Retrieve real-time prices and policies with accommodations/availability.
  3. Preview the selected booking with orders/preview.
  4. Create the booking with orders/create, using the information returned by the preview.
  5. Follow the post-booking and reporting guidance to manage the order.

For a full walkthrough, see the step-by-step TPI rates guide.


Identify Net rates

Check the inventory object for each returned rate. A TPI Net rate has both third_party: true and type: net:

{
  "inventory": {
    "third_party": true,
    "type": "net"
  }
}
  • Do not identify a rate as TPI based on inventory.type: net alone. Check both fields to confirm the rate type and inventory source.

  • The search and availability responses include product details for the request. Depending on the response, the property data can also include a url or deep_link_url.

  • Use the availability response to check the selected rate’s current price, room details, cancellation policy, meal plan and payment timing before continuing with the booking flow.


Compare the Net rate with the public price

The best_available_price field provides a public price comparison for a Net rate. It is available in Demand API only when the show_best_available_price_for_net_rates setting is enabled for your account.

  • If the setting is disabled, the response does not include this field. Its absence does not mean that the rate is not a Net rate.
  • When returned, the comparison represents the public price for the corresponding room and rate conditions, such as meal plan and cancellation policy. It can help you assess how your offered price compares with the public price.

The following is an abbreviated example of the conditional runtime field. The v3.3 YAML schema does not currently describe best_available_price.

{
  "inventory": {
    "third_party": true,
    "type": "net"
  },
  "price": {
    "total": 47.33
  },
  "best_available_price": {
    "total": 52.44
  }
}
  • When best_available_price is returned, the comparison represents the public price for the corresponding room and rate conditions, such as meal plan and cancellation policy.
  • It can help you assess how your offered price compares with the public price.

Understanding the Best available price

In this example:

  • The Net rate is EUR 47.33 and the public comparison price is EUR 52.44.
  • The difference is EUR 5.11.

Treat this as a price comparison, not as an allowance for a specific markup. Your final price must follow your agreement, the Rate Distribution Framework and applicable price-display requirements.

Ask your Account Manager whether show_best_available_price_for_net_rates is enabled for your account.


Preview and book a Net rate

Follow the standard accommodation booking flow:

  1. Call the orders/preview before creating the booking. Use the response to check the booking details and obtain the order_token required by orders/create.

The order_token expires 15 minutes after it is issued. Create the order before it expires.

For a Net rate:

  • Use the product ID returned for the selected rate.
  • Use the dedicated Net rates AID.
  • Use pay_online_now and the VCC payment configuration supported by your account.
  • Follow the payment details returned for the selected booking.
  1. Use orders/create to confirm the booking.
  • In the orders/create request, the payment method is represented as card.
  • Provide the VCC details in the card object and follow the requirements in the orders/create API reference.

Example:

{
  "payment": {
    "card": {
      "authentication": {
        "sca_exemption": "virtual"
      },
      "cardholder": "xxxx",
      "cvc": 123,
      "expiry_date": "2030-10",
      "number": "1234123412341234"
    },
    "include_receipt": true,
    "method": "card",
    "timing": "pay_online_now"
  }
}

See the Step-by-step TPI rates guide for detailed instructions.


Distribution requirements

Distribute Net rates only through the channels approved for your account under the Rate Distribution Framework. These may include a closed user group (CUG) or an opaque channel.

For details about CUG rates, see Closed user group rates. Contact your Account Manager if you need clarification about your permitted channels.

Important

Use the dedicated Net rates AID to retrieve and book Net rates. Standard Booking.com rates and commissionable TPI Sell rates are not available with this AID.


Shared TPI booking restrictions

Net rates are subject to the applicable TPI booking restrictions. These include restrictions on combining TPI and Booking.com-sourced rates in one booking, room count, modifications, payment timing and cancellations.

See the TPI rates hub for an overview of shared TPI restrictions and links to detailed booking guidance.


Reporting and reconciliation

For Net rate reporting, reconciliation and post-booking guidance, see the TPI post-booking and reporting guide.


Net rates integration best practices

Follow these tips to make the most of Net rates and ensure a smooth integration:

AreaRecommendation
AID usageUse your dedicated Net rates AID in every request that retrieves or books Net rates.
Rate identificationCheck both inventory.third_party and inventory.type to identify TPI Net rates.
DistributionDisplay Net rates only through channels approved for your account under the Rate Distribution Framework.
Price comparisonUse best_available_price as a reference only when it is returned. Its availability depends on the show_best_available_price_for_net_rates setting.
PaymentFollow the payment timing and VCC requirements returned for the selected booking and enabled for your account.
FallbackIf no eligible Net rate is returned, consider whether your integration should show another inventory type. Use the appropriate Affiliate ID and distribution rules for that inventory.

Troubleshooting

Here are some common issues you might encounter and how to resolve them:

IssuePossible causeHow to resolve
No Net rates are returned
  • The request may use the wrong AID, your account may not be enabled, or no eligible Net rate may be available for the search criteria.
  • Confirm that Net rates are enabled for your account, use the dedicated Net rates AID, and check the search criteria.
Booking fails with a payment error
  • The payment timing or VCC configuration may not meet the requirements for the selected rate or account.
  • Check the booking details returned by orders/preview and confirm that your account and integration support the required VCC payment flow and pay_online_now payment timing. See the Payment errors guide.
best_available_price is missing
  • The show_best_available_price_for_net_rates setting may not be enabled for your account.
  • Ask your Account Manager whether the setting is enabled. Do not treat the field’s absence as an indication that the rate is not Net.
Unexpected pricing or policies
  • Stale data.
  • Always call /orders/preview immediately before /orders/create to validate pricing and policies in real time.
Booking fails after preview
  • The order_token may have expired, or the create request may not use the selected product and payment details from the preview.
  • Preview the booking again and create the order with the new token and matching booking details.

Next steps

Explore the following resources to enhance your Net rates integration: