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
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.typeindicates whether a rate is Net or Sell.- The separate
inventory.third_partyfield indicates whether a third-party supplier facilitates the inventory.
A TPI Net rate has both third_party: true and type: net.
Key aspects of Net rates include:

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.
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.

Contact your Account Manager to discuss eligibility and activation. They can also provide details about the approved Rate Distribution Framework.
Use the following flow to search for and book Net rates:
- Search for eligible properties with accommodations/search.
- Retrieve real-time prices and policies with accommodations/availability.
- Preview the selected booking with orders/preview.
- Create the booking with orders/create, using the information returned by the preview.
- Follow the post-booking and reporting guidance to manage the order.
For a full walkthrough, see the step-by-step TPI rates guide.
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
urlordeep_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.
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_priceis 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.
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.
Follow the standard accommodation booking flow:
- Call the orders/preview before creating the booking. Use the response to check the booking details and obtain the
order_tokenrequired 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_nowand the VCC payment configuration supported by your account. - Follow the payment details returned for the selected booking.
- 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
cardobject 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.
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.
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.
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.
For Net rate reporting, reconciliation and post-booking guidance, see the TPI post-booking and reporting guide.
Follow these tips to make the most of Net rates and ensure a smooth integration:
| Area | Recommendation |
|---|---|
| AID usage | Use your dedicated Net rates AID in every request that retrieves or books Net rates. |
| Rate identification | Check both inventory.third_party and inventory.type to identify TPI Net rates. |
| Distribution | Display Net rates only through channels approved for your account under the Rate Distribution Framework. |
| Price comparison | Use best_available_price as a reference only when it is returned. Its availability depends on the show_best_available_price_for_net_rates setting. |
| Payment | Follow the payment timing and VCC requirements returned for the selected booking and enabled for your account. |
| Fallback | If 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. |
Here are some common issues you might encounter and how to resolve them:
| Issue | Possible cause | How to resolve |
|---|---|---|
| No Net rates are returned |
|
|
| Booking fails with a payment error |
|
|
best_available_price is missing |
|
|
| Unexpected pricing or policies |
|
|
| Booking fails after preview |
|
|
Explore the following resources to enhance your Net rates integration:
- Follow the step-by-step TPI rates guide to search, display and book TPI rates.
- See the TPI post-booking and reporting guide for reporting and reconciliation.
- Read the Payments overview for payment timing and method guidance.
- Use the payment errors guide to troubleshoot payment-related errors.