要求
語法
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 相符。飯店 ID 也會列在 Hotel Center 中。 | 
| 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 定價模式類型。使用以住宿天數為準的定價模式時,才應使用 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",也就是以天為單位指定住宿天數。如要使用以住宿天數為準的價格,請指定  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | RateTimeUnits,代表這個房價的入住天數長度。舉例來說,如果  系統會將這個  如要使用以住宿天數為準的價格,請指定  | 
| 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 值時,日期範圍可以相同或不同,視您的目標而定。舉例來說,您可以只為 12 月節慶設定幾週的 overlay,而不是為「加購率」訊息設定整個範圍。這只會取代這段期間的入住率。
每日價格
每個資源的特定房型和房價方案最多可有 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>新增、疊加及移除費率
每個資源最多可有 5,000 項產品 (房型和套裝組合)。使用 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,即可刪除 RoomID_1 和 PackageID_1 在 2021 年 10 月 20 日至 2021 年 12 月 31 日之間的所有入住人數費率,並改用新指定的入住人數費率。
舉例來說,如果這則訊息是在「新增房價」訊息之後傳送,系統就會刪除入住率 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,刪除 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="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,刪除 RoomID_1 和 PackageID_1 在 2021 年 10 月 20 日至 2021 年 12 月 31 日之間的所有入住人數費率和額外房客人數金額,並以新指定的入住人數費率和額外金額取代。
舉例來說,如果這則訊息是在「新增房價」訊息之後傳送,系統就會刪除基本入住率 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,即可刪除 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="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 為基礎的定價方式
設定以住宿天數為準的費率
範例 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 | 相關聯訊息的專屬 ID。 OTA_HotelRateAmountNotifRQ | 
| 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 ID。如要瞭解這些錯誤的詳細資料,請參閱「動態饋給狀態錯誤訊息」。 | 
範例
成功
以下是成功處理 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>