Ответные сообщения с подсказками

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

Обзор процесса пересмотра цен см. в разделе « Обзор ценообразования» .

В сообщениях с подсказками и ответами используются следующие методы для пересчета цен на выбранные отели и их маршруты:

Корневым элементом сообщения Hint Response является <Hint> . Вы запрашиваете обновление информации об отеле или маршруте, используя один или несколько элементов <Item> . Одно сообщение Hint Response может определять любое количество элементов <Item> .

В каждом сообщении Hint Response для каждого элемента <Item> должен быть указан как минимум один элемент <Property> . Элемент <Property> идентифицирует отель, используя те же идентификаторы, что и в списке отелей . По умолчанию для каждого блока <Item> указывается один идентификатор отеля. Однако вы можете указать Google разрешить указание нескольких отелей в блоке элемента, если используете диапазоны дат заезда или диапазоны продолжительности проживания для переоценки.

Точный маршрут, запрос и ответ.

Сообщения-подсказки могут основываться на индивидуальных маршрутах, например, на сочетании даты заезда и продолжительности пребывания. В этом случае вы указываете дату заезда и продолжительность пребывания в отелях, и Google получает новые данные о ценах только для этого маршрута.

Ответ партнера

В следующем сообщении-подсказке описывается одно свойство и один маршрут:

<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2023-05-20</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Ответ Google

В ответ на ваше сообщение с подсказкой Google отправляет запрос <Query> , похожий на следующий:

<Query>
  <Checkin>2023-05-20</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

Создать <Transaction>

Затем вам необходимо создать <Transaction> с обновлением цен на проживание в отеле на следующий период:

5/20/23 - 5/23/23

Последовательность запросов и ответов по диапазонам дат регистрации заезда

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

Диапазон дат, предложенных партнером

В следующем примере сообщения-подсказки определяется одно свойство с диапазоном дат для регистрации:

<Hint>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

Ответ Google

В ответ на это сообщение с подсказкой Google отправляет <Query> примерно следующего вида:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <Nights>5</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

Создать <Transaction>

Затем вам необходимо создать <Transaction> с обновлением цен на следующие номера в этом отеле:

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/20/23 - 5/24/23
5/20/23 - 5/25/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/21/23 - 5/25/23
5/21/23 - 5/26/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/22/23 - 5/26/23
5/22/23 - 5/27/23

В этом примере используется продолжительность пребывания 5 ночей. По умолчанию продолжительность пребывания составляет 30 дней.

Схема обработки запросов и ответов по вопросам пребывания в различных районах

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

Диапазон проживания партнера

В приведенном ниже примере сообщения «Подсказка/Ответ» используются варианты расположения в пределах определенного диапазона:

<Hint>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Ответ Google

В ответ на ваше сообщение с подсказкой Google отправляет запрос <Query> , похожий на следующий:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>12345</Property>
    <Property>67891</Property>
  </PropertyList>
</Query>

Создать <Transaction>

Затем вам необходимо создать <Transaction> с обновлением цен на номера в отеле для следующих периодов проживания:

5/17/23 - 5/20/23

5/18/23 - 5/20/23
5/18/23 - 5/21/23

5/19/23 - 5/20/23
5/19/23 - 5/21/23
5/19/23 - 5/22/23

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23

Диапазоны проживания: ограничения пакетной обработки и разделение запросов.

Google ограничивает каждый поисковый запрос максимум 10 000 комбинациями «отель-маршрут» (отель, дата заезда и продолжительность пребывания). Для подсказки «Диапазон пребываний» количество комбинаций рассчитывается с использованием формулы трапеции для определения количества комбинаций «отель-маршрут» в запросах с диапазоном пребываний:

$$ \text{Total Items} = \left( \text{Date Span} \times \text{LOS} + \frac{\text{LOS} \times (\text{LOS} + 1)}{2} \right) \times N_{\text{hotel_batch_size}} $$

Где:

  • Date Span : количество дней включительно между <FirstDate> и <LastDate> (Диапазон дат = ПоследняяДата - ПерваяДата + 1).
  • LOS : Максимальная продолжительность пребывания, запрашиваемая в подсказке (например, <AffectedNights>14</AffectedNights> ).
  • \(N_{\text{hotel_batch_size}}\): Количество объектов недвижимости, включенных в пакет запросов (настраивается с помощью hotel_batch_size ).

Что произойдет, если количество элементов в подсказке превысит 10 000?

Если количество вычисленных элементов превышает 10 000, Google автоматически распределяет нагрузку по запросу:

  1. Первая попытка ( пребывание в пределах определенного диапазона ): с помощью <AffectedNights> отправляется меньший временной интервал, охватывающий начало вашего периода пребывания в этом диапазоне.
  2. Первый запасной вариант (если поддерживается — диапазон дат регистрации ): мы попытаемся отправить меньшие оставшиеся фрагменты вашего диапазона дат в виде запросов диапазона дат регистрации, используя <Nights> (запрос ниже).
  3. В качестве запасного варианта ( точные маршруты ): мы будем использовать расширение набора запросов до отдельных точных маршрутов.
<!-- Example: Remainder batch dispatched after a split -->
<Query>
  <FirstDate>2026-10-01</FirstDate>
  <LastDate>2026-10-31</LastDate>
  <Nights>14</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>
  • Поддерживайте сбалансированный размер пакетов данных для объектов недвижимости: если вы обновляете данные в больших временных окнах (например, от 180 до 365 дней) с продолжительностью пребывания более 14 ночей, попросите своего технического менеджера по работе с клиентами Google установить значение hotel_batch_size меньше, чтобы предотвратить срабатывание подсказок при разделении данных.
  • Ограничение по объему указывает на следующее: при уведомлении Google об изменении цен следует ограничивать диапазоны <FirstDate> и <LastDate> конкретными датами, когда цены фактически изменились, а не отправлять данные за весь календарный год.
  • Если ваши подсказки охватывают большие диапазоны дат: убедитесь, что ваш парсер принимает любой из следующих вариантов. или внутри Блоки, содержащие <FirstDate> и <LastDate> , позволяют использовать несколько типов запросов с заданным диапазоном для удовлетворения запросов на слияние.