總覽
費率訊息 (OTA_HotelRateAmountNotifRQ) 會針對特定日期範圍,為各房型和費率方案組合定義每晚入住率。Google 支援以入住人數為準的房價,因此您可以在「房價」訊息中,根據預計入住人數上限指定不同的每晚房價。
以下各節將介紹一般指南、基本範例,以及操作情境,協助你開始新增及更新費率,並傳送 Rate 訊息。
媒合率行為
使用者要求特定入住人數時,他們看到的價格取決於你在「房價」訊息中定義的價格。本節說明系統如何根據使用者要求的入住人數和您定義的房價,將這些使用者要求與您的房價相符。
重要原則
除非另有定義,否則為特定入住人數定義的費率會套用至所有較少入住人數。
如果要求的人數超過定義的人數,系統會視為不可能。
以入住人數為準的定價適用於以下說明的每日定價和以入住天數為準的定價模式。也就是說,您可以為每個入住率指定費率。如果特定入住人數沒有費率,系統會使用入住人數次高的費率。你也可以使用
AdditionalGuestAmounts或ExtraGuestCharges,為額外房客和兒童定義費用,這項費用適用於房間定義的容納人數上限。
優點和範例
- 效益
如果多個入住人數的費率相同,則不需要為每個入住人數設定費率。你可以只設定房型和費率方案支援的最高入住人數值,簡化訊息。使用者會看到你設定值以下的所有入住人數的費率。
範例:房型和房價方案的費率相同,入住人數為 1 到 4 人。使用「費率」訊息,為最多 4 人入住設定單一費率。搜尋單人、雙人及三人入住的使用者,都會看到相同的費率。搜尋 5 顆星以上評價的使用者不會看到費率。
- 控制組
您可以明確提供其他入住人數的房價。如要進一步控管 Google 如何將要求與入住率相符,請為每個入住率值傳送不同的費率。
範例:如果已定義 3 人和 1 人入住的房價,單人入住搜尋會顯示單人房價,雙人入住搜尋會顯示三人入住房價,而搜尋 4 人以上入住的房價時,則不會顯示任何房價。
如需各種費率相關情境的更多範例,請參閱操作說明。
必要和選用元素
XML 參考資料提供必要和選用元素的說明。如要瞭解屬性和子元素的詳細資料,請參閱「費率元素和屬性」。
語法和結構定義
建立費率訊息時,請參考費率語法範例,確保格式正確。
你可以使用 xmllint 等第三方 XML 工具,先透過已發布的架構驗證動態饋給,再提交給 Google。如需房價訊息架構,請參閱飯店廣告架構。
計費模式
每日價格
這是大多數資源採用的標準定價模式。per-date
價格模式是根據設定的費率計算,並將入住日期的費率加總,得出總價。在這個模型中,Rate 元素下的所有費率都會解讀為適用於 <StatusApplicationControl> 中指定的住宿日期範圍。
以 LOS 為基礎的定價
以入住天數為依據的定價模式,是根據入住日期和入住天數組合所設定的房價。根據 LOS 定價模式指定的費率為每日費率。舉例來說,如果住宿 3 晚的房價為 $100 美元,總價就會計算為 3 x$100 美元=$300 美元。
如要使用以入住天數為準的定價模式,請在 StatusApplicationControl 元素中指定 RatePlanType="26"。您也需要在 XML 的 Rate 元素中設定 RateTimeUnit 和 UnitMultiplier 屬性。這會導致指定 Rate 元素下的所有房價,都適用於 <StatusApplicationControl> 中指定抵達日期和 UnitMultiplier 中指定住宿天數值所定義的住宿。
您可以在單一帳戶下同時使用以日期為準和以住宿天數為準的定價模式,但每個房源只能使用一種定價模式。導入以住宿天數為準的定價時,請注意下列事項:
- 使用以入住天數為準的定價時,不同入住天數的房價不會合併。舉例來說,如果住宿天數為 3 天的房價與住宿天數為 1 天的房價不同,系統不會將兩者合併,以計算住宿天數為 4 天的房價。必須明確指定 LOS 費率為 4。
- 在以入住天數為準的定價中,1 晚的房價不會做為每日定價的單晚房價。
- 視系統中費率的呈現方式而定,每個房源只能使用以住宿天數為準的價格或每日價格。
如要在帳戶中啟用以住宿天數為準的定價,請透過客戶技術顧問提出要求,或與我們聯絡。
指引或動作
- 每日價格
Delta:只針對<StatusApplicationControl>中指定的房型、費率方案和住宿日期組合,新增或更新每入住人數的費率。- 根據預設,費率更新會使用
Delta動作。 Delta更新不會變更先前儲存的其他入住人數房價。舉例來說,如果您已指定單人房和雙人房的房價,並傳送單人房的Delta房價更新,雙人房的房價將維持不變。
- 根據預設,費率更新會使用
Overlay:刪除<StatusApplicationControl>中指定房型、費率方案和日期的所有現有入住人數費率,並以新費率取代。舉例來說,如果您已指定單人房和雙人房的房價,並傳送單人房的Overlay更新,Google 會移除所有先前的房價 (包括單人房和雙人房),更新後只會保留單人房房價。Remove:刪除<StatusApplicationControl>中指定房型、費率方案和日期的所有現有入住人數費率。- 以 LOS 為基礎的定價
Delta:只為<StatusApplicationControl>中指定的房型、費率方案和入住日期組合,新增或更新每個 LOS 值的費率。取代與更新後 LOS 值相關聯的所有入住率。- 根據預設,費率更新會使用
Delta動作。 Delta更新不會變更先前儲存的其他入住天數房價。舉例來說,如果您已指定住宿天數 1 和 2 的房價,並傳送住宿天數 1 的Delta房價更新,住宿天數 2 的每入住人數房價將維持不變。Delta更新會覆寫先前儲存的所有指定入住天數的每房入住率。舉例來說,如果您已為 1 天的住宿天數指定單人房和雙人房費率,但只傳送 1 天住宿天數的Delta費率更新 (僅含單人房費率),系統就會移除雙人房費率。
- 根據預設,費率更新會使用
Overlay:刪除<StatusApplicationControl>中指定 LOS、房型、房價方案和入住日期的所有現有每人房價,並以新房價取代。舉例來說,如果您已指定 LOS 1 和 2 的房價,並傳送 LOS 1 的Overlay更新,Google 會移除所有先前的房價 (包括 LOS 1 和 2),更新後只會保留 LOS 1 的房價。Remove:刪除<StatusApplicationControl>中指定房型、房價方案和入住日期的所有 LOS 現有每入住人數費率。- 稅務相關
如果稅金和手續費很簡單,可以使用
AmountAfterTax指定總金額。複雜的稅金 (例如適用於每次住宿而非每晚的稅金和費用) 無法以AmountAfterTax表示。一般來說,Google 建議使用
TaxFeeInfo,而非AmountAfterTax。如有可能,請加入
AmountBeforeTax(即使您指定AmountAfterTax也是如此),因為某些語言代碼 (例如美國) 預設會顯示稅前價格。使用者必須支付的所有稅金和費用 (加值稅、住宿稅、清潔費、城市稅等) 都應納入,即使這些費用並非在預訂時支付,或並非直接支付給住宿。
範例
本節提供使用必要和選用元素的 Rate 訊息基本範例。準備好檔案後,請使用 POST 訊息將檔案傳送至下列端點:
https://www.google.com/travel/hotels/uploads/property_data
如要進一步瞭解如何推送/POST 訊息,請參閱「推送訊息」。
請將 HotelCode 替換為系統中用於識別房源的專屬飯店 ID。這個值必須與飯店清單動態饋給中,使用 <id> 在 <listing> 元素中指定的飯店 ID 相符。請將 <PackageID> 和 <RoomID> 替換為系統中費率方案和房型 (分別) 使用的 ID。與系統保持一致是確保 Google 正確顯示價格和資料的關鍵。
本範例說明如何使用 Delta 動作設定費率:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2022-02-25T20:50:37-05:00"
Version="3.0"
NotifType="Delta">
<POS><Source><RequestorID ID="partner_key" /></Source></POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="2022-12-01"
End="2022-12-31"
InvTypeCode="RoomID"
RatePlanCode="PackageID" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt NumberOfGuests="1" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="2" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="3" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="4" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
</OTA_HotelRateAmountNotifRQ>
使用指南
本節提供解決方案,協助您處理傳送評分訊息時可能遇到的情況。
如需新增、移除及更新費率的範例,請參閱「費率範例」。
情境 1:如何變更入住人數計價
說明
先前每晚房價僅適用於雙人入住 (也適用於單人入住),但現在單人入住的房價較便宜。
解決方案
使用預設的 Delta 範圍更新,傳送新的入住率 1。這個新值不會影響入住率 2。
情境 2:如何替換房源的每入住人數費率
說明
您先前定義了 1 到 4 人入住的房價,但現在只有 1 人和 2 人入住的房價有效。
解決方案
使用 NotifType="Overlay" 替換特定房源、房型、房價方案和日期範圍的所有入住率。在此情境中,Overlay 動作會列出入住人數 1 和 2 的房價。
情境 3:如何為多種可住人數設定相同房價
說明
如果團體人數較少,可以購買特定入住率的房價。在這種情況下,您只需傳送適用入住率上限的房價更新,即可簡化訊息。
解決方案
如果多種入住人數的價格相同,請設定房型和費率方案支援的最高入住人數值,系統會自動將該值用於較低的入住人數。也就是說,如果入住人數 1 到 6 人的每晚房價都相同,你只需要為 6 人設定房價,不必重複設定。