總覽
促銷活動訊息會使用 OTA_HotelRateAmountNotifRQ 定義折扣率規則。系統會評估每個房價適用的促銷活動,並套用允許的最大折扣。這個訊息類型為選用,只有在系統會使用促銷活動套用費率折扣時,才需要定義促銷活動。
你可以合併促銷活動,並套用至不同使用者屬性,例如裝置類型 (行動裝置、平板電腦、桌機) 和國家/地區代碼。
如需各種促銷活動相關情境的範例,請參閱「操作說明」。
以下各節將介紹一般指南、基本範例,以及操作情境,協助你開始新增及更新促銷活動。
指南規範
本節說明設定促銷活動的一般規定和特殊指示。
促銷活動須符合下列規範:
動作
- 刪除
- 在
<Promotion>元素中使用delete動作,依 ID 刪除單一促銷活動。 - 重疊廣告
- 在
<HotelPromotions>元素中使用overlay動作,即可取代資源的所有促銷活動。 - 差異
- 如未指定任何動作,系統會新增或取代
<HotelPromotions>中指定的所有促銷活動。如果促銷活動 ID 從未新增或已刪除,系統就會新增促銷活動。如果該 ID 的促銷活動存在,系統會以新定義覆寫。
一般
每個房源可有一項或一組促銷活動,且每項促銷活動都有一組條件。只有在符合條件時,才能套用該促銷活動。
促銷活動適用於行程的費率。無法為每位住客設定最高折扣。
如果只想在特定日期、房型或費率方案套用促銷活動,請在促銷活動條件中指定。如果促銷活動不適用於特定日期、房型或費率方案,則不必設定這些條件。
每項促銷活動都會與特定資源建立關聯。如果多個資源使用相同促銷活動,請分別為每個資源傳送促銷活動。如要指定資源 ID,請使用
<HotelPromotions>元素的hotel_id屬性。最多可加入 99 個促銷活動。如要納入更多項目,請與 Google 技術客戶經理聯絡。
使用
<Stacking>元素指定促銷活動的合併方式。根據預設,Google 會使用base堆疊類型,也就是先選取並套用最符合資格的基礎促銷活動,再套用其他促銷活動。請注意,base只能與second或any合併使用,無法與其他base或none合併使用。即使有多個促銷活動可一併套用,如果另有單一促銷活動或一組促銷活動提供更優惠的折扣,系統可能不會使用該組促銷活動。如果有多個 (組合) 促銷活動符合資格,系統會將折扣最高的促銷活動 (組合) 套用至預訂。
每當發生影響促銷活動的變更時,傳送促銷活動訊息更新。
稅務相關
系統會將最佳促銷活動 (或一組促銷活動) 套用至AmountAfterTax金額。如果只指定 AmountBeforeTax,促銷活動就會套用至 AmountBeforeTax。
範例
本節提供使用必要和選用元素的促銷活動訊息基本範例。準備好檔案後,請透過 POST 訊息將檔案傳送至這個端點:
https://www.google.com/travel/hotels/uploads/promotions
如要進一步瞭解如何推送/POST 訊息,請參閱「推送訊息」。
如要為 <HotelPromotions> 的 hotel_id 屬性提供值,請使用系統中用於識別物業的專屬飯店 ID。這個值必須與飯店清單動態饋給中 <listing> 元素內使用 <id> 指定的飯店 ID 相符。與系統保持一致性至關重要,可確保 Google 正確顯示資料。
UserCountry 用於列出符合促銷活動資格的使用者所在國家/地區。如果指定國家/地區,只有這些國家/地區的使用者才能享有折扣價。
這個範例說明如何為美國和義大利的使用者設定長期住宿 85 折優惠:
<?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 晚 8 折優惠。如果行程為 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,也就是先選取並套用最符合資格的基本促銷活動,再套用其他促銷活動。當 � 的 type 屬性為 any 時,可與任何其他促銷活動合併使用。Stacking
說明
您希望使用者能同時為同一房源套用多項促銷活動。
解決方案
使用堆疊功能,為每個房源設定多個折扣。一個堆疊最多只能有一個 base 和一個 second,但 any 的數量不限;any 可與其他類型合併,但 none 除外。
範例
這個範例說明如何堆疊 base、second 和 any 堆疊類型。如果合併折扣為 15%、25%、10%,則 $100 美元的價格總計為 $57.38 美元 (100 × .85 × .75 × .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 的組合。