Пакеты номеров

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

Ключевые концепции и рабочий процесс

С помощью пакетных предложений номеров вы можете предложить дополнительные комбинации типов физических номеров с различными пакетами услуг.

Примеры

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

Комплекты комнат с изображениями

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

Примечание: комплекты комнат без изображений заменяются изображением-заполнителем кровати.

Оценить особенности

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

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

Пакеты номеров

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

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

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

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

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

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

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

Метаданные Room Bundle

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

При определении пакетов номеров используйте существующие элементы <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 символов. Подробнее см. в разделе «Использование переменных и условий» .

Следующие элементы являются необязательными в Room Bundles:

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

При внедрении Room Bundle в реальный аккаунт удалите <Baserate> после включения Room Bundle.

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

Определить метаданные помещения и пакета

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

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

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

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

Если данные о номере или пакете изменяются (например, если вы добавляете новый тип номера в объекте недвижимости, отправляете новое сообщение о транзакции, содержащее обновленные данные о номере и пакете), Google заменяет существующие метаданные о номере или пакете новыми данными.

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>

Вместимость и вместимость

При определении пакетов номеров необходимо понимать разницу между заполняемостью и вместимостью :

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

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

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

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

Обновление комплектов комнат

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

Удаление пакета комнат

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

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

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

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

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

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

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

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

Вы обновляете метаданные Room Bundle с помощью ответа на <Query> от Google.

Вы отвечаете на запрос сообщением о транзакции, которое определяет метаданные номеров и пакетов для указанных отелей. Подробнее см. в разделе «Запросы» .