促销信息

概览

促销活动消息使用 OTA_HotelRateAmountNotifRQ 定义折扣率规则。对于每个费率,系统都会评估定义的促销活动,并为该费率应用允许的最大折扣。此消息类型是可选的,只有在系统中使用促销活动来应用费率折扣时,您才需要定义促销活动。

您可以组合使用多个促销优惠,并将其应用于不同的用户属性,例如设备类型(移动设备、平板电脑、桌面设备)和国家/地区代码。

如需查看与促销相关的各种场景的示例,请参阅方法指南

以下各部分介绍了一般准则、基本示例和方法场景,以帮助您开始添加和更新促销活动。

指南

本部分介绍了有关设置促销活动的通用准则和特殊说明。

请遵循以下有关促销活动的准则:

Action

删除
<Promotion> 元素中使用 delete 操作,按 ID 删除单项促销活动。
叠加层
<HotelPromotions> 元素中使用 overlay 操作来替换属性的所有置顶结果。
增量
如果未指定任何操作,则会添加或替换 <HotelPromotions> 中指定的所有提升。如果具有该 ID 的促销活动从未添加或已被删除,系统会添加该促销活动。如果存在具有该 ID 的促销活动,系统会用新定义覆盖该促销活动。

一般措施

  • 每个房源可以有单个或一组促销活动,并且每项促销活动都有一组条件。只有在满足条件时才能应用该促销优惠。

  • 如果您想让促销活动仅应用于特定日期、客房类型或费率方案,请在该促销活动的条件中指定相应条件。如果促销活动不适用于特定日期、客房类型或费率方案,则不必设置。

  • 每个促销活动都与特定资源相关联。如果您要对多个房源使用相同的促销活动,则必须为每个房源单独发送。若要指定属性标识符,请使用 <HotelPromotions> 元素的 hotel_id 属性。

  • 您最多可以添加 99 条促销活动。如果您需要包含更多内容,请与您的 Google TAM 联系。

  • 使用 <Stacking> 元素指定促销活动的组合方式。默认情况下,Google 使用 base 堆叠类型,这意味着,系统会先选择并应用最符合条件的基本促销活动,然后再执行其他促销活动。请注意,base 只能与 secondany 结合使用,而不能与其他 basenone 结合使用。

  • 即使有多项促销优惠可以同时应用,但如果存在另一个或一组促销活动提供更优惠的折扣,那么实际上该堆栈可能并不是所使用的一个促销活动。当有多个促销活动(组合)符合条件时,系统将向预订应用折扣最大的促销活动(组合)。

  • 每当发生影响促销活动的更改时,发送促销信息更新。

系统会按 AmountAfterTax 金额应用最佳促销优惠(或一系列促销活动)。如果仅指定了 AmountBeforeTax,则促销活动会应用于 AmountBeforeTax

示例

本部分提供了一个使用必需元素和可选元素的促销消息基本示例。准备好文件后,请通过 POST 消息向 Google 发送该文件到以下端点:

https://www.google.com/travel/hotels/uploads/promotions

如需详细了解如何推送/POST 消息,请参阅推送消息

对于 <HotelPromotions>hotel_id 属性,请使用您在系统中用于标识房源的唯一酒店 ID。此值必须与酒店列表 Feed 的 <listing> 元素中使用 <id> 指定的酒店 ID 一致。与系统的一致性对于确保 Google 正确显示您的数据至关重要。

UserCountry 用于列出符合促销活动条件的用户所在地(国家/地区)。如果指定,则仅向所列国家/地区的用户提供折扣费率。

以下示例展示了如何针对美国和意大利的用户为长住设置 15% 的折扣:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123_abc"
            timestamp="2022-05-30T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="15"/>
      <UserCountries>
        <Country code="US"/>
        <Country code="IT"/>
      </UserCountries>
    </Promotion>
  </HotelPromotions>
</Promotions>

如需查看更多示例,请参阅促销活动示例

方法指南

本部分介绍了您在设置促销时可能遇到的场景的解决方案。

场景 1:如何添加长住客折扣促销活动

说明

您想为延长入住的特定日期提供折扣住宿。

解决方案

使用 FreeNights 设置,根据住宿晚数自定义应用的折扣类型。

