Наборы для переговорных комнат

Пакеты номеров позволяют определить несколько типов номеров для одного объекта или объединить маршрут номера с характеристиками тарифа – дополнительными услугами, которые поставляются с тарифом и условиями продажи – для ваших пользователей сверх стандартной цены.

Основные понятия и рабочий процесс

Пакеты номеров позволяют предлагать дополнительные комбинации типов номеров с разными пакетами услуг.

Примеры

На изображениях ниже показаны примеры пакетов номеров на компьютерах и мобильных устройствах.

Пакеты номеров с изображениями

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

Примечание. Если для пакета номеров не добавлено изображение, вместо него будет показываться плейсхолдер с кроватью.

Оцените функции

На изображениях ниже показаны примеры функций, связанных с ценами.

Показ пакетов номеров и особенностей цен в результатах поиска регулируется тем же процессом выбора, что и стандартные цены за номер.

Наборы для переговорных комнат

Пакеты номеров и тарифы задаются в сообщениях-транзакциях. Корневой элемент сообщения-транзакции – <Transaction>.

Структура сообщения-транзакции зависит от того, что вы делаете: определяете метаданные о пакете номеров или функции тарифа или обновляете цены или доступность пакета номеров.

Метаданные
Определите метаданные пакета номеров и тарифа с помощью <PackageData> в элементе <PropertyDataSet>. Подробнее о том, как задать метаданные для номеров и пакетов… Для описания номеров в пакетах используются существующие элементы <RoomData>.
Цены и наличие
Определите цены и доступность пакетов номеров с помощью элемента <RoomBundle> в <Result> для каждой комбинации пакета и маршрута. Подробнее о том, как указать цену и доступность…

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

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

  2. При необходимости определите дополнительные пакеты номеров в том же блоке <Result> для других типов номеров в этом отеле или других пакетов услуг.

  3. После запуска пакета номеров удалите тариф, налоги и другие сборы для базового номера.

Метаданные набора для переговорной комнаты

При определении пакетов номеров и особенностей тарифов вы обычно заранее указываете описание, дополнительные услуги, входящие в тариф, и другую информацию о пакете номеров. Эта информация называется метаданными пакета номеров. Затем вы ссылаетесь на эти метаданные в сообщениях об изменении цен, но не включаете их в эти сообщения.

При определении пакетов номеров используйте существующие элементы <RoomData> для описания физических номеров и элементы <PackageData> для описания тарифов и условий, которые не являются частью описания физических номеров.

Использование элементов <RoomData> и <PackageData> позволяет значительно уменьшить размер списка гостиниц и фида цен на гостиницы, поскольку сокращает объем повторяющихся данных, отправляемых в сообщениях-транзакциях.

Например, название и описание номера обычно повторяются для каждого маршрута. Чтобы определить этот тип данных один раз, можно использовать элементы <RoomData> и <PackageData>. Затем данные о пакетах номеров для конкретного маршрута объединяются с сохраненными определениями номеров и пакетов и показываются конечному пользователю.

Google сопоставляет метаданные с данными о маршрутах, чтобы показывать объявления. Названия и описания из элементов <RoomData> и <PackageData> объединяются. Это позволяет описать физическую комнату в элементе <RoomData>, а особенности тарифа и детали пакета – в элементе <PackageData>.

Если вы укажете данные и о номере, и о пакете для одного номера или пакета номеров, Google включит в объявление оба значения, разделив их дефисом.

Правила размещения фотографий

Чтобы ваши фотографии номеров показывались пользователям, следуйте этим рекомендациям:

  • Отправьте фотографии номеров каждого типа, включая номера для гостей с ограниченными возможностями, например с различными приспособлениями в ванной комнате, такими как душ, доступный для инвалидных колясок.

  • Добавьте не менее четырех фотографий комнаты и хотя бы одну фотографию ванной.

  • На фотографиях должен быть изображен сам номер, а не отель. Самые важные фотографии – это кровать, весь номер, ванная комната, гостиная и вид из номера (с остальной частью номера на той же фотографии), а также, если применимо, балкон, патио или терраса.

    Также полезно сделать фотографии стола, кухни, кофеварки/чайника и других особенностей номера.

  • Не загружайте фотографии, где изображены люди, здания, удобства, достопримечательности или еда.

  • Не используйте снимки предметов крупным планом, например бокалов.

  • Избегайте брендинга и брендов, хотя туалетные принадлежности с этикетками или брендами можно включать в фотографию, на которой запечатлена вся ванная комната. На фотографиях не должно быть больших блоков текста, логотипов и водяных знаков.

  • Добавляйте стандартные горизонтальные фотографии с широким углом обзора. Не используйте объектив "рыбий глаз" и не искажайте снимки. Делайте снимки с максимально возможным разрешением, чтобы повысить рейтинг. Не нужно отправлять одну и ту же фотографию в разных разрешениях.

Приоритет данных

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

  1. Данные партнера (самый низкий приоритет)
  2. Данные ресурса
  3. <RoomData>, где <RoomID> соответствует <RoomID> в блоке <RoomBundle>.
  4. <PackageData>, где <PackageID> соответствует <PackageID> в блоке <RoomBundle>.
  5. (самый высокий) <RoomBundle>

