總覽
促銷訊息會使用 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。這個值必須與飯店清單動態饋給中 <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 晚入住兩晚可享 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
,以單一促銷價格 85 折優惠,取代現有的兩個促銷活動。
<?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 × .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 的促銷活動。