示例

此示例展示了如何在指定的预订日期范围内每入住 7 晚添加两晚的 20% 折扣。对于 15 晚的行程,总共 4 晚可以享受 20% 的折扣。

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-05T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-02-01" end="2022-06-30"/>
      </BookingDates>
      <Discount>
        <FreeNights stay_nights="7"
                    discount_nights="2"
                    discount_percentage="20"
                    night_selection="cheapest"
                    repeats="true"/>
      </Discount>
    </Promotion>
  </HotelPromotions>
</Promotions>

场景 2:如何设置设备类型

您可以设置 devices 来指定符合促销条件的用户设备。如果指定,则只有使用所列设备的用户才能享受折扣费率。

说明

您想指定符合促销活动条件的用户设备类型。

解决方案

将设备类型设置为以下一个或多个值:desktoptabletmobile

示例

以下示例展示了如何为移动设备和平板电脑用户指定 25% 的折扣:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="25"/>
        <Devices>
          <Device type="mobile"/>
          <Device type="tablet"/>
        </Devices>
    </Promotion>
  </HotelPromotions>
</Promotions>

场景 3:如何用新的促销活动替换旧的促销活动

说明

房源当前的一组促销信息已过时或不正确,需要替换为一组全新的促销信息。

解决方案

使用 overlay 操作替换促销信息。

示例

以下示例展示了该房源的原始两个折扣:20% 和 30%。

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-06-01" end="2022-07-31"/>
      </BookingDates>
      <Discount percentage="20"/>
    </Promotion>
    <Promotion id="2">
      <BookingDates>
        <DateRange start="2022-08-01" end="2022-08-31"/>
      </BookingDates>
      <Discount percentage="30"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

然后,此示例展示了如何使用 overlay 将现有的两个促销活动替换为针对房源提供 15% 折扣的单次促销活动。

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-25T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1" action="overlay">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-06-01" end="2022-07-31"/>
      </BookingDates>
      <Discount percentage="15"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

情形 4:如何移除一项或所有促销活动

说明

您想要移除一个或所有促销活动(不替换),原因是该媒体资源已移除其所有促销活动而没有设置新的促销活动,或者您出错了,需要更正。

解决方案

如果您只想删除某个房源的特定促销活动,请使用 delete 操作;如果要移除所有现有促销活动,而不进行替换,请使用 overlay(而非 delete)操作。

如需详细了解如何使用 overlay 替换促销活动,请参阅场景 3

示例

以下示例展示了如何仅删除媒体资源的一个促销活动:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1" action="delete"/>
  </HotelPromotions>
</Promotions>

以下示例展示了如何在不替换媒体资源的情况下移除所有促销活动:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>

场景 5:如何叠加促销

堆叠指定促销的组合方式。如果未指定,系统会假定 typebase,这意味着,系统会先选择并应用最符合条件的基础促销活动,然后再执行其他促销活动。当 Stackingtype 属性为 any 时,它可以与任何其他促销活动结合使用。

说明

您希望用户可以选择针对同一媒体资源同时使用多项促销活动。

解决方案

使用堆叠方式为每个房源设置多个折扣。一个堆栈最多可以有一个 base 和一个 second,但 any 的数量不受限制;并且 any 可与除 none 以外的其他类型结合使用。

示例

此示例展示了如何堆叠 basesecondany 堆叠类型。如果折扣为 15%、25% 和 10%,那么价格为 100 美元的总和为 57.38 美元 (100 × 0.85 × 0.75 × 0.9)。

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="15"/>
      <Stacking type="base"/>
    </Promotion>
    <Promotion id="2">
      <Discount percentage="25"/>
      <Stacking type="second"/>
    </Promotion>
    <Promotion id="3">
      <Discount percentage="10"/>
      <Stacking type="any"/>
    </Promotion>
    <Promotion id="4">
      <Discount percentage="40"/>
      <Stacking type="none"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

请注意,叠加促销 1 到 3 的合并折扣优于促销 4 的折扣。由于促销活动 4 的堆叠类型 (none) 存在,不能与其他促销活动合并。如果促销活动 4 的折扣为 43% 或更高,则系统将使用该促销活动,而不是促销活动 1 到 3 的组合。