概览
促销信息使用 OTA_HotelRateAmountNotifRQ 定义折扣率规则。系统会评估每种房价的已定义促销活动,并为房价应用允许的最大折扣。此消息类型是可选的,只有当您的系统中使用促销活动来应用费率折扣时,您才需要定义促销活动。
您可以组合多种促销活动,并将其应用于不同的用户属性,例如设备类型(移动设备、平板电脑、桌面设备)和国家/地区代码。
如需查看与各种促销活动相关的场景示例,请参阅操作指南。
以下部分介绍了常规指南、基本示例以及操作场景,可帮助您开始添加和更新促销活动。
指南
本部分介绍了设置促销活动的通用准则和特殊说明。
请遵循以下促销准则:
操作
- 删除
- 在
<Promotion>元素中使用delete操作可按 ID 删除单个促销活动。 - 重叠式广告
- 在
<HotelPromotions>元素中使用overlay操作可替换媒体资源的所有宣传信息。 - 增量
- 如果未指定任何操作,则添加或替换
<HotelPromotions>中指定的所有促销活动。如果从未添加过具有相应 ID 的促销活动,或者已删除具有相应 ID 的促销活动,则添加该促销活动。如果存在具有相应 ID 的促销活动,则会使用新定义覆盖该促销活动。
常规
每个媒体资源可以有一个或一组促销活动,每个促销活动都有一组条件。只有在满足条件的情况下,才能应用相应促销活动。
促销活动适用于相应行程的房价。无法设置每位入住者的最高折扣。
如果您希望促销活动仅适用于特定日期、房型或房价方案,请在相应促销活动的条件中指定。如果促销活动不适用于特定日期、房型或费率方案,则无需设置这些条件。
每项促销活动都与特定媒体资源相关联。如果您对多个房源使用同一项促销活动,则必须针对每个房源单独发送该促销活动。如需指定媒体资源标识符,请使用
<HotelPromotions>元素的hotel_id属性。您最多可以添加 99 个促销活动。如果您需要包含更多内容,请与您的 Google TAM 联系。
使用
<Stacking>元素指定如何组合促销活动。默认情况下,Google 会使用base堆叠类型,这意味着系统会先选择并应用最符合条件的基础促销活动,然后再应用其他促销活动。请注意,base只能与second或any结合使用,不能与另一个base或none结合使用。即使有多个促销活动可以叠加使用,如果存在其他单个促销活动或促销活动叠加组合可提供更大幅度的折扣,那么系统可能不会实际使用该叠加组合。如果有多项促销活动(组合)符合条件,系统会将折扣力度最大的促销活动(组合)应用于预订。
每当发生影响促销活动的任何更改时,都发送促销信息更新消息。
税务相关原因
系统会将力度最大的促销活动(或一系列促销活动)应用于 AmountAfterTax 金额。如果仅指定了 AmountBeforeTax,则促销活动会应用于 AmountBeforeTax。
示例
本部分提供了一个使用必需元素和可选元素的促销消息基本示例。准备好文件后,通过向以下端点发送 POST 消息,将文件发送给 Google:
https://www.google.com/travel/hotels/uploads/promotions
如需详细了解如何推送/发布消息,请参阅推送消息。
对于 <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 晚住宿,为 2 晚住宿添加 20% 的折扣。对于 15 晚的行程,总共有 4 晚可享受 8 折优惠。
<?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,以指定哪些用户设备符合促销条件。如果指定了设备,则只有使用所列设备的用户才能享受折扣价。
说明
您希望指定哪种类型的用户设备符合促销条件。
解决方案
将设备类型设置为以下一个或多个值:desktop、tablet 或 mobile。
示例
以下示例展示了如何为移动设备和平板电脑用户指定 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:如何叠加促销活动
堆叠指定了促销活动的组合方式。如果未指定,则假定 type 为 base,这意味着系统会先选择并应用最符合条件的基础促销活动,然后再应用其他促销活动。当 Stacking 的 type 属性为 any 时,可以与其他任何促销活动叠加使用。
说明
您希望用户能够选择同时使用多个促销活动来预订同一房源。
解决方案
使用叠加功能可为每个房源设置多个折扣。一个堆栈最多可以包含一个 base 和一个 second,但可以包含任意数量的 any;any 可以与其他类型组合使用,但不能与 none 组合使用。
示例
此示例展示了如何堆叠 base、second 和 any 堆叠类型。如果组合折扣为 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 的组合。