Price Retrieval API

Submit hotel prices from your list via the API.

Pull integration scheme

  1. When connecting, the partner submits the URL for the Price Retrieval API.

  2. 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).
  3. The partner provides the maximum allowed load for the specified APIs and the number of hotels to be queried in a single HTTP request.

  4. Once an hour, the robot queries the partner's offers for default accommodation (2 adults) using the provided URL for the Price Retrieval API.

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

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