Укажите цену и доступность

Чтобы задать цены и доступность пакетов, используйте элемент <RoomBundle> в сообщении-транзакции для каждого пакета или комбинации маршрутов. Элемент <RoomBundle> должен находиться внутри элемента <Result>. Ниже приведен образец кода для двух элементов <RoomBundle>. Обратите внимание, что в этом примере два элемента <RoomBundle> ссылаются на метаданные номера и пакета с помощью <RoomID> и <PackageID>.

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

Используйте такие элементы, как <Name>, чтобы сделать пакеты номеров более привлекательными для потенциальных клиентов. Убедитесь, что информация о пакетах соответствует целевой странице гостиницы. В этом примере вы определяете имена и другую описательную информацию в метаданных.

<RatePlanID> – необязательный параметр, представляющий собой уникальный идентификатор комбинации номера и пакета. Мы настоятельно рекомендуем использовать RatePlanID в качестве переменной для создания динамического URL целевой страницы (ранее – точки продаж). Для оптимальной эффективности длина не должна превышать 50 символов. Подробнее об использовании переменных и условий…

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

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

При внедрении пакета номеров в активном аккаунте удалите <Baserate> после включения пакета номеров.

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <!-- RatePlanID is optional and represents the unique identifier for a
    room and package data combination. We strongly recommend using RatePlanID
    as a variable to build your dynamic landing page (formerly Point of Sale)
    URL. For details, see Using Variables and Conditions. -->
    <RatePlanID>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

Определение метаданных номеров и пакетов

Чтобы определить метаданные пакета номеров, используйте элементы <PackageData> и <RoomData> внутри элемента <PropertyDataSet> сообщения-транзакции.

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

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

В сообщении-транзакции вы задаете идентификатор пакета и идентификатор номера для каждого блока, на который затем ссылаетесь в блоках <Result> обновления цен.

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

Мы рекомендуем задать метаданные во время первоначальной настройки. После этого вам нужно будет только указывать значения <RoomID> и <PackageID> в обновлениях цен, а не вводить всю информацию заново. Google использует эти идентификаторы, чтобы сопоставлять номера и пакеты номеров с сохраненными метаданными. Это позволит значительно уменьшить общий размер сообщений-транзакций.

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

Ниже показан рекомендуемый и наиболее эффективный способ раздельного определения метаданных и цен.

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

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

При определении пакетов номеров важно понимать разницу между количеством гостей и вместимостью.

Вместимость
Количество гостей, на которое рассчитан номер. Например, пакет "Медовый месяц" рассчитан на двух человек. Чтобы задать вместимость пакета, используйте дочерний элемент <Occupancy> элементов <PackageData> или <RoomBundle>.
Размер
Максимальное количество человек, которое может физически вместить комната. Вместимость номера всегда равна количеству гостей или превышает его. Например, в номере для новобрачных могут разместиться шесть человек, но вы предлагаете пакет для двоих. Значение вместимости пакета задается с помощью дочернего элемента <Capacity> элемента <RoomData>.

При указании цены на пакет услуг необходимо указать цену для количества гостей, на которое рассчитан пакет (значение, указанное в элементе <Occupancy> пакета). Если в поле <Occupancy> указано значение "2", то цена в пакете должна быть указана для двух человек. Вы не можете указать в атрибуте <Occupancy> четырех гостей, а в атрибуте цены – двух.

Общие комнаты

Вы также можете использовать параметры Occupancy и Capacity в пакетах номеров, чтобы устанавливать цены на проживание в общих номерах, например в хостелах. Например, чтобы установить цену за человека для общей комнаты с восемью кроватями, задайте для параметра Occupancy значение 1, а для Capacity – 8 и укажите это в названии <RoomData>. Пример

Обновление пакетов для переговорных комнат

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

Удаление набора для переговорных комнат

Пакеты номеров удаляются не так, как цены на гостиницы.

Чтобы удалить из инвентаря комбинацию номера и маршрута, задайте для атрибута <Baserate> элемента <Result> значение -1. Чтобы удалить пакет услуг для определенного номера или маршрута, удалите элемент <RoomBundle> из блока <Result> в сообщении-транзакции.

Пакеты номеров в фидах данных считаются набором, количество которых может быть от 0 до нескольких десятков. При отправке пакетов номеров в Google вы отправляете текущий полный набор. Чтобы пометить ранее доступный пакет как недоступный, не нужно менять значения в отдельном пакете. Набор пакетов, указанный в последнем сообщении-транзакции, заменяет текущий набор.

Например, у вас есть пакеты A, B, C и D. Сначала вы отправляете сообщение, в котором определяете набор пакетов номеров A, B, C и D. Если набор B будет распродан, вы повторно отправите весь набор, но уже без набора B. Если все пакеты номеров распроданы, отправьте пустой набор пакетов номеров.

Корректировка цен

Чтобы изменить цену пакета номеров, укажите новое значение <Baserate> в элементе <Result>.

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

Обновление метаданных

Вы обновляете метаданные пакета номеров в ответ на запрос <Query> от Google.

В ответ на сообщение-запрос вы отправляете сообщение-транзакцию, в котором указываете метаданные о номерах и пакетах услуг для выбранных гостиниц. Подробнее о сообщениях-запросах…