Запрос & Справочник по XML-подсказкам

В этом разделе представлена ​​справочная информация по сообщениям запроса подсказки (Hint Request) , сообщениям ответа на подсказку (Hint Response) и сообщениям запроса (Query messages) на основе XML от Google.

<Hint> (Сообщение с ответом на подсказку)

Корневой элемент сообщения «Подсказка-ответ». Сообщения «Подсказка-ответ» указывают, какие комбинации отелей или маршрутов следует пересчитать. Это ваш ответ на запрос-подсказку от Google.

В сообщении с подсказкой (Hint Response) следует указывать только те отели, цены на которые изменились с момента последнего успешного получения Google ответа с подсказкой от ваших серверов.

В сообщениях Hint Response для указания того, какие отели и маршруты Google должен переоценить, используется один из следующих методов:

  • Точный маршрут : сочетание даты заезда и продолжительности пребывания.

  • Диапазон дат заезда : указывает диапазон дат заезда, начиная с первой даты заезда и заканчивая последней датой заезда.

  • Различные варианты проживания (или маршруты с различными вариантами размещения )

Для каждого из этих методов требуется свой синтаксис для сообщения Hint Response.

Для получения более подробной информации ознакомьтесь с сообщениями-подсказками .

Синтаксис

Элемент <Hint> использует различный синтаксис в зависимости от типа сообщения Hint Response:

Точные маршруты

Ниже показан синтаксис для точных маршрутов в сообщении-подсказке:

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>hotel_ID</Property>
    ...
    <Stay>
      <CheckInDate>checkin_date</CheckInDate>
      <LengthOfStay>number_of_nights</LengthOfStay>
    </Stay>
  </Item>
  ...
</Hint>

Диапазоны регистрации

Ниже показан синтаксис диапазонов регистрации в сообщении Hint Response:

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>hotel_ID</Property>
    [...]

    <!-- Required -->
    <FirstDate>first_checkin_date</FirstDate>
    <!-- Required -->
    <LastDate>last_checkin_date</LastDate>
  </Item>
  ...
</Hint>

Различные варианты проживания

Ниже показан синтаксис для заданных диапазонов остановок в сообщении типа «Подсказка/Ответ»:

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>1458700</Property>
    <Property>5418701</Property>
    <StaysIncludingRange>
      <!-- Required -->
      <FirstDate>2025-04-28</FirstDate>
      <!-- Optional -->
      <LastDate>2025-04-29</LastDate>
    </StaysIncludingRange>
  </Item>
  ...
</Hint>

Атрибуты

Элемент <Hint> содержит необязательный атрибут: id . Если он указан, то включается в качестве атрибута hintId в сообщения <Query> , отправляемые на основе этого <Hint> .

Дочерние элементы

Элемент <Hint> имеет следующие дочерние элементы:

Дочерний элемент Необходимый? Тип Тип ответа на подсказку Описание
<CheckInDate> Required Date Точные маршруты Дата заезда/выезда, указанная в маршруте.
<FirstDate> Required Date Диапазоны регистрации и маршруты Первая дата диапазона дат для регистрации заезда или продолжительности пребывания. Подсказка. Даты включаются в общий период.
<Item> Required Object Все Контейнер для обновления информации об отеле/маршруте.
<LastDate> Required* Date Диапазоны регистрации и маршруты

Последняя дата диапазона дат для диапазона заезда или продолжительности пребывания. Подсказка. Даты указаны включительно.

* Этот элемент является необязательным для проживания в различных районах.

<LengthOfStay> Required integer Точные маршруты Количество ночей в маршруте, выраженное положительным целым числом.
<Property> Required string Все

Идентификатор отеля, используемый в том же идентификаторе, что и в списке отелей . Количество элементов <Property> , которые можно указать в одном блоке <Item> определяется типом сообщения Hint Response:

  • Точные маршруты: до 100 отелей.
  • Диапазоны регистрации: может быть более одного, если вы установите для параметра <MultipleItineraries> значение "checkin_range" в сообщении <QueryControl> .
  • Диапазон дат пребывания: более одной, если вы установите значение <MultipleItineraries> равным "affected_dates" в сообщении <QueryControl> .
