Price Retrieval API
Submit hotel prices from your list via the API.
Pull integration scheme
-
When connecting, the partner submits the URL for the Price Retrieval API.
-
The partner can also optionally provide HTTP Basic authentication parameters and the Live Pricing API URL.
With the Live Pricing API, you can:
- Specify a number of guests in price requests that is different from the default value (for example, 3 adults + 1 child aged 10).
- Show the response to the user during the search if the partner responds within the timeout specified in the query (up to 3 seconds).
-
The partner provides the maximum allowed load for the specified APIs and the number of hotels to be queried in a single HTTP request.
-
Once an hour, the robot queries the partner's offers for default accommodation (2 adults) using the provided URL for the Price Retrieval API.
-
The Price Retrieval API is queried for all of the partner's hotels listed in the XML file for a period of at least 7 days from the current date.
-
The Price Retrieval API is queried by sending a Query request using the HTTP POST method.
Sample requests
To query the Price Retrieval API, the Yandex robot sends a Query message within the HTTP POST request data.
-
Example of a simple Query request to the Price Retrieval API:
<?xml version="1.0" encoding="UTF-8"?> <Query> <Checkin>2025-05-20</Checkin> <Nights>1</Nights> <PropertyList> <Property>HotelId123</Property> <Property>HotelId345</Property> ... </PropertyList> </Query>
-
Example of a request to the Live Pricing API for 3 adult guests and one 10-year-old child, with a maximum timeout of 3 seconds:
<?xml version="1.0" encoding="UTF-8"?> <Query latencySensitive="true"> <DeadlineMs>3000</DeadlineMs> <Checkin>2025-05-20</Checkin> <Nights>1</Nights> <PropertyList> <Property>HotelId123</Property> <Property>HotelId345</Property> ... </PropertyList> <Context> <Occupancy>4</Occupancy> <OccupancyDetails> <NumAdults>3</NumAdults> <Children> <Child age="10"/> </Children> </OccupancyDetails> </Context> </Query>
Sample responses
-
Example of a simple response with price information:
<?xml version="1.0" encoding="UTF-8"?> <Transaction> <Result> <Property>HotelId123</Property> <Checkin>2025-05-20</Checkin> <Nights>1</Nights> <Baserate currency="TRY">1430</Baserate> <Tax currency="TRY">70</Tax> <OtherFees currency="TRY">0</OtherFees> <Custom1>PrettyHotelName</Custom1> </Result> </Transaction>
-
Example of a response with data for generating a point-of-sale link:
<?xml version="1.0" encoding="UTF-8"?> <Transaction> <Result> <Property>HotelId123</Property> <Checkin>2025-05-20</Checkin> <Nights>1</Nights> <Baserate currency="TRY">1430</Baserate> <Tax currency="TRY">70</Tax> <OtherFees currency="TRY">0</OtherFees> <Custom1>PrettyHotelName</Custom1> <AllowablePointsOfSale> <PointOfSale id="default"> <URL>https://online-agency.tr/booking?hotel=(CUSTOM1)&checkin=(CHECKINYEAR)(CHECKINMONTH)(CHECKINDAY)&checkout=(CHECKOUTYEAR)(CHECKOUTMONTH)(CHECKOUTDAY)&adults=(NUM-ADULTS)</URL> </PointOfSale> </AllowablePointsOfSale> </Result> </Transaction>
-
Example of a response when the booking option is unavailable for the requested date:
<?xml version="1.0" encoding="UTF-8"?> <Transaction> <Result> <Property>HotelId123</Property> <Checkin>2025-06-25</Checkin> <Nights>1</Nights> <Baserate currency="TRY">-1</Baserate> <Tax currency="TRY">0</Tax> <OtherFees currency="TRY">0</OtherFees> </Result> </Transaction>