Skip to main content

Hotel Availability

Commerce
Shopping
REST API
Booking Solutions

What is it?

The Hotel Availability API returns detailed availability and pricing information for a single hotel. The request is flexible allowing for multiple ways to filter the rates returned and specify full or partial details in the response.

Why use it?

Use to request a hotel availability response that includes either: 

  • A list of products matching the search criterion. Products display available status, pricing, booking policy rules, restrictions, inventory, images, descriptions, and policies. Shoppers use that data to determine which offering meets their needs. 
  • Or, when any of the matching products is not available, a least restrictive failure is returned indicating why the product is not available. This indicator identifies the reason there is no availability based on the request. Shoppers can modify their availability request to address the failure and enter it to view the response again.

How to use

The following are some examples of use cases for this API:

Access Codes: Include Corporate, Group, Promotion of Channel Access Rates in the availability response. The response is almost identical in terms of structure to the unqualified search but it includes more products since the access code unlocks the usage of additional products.

Additional Guests: Request pricing for a specified number of guests and also include pricing for additional guests. This is helpful when the number of guests is not finalized.

Agent - Booker, Travel Agent, or Chain Agent Specific Rates: Unlock rates assigned to a Booker, IATA, or Chain Agent.

Central Reservation Office (CRO) Rates: Search for rates assigned to a CRO.

Coupon Codes: Include one or more coupon codes to identify which rates are eligible.

Currency Code: Request rates set up in an alternate currency Note: Only rates set up in the requested currency are returned. Rate currency is not converted.

Future Booking Date: Simulate how shopping would behave if today was the booking date. This type of search can be useful to check availability for date-based promotions that have a start date in the future.

Language: Request the hotel name and other descriptive information to be returned in a specified language Note: If content doesn’t exist in the requested language or isn't supported by the system then the default language English (en) is used.

Length of stay: Use the lengthOfStay parameter so that the system will return the @Prices node based on the Length of Stay (instead of based on nightly price). The arrival date must be within the requested date range. For example, if the startDate=2021-01-01, endDate=2021-01-04, and lengthOfStay=2, the @Prices nodes will be returned for the following four two-day options:

• startDate=2021-01-01, endDate=2021-01-03

• startDate=2021-01-02, endDate=2021-01-04

• startDate=2021-01-03, endDate=2021-01-05

• startDate=2021-01-04, endDate=2021-01-06

Loyalty Program: Request rates based on loyalty program code and level.

Pagination: Used to access the response data in smaller sets.

Price Range: Request rates by specifying a minimum and/or maximum price.

Rate: Request specific rate codes to include in the response.

Rate Class: Include or exclude rates assigned to a rate class.

Rate Filter: Request specific rate codes associated to a rate filter.

Return Full Content: In addition to pricing and availability, descriptive content can be included in the response.

Room Code: Request specific room codes to include in the response.

Room Class: Include or exclude rooms that are ADA Compliant.

Room Feature: Include rooms associated with a specific room feature (for example, Pet-friendly room).

Room View: Include rooms associated with a specific view (for example, Beach view).

Sample Request (2 adults, 1 room, 1 night)

[GET] /v1/api/hotel/availability?hotelId=13098&chainId=12723&adults=2&startDate=2020-02-02&endDate=2020-02-03&numRooms=1&primaryChannel=WEB&secondaryChannel=WEB

Sample Response (2 adults, 1 room, 1 night)

{
  "productAvailability":{
    "Hotel":{
      "Id":13098
    },
    "Paging":{
      "Size":1,
      "Start":0,
      "Total":1
    },
    "Prices":[
      {
        "Product":{
          "Prices":{
            "Daily":[
              {
                "Price":{
                  "Fees":{
                    "Amount":0.0
                  },
                  "Tax":{
                    "Amount":20.0
                  },
                  "Total":{
                    "Amount":91.11,
                    "AmountWithTaxesFees":111.11,
                    "AmountWithInclusiveTaxes":111.11
                  },
                  "Amount":91.11,
                  "CurrencyCode":"USD"
                },
                "Date":"2020-02-02T00:00:00",
                "AvailableInventory":28
              }
            ],
            "PerNight":{
              "Price":{
                "Fees":{
                  "Amount":0.0
                },
                "Tax":{
                  "Amount":20.0
                },
                "Total":{
                  "Amount":91.11,
                  "AmountWithTaxesFees":111.11
                },
                "Amount":91.11,
                "CurrencyCode":"USD"
              }
            },
            "Total":{
              "Price":{
                "Fees":{
                  "BreakDown":[
                    
                  ],
                  "Amount":0.0
                },
                "Tax":{
                  "BreakDown":[
                    {
                      "Amount":20.0,
                      "Code":"City1-10"
                    }
                  ],
                  "Amount":20.0
                },
                "Total":{
                  "Amount":91.11,
                  "AmountWithTaxesFees":111.11,
                  "AmountWithInclusiveTaxes":111.11
                },
                "Amount":91.11,
                "CurrencyCode":"USD"
              }
            },
            "TaxesFeesIncluded":false
          },
          "Rate":{
            "Code":"BAR"
          },
          "Room":{
            "Code":"LUXT"
          },
          "PolicyModificationViolation":false,
          "Ref":"Rate",
          "RefValue":"BAR"
        },
        "Available":true,
        "AvailableInventory":28,
        "IsMaximumPricedItem":true,
        "IsMinimumPricedItem":true,
        "SortSequenceNumber":1
      }
    ],
    "AdditionalPrices":[
      
    ],
    "ProductResult":"Success"
  }
}