<Stay> Required Object Точные маршруты Контейнер для элементов <CheckinDate> и <LengthOfStay> в точном маршруте. Подсказка в ответном сообщении. Каждый <Item> может содержать только один элемент <Stay> .
<StaysIncludingRange> Required Object Разнообразные маршруты Контейнер для элементов <FirstDate> и <LastDate> в сообщении с подсказкой и ответом для определения диапазона дат.

Примеры

Точные маршруты

В следующем примере для одного объекта недвижимости определяется несколько маршрутов, которые отображаются в сообщении Hint Response:

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>4</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Диапазоны регистрации

В следующем примере указаны два отеля, цены на которые изменились и которые необходимо получить заново. Google получает все маршруты с 3 по 6 июля для объектов размещения с номерами 12345 и 67890:

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Property>67890</Property>
    <FirstDate>2018-07-03</FirstDate>
    <LastDate>2018-07-06</LastDate>
  </Item>
</Hint>

Различные варианты проживания

В следующем примере показаны два разных варианта использования опции "проживание в течение определенного количества ночей", один из которых рассчитан на определенное количество ночей, а другой — на одну ночь:

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <!-- Google fetches prices for all itineraries (first and last date are set) -->
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
      <LastDate>2018-07-06</LastDate>
    </StaysIncludingRange>
  </Item>

  <!-- Google fetches prices for a single night (first date only) -->
  <Item>
    <Property>67890</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
    </StaysIncludingRange>
  </Item>
</Hint>

В каждом из этих примеров Google отправляет запрос <Query> , а вам следует отправить <Transaction> , включающую обновление цен на указанные отели/маршруты.

<HintRequest>

Корневой элемент сообщения Hint Request. Google отправляет сообщение Hint Request на ваш сервер и ожидает ответа, в котором указываются отели и маршруты, цены на которые изменились с момента последнего успешного получения Google ответа Hint Response от вашего сервера.

В случае изменения цен Google отправляет <Query> , который получает обновленные данные о ценах на указанные отели и маршруты.

Для получения более подробной информации см. раздел «Сообщения с запросами на подсказки» .

Синтаксис

Элемент <HintRequest> использует следующий синтаксис:

Синтаксис

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
  <LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>

Атрибуты

Элемент <HintRequest> не имеет атрибутов.

Дочерние элементы

Элемент <HintRequest> имеет следующие дочерние элементы:

Дочерний элемент Тип Описание
<LastFetchTime> DateTime В последний раз Google удалось получить ответ на сообщение с подсказкой (Hint Response) в ответ на сообщение с запросом (Hint Request).

Если это время прошло с момента последнего обновления цен на вашем сервере, вам следует отправить ответное сообщение с подсказкой, указав, для каких отелей были внесены изменения.

Если в последнее время не было успешных запросов на получение данных, будет установлен фиксированный интервал (во избежание более серьезных проблем при больших объемах невыполненных запросов). Текущий фиксированный интервал составляет 1000 секунд, но может быть изменен.

Для получения более подробной информации см. раздел «Сообщения с подсказками и ответами» .

Примеры

В следующем примере показано сообщение с запросом на подсказку :

Сообщение с запросом подсказки

В следующем примере показано сообщение с запросом на подсказку:

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
  <LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>

<Query>

Корневой элемент сообщения Query . Сообщения Query — это запросы от Google на обновление цен или метаданных. Они используются как в режиме получения информации о ценах (Pull), так и в режиме изменения цен (Changed pricing delivery).

Сообщения с запросами о ценах

В сообщениях запроса цен указываются комбинации объектов недвижимости и маршрутов, для которых вы предоставляете цены.

Когда ваш сервер получает сообщение с запросом цен , он должен ответить сообщением типа <Transaction> , содержащим запрошенную информацию о ценах.

Для получения более подробной информации см. раздел «Обзор цен» .

