要求
語法
OTA_HotelRateAmountNotifRQ
訊息使用以下語法:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
元素和屬性
OTA_HotelRateAmountNotifRQ
訊息包含下列元素和屬性:
元素 / @Attribute | 發生次數 | 類型 | 說明 |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | 費率訊息的根元素。 |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | XML 命名空間。 |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | 此要求訊息的專屬 ID。這個值會在回應訊息中傳回。允許的字元為 a-z 、A-Z 、0-9 、_ (underscore) 和 - (dash) 。 |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | 這則訊息的建立日期和時間。 |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | OpenTravel 訊息版本。 |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | 要套用至每個 有效值如下: 如要瞭解這些屬性的運作方式,請查看範例。
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | 套用至每個 有效值如下:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | 用於指定此訊息的合作夥伴帳戶 (通常用於後端為多個合作夥伴帳戶提供價格動態饋給時)。 |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | 如果 <POS> 存在,則為必要欄位。<RequestorID> 的容器。 |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | 如果 <POS> 存在,則為必要欄位。定義合作夥伴帳戶。 |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | 這封郵件的合作夥伴帳戶。這個字串值是 Hotel Center
帳戶設定頁面中列出的「合作夥伴鍵」值。 注意:如果您有提供多個帳戶動態饋給的後端,這個值必須與交易 (資源資料) 訊息的 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | 一組定義費率的 <RateAmountMessage> 元素。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | 房源的專屬 ID。這個值必須與飯店清單動態饋給中<listing> 元素中使用 <id> 指定的飯店 ID 相符。Hotel Center 也會列出飯店 ID。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | 用來設定房價 (在指定日期範圍內的房型和費率方案組合) 的容器。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | 定義日期範圍,以及房型 (InvTypeCode ) 和費率方案 (RatePlanCode ) 的 ID。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | 日期範圍的開始日期 (以資源所在時區為準),包括這一天。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | 日期範圍的結束日期 (含此日期),以資源所在時區為準。必須等於或大於 start 值。
如果 start 和 end 相等,更新會套用至該日期。請注意,Google 最多支援三年的資料。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | 設為 true 或 1 ,即可明確納入星期一。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | 設為 true 或 1 ,即可明確納入星期二。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | 設為 true 或 1 ,即可明確納入星期三。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | 設為 true 或 1 ,即可明確納入星期四。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | 設為 true 或 1 ,即可明確納入週五。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | 設為 true 或 1 ,即可明確納入週六。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | 設為 true 或 1 ,即可明確納入週日。如果設為 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | 房源 (房型) 的專屬 ID。這個值會對應至交易 (資源資料) 訊息中的 <RoomID> 。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | 費率方案的專屬 ID。這個 ID 會對應至交易 (資源資料) 訊息中的 <PackageID> 。在 <OTA_HotelRateAmountNotifRQ> 和 <OTA_HotelAvailNotifRQ> 訊息中,費率方案會進一步定義並在 <StatusApplicationControl> 中參照。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | 這個 ID 會指出適用於此價格更新的 ARI 定價模型類型。只有在使用以 LOS 為準的定價模式時,才應使用 26 值指定此值。排除這項屬性表示這是依日期定價更新。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | <Rate> 元素集合的容器。如果 NotifType 為 "Remove" ,則不得指定此元素。否則,這個元素必須指定一次。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | <BaseByGuestAmts> 元素集合的容器。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | 指定入住天數的單位。唯一支援的值為 "Day" ,表示停留時間會以天為單位指定。如要使用以 LOS 為準的定價,必須指定 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | 這個費率的住宿天數所組成的 RateTimeUnits 數量。舉例來說,如果 在這個 如要使用以 LOS 為準的定價,必須指定 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | 用於收集基本費用的容器。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | 以指定幣別指定房價。只要使用多個 <BaseByGuestAmt> 元素,並為每個元素指定不同的 NumberOfGuests 值,即可設定每人價格。否則,價格適用於 NumberOfGuests 定義的最多乘客人數。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
房價的每日價格 (不含稅金和各類費用)。 您可以同時指定 如果您使用促銷活動,折扣會套用至 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | 房價每日價格 (含適用稅金和費用)。如果指定 AmountAfterTax ,就不需要傳送個別屬性的 <TaxFeeInfo> 訊息。這項屬性可搭配 AmountBeforeTax 使用,提供可向特定地區使用者顯示的底價和總價。警告:如果您使用促銷活動,強烈建議您不要使用 注意:如果未指定 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | 特定貨幣單位的 ISO 4217 (3) 英文字母代碼。 請參閱支援的貨幣清單。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | 這個房價可容納的房客人數上限。
如未提供,預設為 2 位。
請注意,如果 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | 容器,用於收取額外房客的費用。 如果額外客人或兒童房價會因日期而異,這個語法就很實用。如果這些金額可以在房源層級靜態定義,建議使用效率更高的
舉例來說,假設您指定了 1 位和 2 位成人的基本費率。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | 根據房客類型 (透過 AgeQualifyingCode 指定) 和 (如適用) 房客年齡 (透過 MaxAge 指定) 指定價格。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | 定義額外房客的類型 (成人或兒童)。有效的選項如下:
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | AgeQualifyingCode 為 8 時,必須指定 MaxAge 。AgeQualifyingCode 為 10 時,不得指定此屬性。
指定 大於 您可以透過不同的 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | 每位額外房客的房價加稅金和其他費用。 依據入住者年齡而定的稅金和費用,必須透過 |
範例
本節提供程式碼範例,說明如何:
設定 add
、overlay
或 remove
值時,日期範圍可以相同,也可以不同,這取決於您的目標。舉例來說,您可以使用 overlay
只為 12 月假期設定幾週,而非為「加價」訊息設定整個範圍。這項操作只會取代這段期間的入住率。
按日期計費
每個房型和房價方案的房源最多可設 50 個房客人數。如果所有住宿人數的費率相同,請只傳送最多住宿人數和必要價格。這樣一來,Google 就會推斷較低的住房量也會獲得相同的基本費率。
設定基本費率和總費率
範例 1
預設入住人數 (雙人) 的基本房價 (不含稅金或費用)。在這個模型中,必須使用 <TaxFeeInfo>
訊息定義房源的稅金和費用。對於來自特定區域的使用者,系統會更明顯顯示基本費率。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
範例 2
預設入住人數 (雙人房) 的基本房價和總價。在這個模型中,請勿使用 <TaxFeeInfo>
訊息個別定義稅金和費用。對於來自特定區域的使用者,系統會更明顯地顯示基本費率。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
範例 3
多人入住的總房價 (含稅金和相關費用)。在這個模型中,請勿使用 <TaxFeeInfo>
訊息個別定義稅金和費用。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
示例 4
不同日期範圍內的多種房型和房價方案,其基本和總房價。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
新增、重疊及移除費率
每個房源最多可列出 5000 項產品 (房型和套裝行程組合)。使用 Overlay
或 Remove
通知類型,移除先前定義的產品。
新增房價
將 NotifType
設為 Delta
,即可在 2021-10-20 和 2021-12-31 之間為 RoomID_1 和 PackageID_1 新增每人入住費率。請注意,Google 最多支援三年的資料。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
重疊率
將 NotifType
設為 Overlay
,即可刪除 2021-10-20 到 2021-12-31 期間 RoomID_1 和 PackageID_1 的所有每人入住費率,並以新指定的每人入住費率取代。
舉例來說,如果這則訊息是在「新增費率」訊息後傳送,系統會刪除住宿人數 1、2 和 3 的費率,只會儲存新的住宿人數 1 費率。您也可以設定較短的日期範圍 (例如:2021-12-20 和 2021-12-31),只取代特定日期 (例如假日) 的部分入住人數費率。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
移除費率
將 NotifType
設為 Remove
,即可刪除 2021-10-20 至 2021-12-31 期間 RoomID_1 和 PackageID_1 的所有住客人數費率。
舉例來說,如果這則訊息是在其他範例訊息之後傳送,就不會儲存每個入住率。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
新增、重疊及移除額外客人費用
新增金額
將 NotifType
設為 Delta
,即可在 2021-10-20 至 2021-12-31 期間,為 RoomID_1 和 PackageID_1 新增 1 人和 2 人入住的基本房價,以及額外房客費用。
系統會根據使用者搜尋時的入住人數,在基本房價上額外收取房客費用。使用者指定的入住人數必須在 RoomID_1 的容量範圍內。
在這個範例中,額外房客費用會以以下方式計算:
- 0 到 10 歲 (含) 的兒童:$5 美元。
- 11 到 17 歲 (含) 的兒童為 $10 美元。
- 成人票價為 $20 美元。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
疊加金額
將 NotifType
設為 Overlay
,即可刪除 2021-10-20 至 2021-12-31 期間 RoomID_1 和 PackageID_1 的所有每人入住費率和額外客人費用,並以新指定的每人入住費率和額外費用取代。
舉例來說,如果這則訊息是在「新增費率」訊息後傳送,系統會刪除基本住宿人數 1 和 2 的費率,只會儲存新的基本住宿人數 1 費率。系統會刪除先前的額外客人金額,只會儲存新的金額。額外客人費用現在會使用新的住宿人數 1 費率做為基本費率。請注意,在本次更新後,系統不會為兒童收取額外房客費用。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
移除金額
將 NotifType
設為 Delete
,即可刪除 2021-10-20 至 2021-12-31 期間,RoomID_1 和 PackageID_1 的所有住客人數基本房價和額外房客費用。
舉例來說,如果這則訊息是在其他範例訊息之後傳送,則不會儲存每位入住者的基本費率或額外客人費用。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
只移除額外邀請對象費用
將 NotifType
設為 Delta
,並使用空白 <AdditionalGuestAmounts>
元素,即可刪除 RoomID_1 和 PackageID_1 的所有額外房客費用,且不會影響 2021-10-20 至 2021-12-31 之間的基本房價。
舉例來說,如果這則訊息是在其他範例訊息之後傳送,則只會儲存基本金額。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
以 LOS 為基礎的定價
設定以 LOS 為準的費率
範例 1
自 2020 年 5 月 18 日起,設定 1 晚、2 晚和 3 晚住宿的房價。在這個範例中,1 晚、2 晚和 3 晚住宿的總價分別為 $100 美元、$180 美元和 $240 美元。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
新增、重疊及移除以 LOS 為準的費率
新增入住天數
在以住宿天數為基礎的定價模式中,Delta
作業可讓系統針對 <StatusApplicationControl>
中指定的入住日期範圍,以及每個子項 Rate
元素的 UnitMultiplier
所指定的所有住宿天數,逐步更新房價。
針對每個適用的入住日期和入住天數,必須指定所有住房費率。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
重疊的住宿天數
在以住宿天數為依據的定價模式中,Overlay
作業會取代產品的所有住宿天數和 <StatusApplicationControl>
中指定的入住日期範圍的費率。
透過這則訊息,系統會移除指定到達日期上所有住宿天數的每人入住費率,並以僅針對住宿天數 3 定義的雙人入住費率取代。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
移除入住天數
使用以住宿天數為準的價格時,Remove
作業會移除產品的所有住宿天數和 <StatusApplicationControl>
中指定的入住日期範圍的價格。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
回應
語法
OTA_HotelRateAmountNotifRS
訊息使用以下語法:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
元素和屬性
OTA_HotelRateAmountNotifRS
訊息包含下列元素和屬性:
元素 / @Attribute | 發生次數 | 類型 | 說明 |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | 回應可用性訊息的根元素。 |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | 這則訊息的建立日期和時間。 |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | 相關聯 OTA_HotelRateAmountNotifRQ 訊息的專屬 ID。 |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | 表示 OTA_HotelRateAmountNotifRQ 訊息已順利處理。每則訊息都會提供 |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | 處理 OTA_HotelRateAmountNotifRQ 訊息時遇到一或多個問題的容器。每則訊息都會提供 |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | 處理 OTA_HotelRateAmountNotifRQ 訊息時發生錯誤的說明。如要瞭解這些錯誤的詳細資訊,請參閱「動態饋給狀態錯誤訊息」。 |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | 與錯誤相關聯的 OpenTravel Alliance EWT (錯誤警告類型)。只會使用 12 (Processing exception) 值。 |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | 與錯誤相關的 OpenTravel Alliance ERR (錯誤代碼)。
只會使用 450 (Unable to process) 值。 |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | 原始要求的狀態。只會使用 NotProcessed 的值。 |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | 問題的 Google 識別碼。如要瞭解這些錯誤的詳細資訊,請參閱「動態饋給狀態錯誤訊息」。 |
範例
成功
以下是成功處理 OTA_HotelRateAmountNotifRQ 訊息的回應。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
錯誤
以下是 OTA_HotelRateAmountNotifRQ 訊息因錯誤而未處理的回應。
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>