Существует три особых типа сообщений- Query :

  • Цены в режиме реального времени: Google отвечает на конкретный запрос пользователя, запрашивая обновление цен в режиме реального времени. Когда партнеры получают сообщение Live pricing query , они должны ответить сообщением <Transaction> , содержащим запрошенную информацию о ценах в элементах <Result> .

  • Ценообразование с учетом контекста: Google обновляет свой кэш цен на основе контекстов, которые исторически популярны. При получении With Context query вы должны ответить сообщением <Transaction> , содержащим запрошенную информацию о ценах в элементах <Result> .

    • С помощью контекстных запросов для одного объекта размещения.

      При предоставлении тарифов в ответ на запросы With Context следует отправлять только тариф, соответствующий указанному контексту. Базовый тариф для размещения требует минимум 2 человек, поэтому, если в базовом тарифе указан один человек, он будет проигнорирован и по-прежнему будет рассматриваться как размещение двух человек. В этом случае следует указать базовый тариф как недоступный и использовать вложенный тариф внутри одного человека. См. пример ответа With Context . Вы можете использовать Changed Pricing with Context для объединения тарифов, установив атрибут mergeable в значение "true" . Подробнее .

    • Изменение ценообразования (ранее — «Вытягивание с подсказками») с учетом контекста.

      Когда вы отправляете сообщение <Transaction> в ответ на запрос "Изменение цен с учетом контекста", Google рассматривает это как полную замену информации о ценах и наличии мест для данного отеля или маршрута, и все тарифы, зависящие от контекста, исключаются из ответа и удаляются из кэша.

      Чтобы предотвратить перезапись, следует установить атрибут mergeable в значение "true" внутри элемента <Result> в сообщении <Transaction> . Google добавит тарифы к существующим кэшированным тарифам для предоставленного контекста в ответе. Если вы не используете атрибут mergeable, вам необходимо отправить все тарифы для всех применимых контекстов в ответе.

    • Запрос цен в реальном времени с контекстом

      Запрос цен в реальном времени с контекстом по умолчанию имеет атрибут mergeable, поэтому установка этого атрибута не требуется. Вам нужно отправлять тарифы для конкретных контекстов, запрошенных Google, только если все остальные контексты остаются неизменными. Если другие контексты изменились, вы должны явно отправить изменения для этих контекстов; в противном случае новые тарифы не будут обновлены в кэше Google.

  • Метаданные: Google запрашивает обновление метаданных для номеров и пакетов номеров для указанных отелей. При получении сообщения Metadata Query следует ответить сообщением <Transaction> , содержащим данные о номерах и пакетах номеров в элементах <PropertyDataSet> . Для получения дополнительной информации см. раздел «Метаданные пакетов номеров» .

Синтаксис

Элемент <Query> использует следующий синтаксис:

Запрос цены

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
</Query>

Цены в режиме реального времени

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
  <!-- See documentation below for <Context> -->
  <Context>
   ...
  </Context>
</Query>

С помощью контекстного запроса

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyContextList>
    <PropertyContext>
      <Property>hotel_id</Property>
      ...
      <!-- See documentation below for <Context> -->
      <Context>
      ...
      </Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

Метаданные

<HotelInfoProperties>
  <Property>property_ID</Property>
  ...
</HotelInfoProperties>

Атрибуты

Элемент <Query> может содержать один атрибут: latencySensitive .

Атрибут latencySensitive является необязательным. Если он указан и имеет значение true , это означает, что запрос является Live Pricing Query . Чтобы Google отправлял запросы с атрибутом latencySensitive , свяжитесь со своим техническим менеджером по работе с клиентами (TAM).

Дочерние элементы

Элемент <Query> имеет следующие дочерние элементы:

Дочерний элемент Тип запроса Тип Описание
<AffectedNights> Pricing integer Количество ночей для проживания в течение определенного периода времени. Этот элемент используется только для запросов ценообразования для проживания в течение определенного периода времени, применяемых с изменением цен.
<Checkin> Pricing Date Даты конкретного изменения цены.
<Context> Pricing (Live Pricing Queries only) <Context> Для запросов с отображением цен в реальном времени указываются определенные параметры, на основе которых выполняется запрос. Дочерние элементы включают:
  • <Occupancy> : общее количество гостей
  • <OccupancyDetails> : тип гостей, например, взрослые или дети.
  • <UserCountry> : страна, в которой находится пользователь.
  • <UserDevice> : тип устройства, которое гость использовал для поиска отеля, например, "mobile », « tablet » или « desktop ».

Элемент <Context> может повторяться в одном запросе, что позволяет запрашивать информацию о различных позициях. Список дочерних элементов, синтаксис и примеры см. в разделе <Context> .

<FirstDate> Pricing Date Дата начала действия диапазона маршрутов, к которым применяется цена. Этот элемент используется только для запросов ценообразования в диапазоне дат заезда/выезда, используемых при изменении цен.
<HotelInfoProperties> Metadata string Один или несколько объектов недвижимости, для которых Google запрашивает обновленные метаданные номера и пакеты номеров в сообщении Query метаданных. Этот элемент может содержать один или несколько элементов <Property> , указывающих идентификаторы объектов недвижимости типа «отель».
<LastDate> Pricing Date Дата окончания действия диапазона маршрутов, на которые распространяется данное ценовое предложение. Этот элемент используется только для запросов ценообразования по диапазону дат регистрации заезда, применяемых с функцией Pull + Hints.
<Nights> Pricing integer Количество ночей в конкретном маршруте, до 30.
<PropertyList> Pricing Object

Один или несколько идентификаторов отеля, для которых требуется обновление цен.

Каждый отель определяется в элементе <Property> . Значение представляет собой строку, соответствующую идентификатору отеля в вашем списке отелей . Например:

<PropertyList>
  <Property>pid1</Property>
  <Property>pid2</Property>
</PropertyList>

Примеры

Запрос цены

В следующем примере показано сообщение запроса на изменение цен, запрашивающее обновление цен на ряд отелей, доступных для бронирования на 3 ночи, начиная с 23 мая 2023 года:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Запрос цен в режиме реального времени

В следующем примере показан запрос на получение цен в режиме реального времени с ограничением времени ответа в 500 миллисекунд:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="8"/>
        <Child age="5"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

С контекстным запросом

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, device might be specified -->
      <Context><UserCountry>US</UserCountry></Context>
      <Context><UserCountry>GB</UserCountry></Context>
    </PropertyContext>
    <PropertyContext>
      <Property>8675310</Property>
      <Property>8675311</Property>
      <Context><UserCountry>CA</UserCountry></Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

С контекстным ответом

В следующем примере объясняется, как установить базовую ставку в значение unavailable(-1) для одного номера и вложить ставки в элемент <Occupancy> .

<?xml version="1.0" encoding="UTF-8"
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2025-11-19T18:36:48Z">
<Result>
  <Property>6781291</Property>
  <Checkin>2026-01-15</Checkin>
  <Nights>1</Nights>
  <!-- Base rate is set to -1 to indicate unavailability for the default (2-person) occupancy -->
  <Baserate currency="USD">-1</Baserate>
  <Tax currency="USD">0</Tax>
  <OtherFees currency="USD">0</OtherFees>
  <Rates>
    <!-- Nested Rate for Single Occupancy -->
    <Rate rate_rule_id="rule-951">
      <Occupancy>1</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
      </OccupancyDetails>
      <Baserate currency="USD">150.00</Baserate>
      <Tax currency="USD">15.00</Tax>
      <OtherFees currency="USD">5.00</OtherFees>
    </Rate>
  <!-- Other nested rates for different occupancies or room types could be included here if available -->
  </Rates>
</Result>
</Transaction>

Запрос метаданных

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

Дополнительные примеры, включая запросы ценообразования в зависимости от диапазона дат проживания и заезда, см. в примерах сообщений Query .

<Context>

Элемент <Context> описывает информацию для Live pricing query , включая количество и тип гостей, страну пользователя и устройство пользователя.

Использование нескольких <Context> никогда не допускается для разных стран или устройств пользователей. При использовании нескольких <Context> для запроса нескольких вариантов размещения, укажите цену каждого варианта размещения в виде дополнительного пакета номеров для соответствующего объекта размещения или маршрута. Для каждого объекта размещения или маршрута должен быть один блок <Result> с указанием цен для нескольких вариантов размещения.

Подробную информацию об ответе на запрос <Context> см. в разделе <OccupancyDetails> .

Синтаксис

Элемент <Context> использует следующий синтаксис:

Синтаксис

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>date</Checkin>
  <Nights>number_of_nights</Nights>
  <DeadlineMs>number_of_milliseconds</DeadlineMs>
  <PropertyList>
    <Property>property_ID</Property>
  </PropertyList>
  <Context>
    <Occupancy>total_number_of_guests</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
    <UserCountry>end_user_country</UserCountry>
    <UserDevice>user_device_type</UserDevice>
  </Context>
</Query>

Дочерние элементы

Элемент <Context> имеет следующие дочерние элементы:

Дочерний элемент тип запроса Тип Описание
<Occupancy> Pricing integer Указывает общее количество гостей.

Хотя это и не обязательно, запросы с элементом <Occupancy> должны приводить к сообщению транзакции с соответствующими пакетами номеров, определенными для каждого <Occupancy> , но если пакеты номеров недоступны, рекомендуется указать элемент <Occupancy> .

Примечание: <Occupancy> может не всегда присутствовать в запросе. В таких случаях следует возвращать цены для всех вариантов размещения.

<OccupancyDetails> Pricing Object Перед этим стоит <Occupancy> . Указывается тип гостей, включая:
  • <NumAdults> : количество взрослых гостей
  • <Children> и <Child=" age "> : Указывает, какие гости являются детьми (обычно в возрасте от 0 до 17 лет), и при необходимости указывает возраст каждого ребенка.

Хотя это и не обязательно, запросы с элементом <OccupancyDetails> должны приводить к сообщению о транзакции с соответствующими пакетами номеров, определенными для каждого <Occupancy> , но если пакеты номеров недоступны, рекомендуется указать элемент <OccupancyDetails> .

Примечание: <OccupancyDetails> может не всегда отображаться в запросе. В таких случаях следует предполагать, что все гости — совершеннолетние.

<UserCountry> Pricing string

Фильтрует тарифы по стране, в которой находится пользователь. Значение представляет собой двухбуквенный код страны, например, "US" для Соединенных Штатов, или код региона, например, "EU" для «Европы».

Запросы с заданным параметром <UserCountry> должны приводить к появлению транзакционного сообщения с соответствующим блоком <Rates> , определенным для запрашиваемой страны.

<UserDevice> Pricing string

Фильтрует предложения по типу устройства, с которого пользователь осуществляет поиск. Возможные значения:

  • mobile
  • desktop
  • tablet

Запросы с определенным параметром <UserDevice> должны приводить к появлению транзакционного сообщения с соответствующим блоком <Rates> , определенным для запрашиваемого типа устройства.

Примеры

Заполняемость

В следующем примере показан запрос на ценообразование в реальном времени для <Occupancy> в рамках <Context> . Запрос предназначен для 3 взрослых гостей.

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Информация о размещении

В следующем примере показан запрос на ценообразование в реальном времени с использованием <OccupancyDetails> в <Context> . Запрос предназначен для 4 гостей, 2 из которых — дети, и ищет тариф, применимый к бронированию для гостя из США с мобильного устройства:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="4"/>
        <Child age="12"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Множественные контексты

В следующем примере показано использование дополнительного элемента <Context> в запросе на ценообразование в реальном времени.

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
  <Context>
    <Occupancy>6</Occupancy>
    <OccupancyDetails>
      <NumAdults>4</NumAdults>
      <Children>
        <Child age="6"/>
        <Child age="10"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>