修改政策

總覽

這個 API 可讓您定義如何在符合條件時動態套用至費率的動作,例如調整價格或啟用退款功能。與 Promotions API 不同,它只能套用有最高折扣的合格促銷活動,但會在滿足特定條件時套用任何動作,包括可能最終提高最終價格的價格調整。

要求

語法

RateModifications 訊息使用下列語法:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
                      id="message_ID"
                      timestamp="timestamp">
  <HotelRateModifications hotel_id="HotelID" action="[overlay]">
    <ItineraryRateModification id="ModificationID" action="[delete]">
      <BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </BookingDates>
      <BookingWindow min="integer" max="integer"/>
      <CheckinDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </CheckinDates>
      <CheckoutDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </CheckoutDates>
      <Devices>
        <Device type="[desktop|tablet|mobile]"/>
      </Devices>
      <LengthOfStay min="integer" max="integer"/>
      <MinimumAmount before_discount="integer"/>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates application="[all|any]">
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </StayDates>
      <UserCountries type="[include|exclude]">
        <Country code="country_code"/>
      </UserCountries>
      <ModificationActions>
        <PriceAdjustment multiplier="float"/>
        <RateRule id="RateRuleID"/>
        <Refundable available="[false|true]"
                       refundable_until_days="number_of_days"
                       refundable_until_time="time"/>
        <Availability status="[unavailable]"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>

元素與屬性

RateModifications 訊息包含下列元素和屬性:

元素 / @屬性 發生次數 類型 說明
RateModifications 1 Complex element 費率調整訊息的根元素。
RateModifications / @partner 1 string 這則訊息的合作夥伴帳戶。這個字串值會是 Hotel Center 中 帳戶設定頁面列出的「合作夥伴鍵」值。

注意:如果您的後端為多個帳戶提供動態饋給,這個值必須符合同一帳戶中 <OTA_HotelRateAmountNotifRQ><RequestorID> 元素所指定的 ID 屬性值,以及 <OTA_HotelAvailNotifRQ> 訊息。

RateModifications / @id 1 string 此要求訊息的專屬 ID。這個值會在回應訊息中傳回。允許的字元為 a-z、A-Z、0-9、_ (底線) 和 - (破折號)。
RateModifications / @timestamp 1 DateTime 這則訊息的建立日期和時間。
RateModifications / HotelRateModifications 0..n HotelRateModifications

可調整房源的費率。每個費率修改內容都會套用至單一房源。

注意:如果可對同一個費率套用多項費率調整,系統就會套用所有修改內容。不保證會執行特定訂單。

RateModifications / HotelRateModifications / @hotel_id 1 string 房源的專屬 ID。這個值必須與飯店清單動態饋給中 <listing> 元素中的 <id> 指定的飯店 ID 相符。飯店 ID 也會列在 Hotel Center 中。
RateModifications / HotelRateModifications / @action 0..1 enum

如未指定 action,系統就會為這間飯店新增或更新這個元素中的修改內容。如果指定 action="overlay",系統會先刪除這間飯店先前定義的所有修改項目。接著,系統會寫入此處指定的修改內容。如果使用 action="overlay",且這個元素內未指定任何修改內容,系統就會刪除這間飯店的所有修改內容。

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

針對房源的單一費率修改作業。

注意:費率修改很難偵錯,因此建議謹慎使用。如需修改 200 份以上費率的用途,請與客戶技術顧問 (TAM) 聯絡。

RateModifications / HotelRateModifications / ItineraryRateModification / @id 1 string 修改費率的專屬 ID。允許的字元數上限為 40 個字元。允許的字元為 a-z、A-Z、0-9、_ (底線)、- (破折號) 和 . (半形句號)。
RateModifications / HotelRateModifications / ItineraryRateModification / @action 0..1 enum

如未指定,且不會儲存含有相同 id 的費率修改內容,則系統會儲存這項費率的修改記錄。如未指定,並儲存具有相同 id 的費率修改內容,則系統會更新現有的費率修改內容。

指定的值必須是 "delete"。如果指定 "delete",系統會刪除具有相同 id 的儲存費率修改記錄。使用 "delete" 時,請勿在 <ItineraryRateModification> 中加入任何子元素。此外,"delete" 無法與 <HotelRateModifications action="overlay"/> 合併使用。

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates 一或多個日期範圍的容器,用來定義必須發出預訂的時間,系統才會套用修改費率。
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange 1..99 DateRange 這個日期範圍可指定預訂必須發生的時間,才能套用修改費率。
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start 0..1 Date 開始日期 (以房源的時區為準),含日期範圍。這個日期必須早於或與 end 日期相同。如果未指定 start,則在開始日期範圍內,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end 0..1 Date 結束日期 (以房源的時區為準),含指定日期範圍。這個日期必須與 start 日期相同或晚於。如未指定 end,則在結束日期方面,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week 0..1 string

日期範圍內允許的星期幾。如未指定,表示可在日期範圍內允許所有日期。字串中的每個字元可指定一天。例如,"MTWHF" 能指定日期範圍內允許星期幾。

有效的字元包括:

  • M (週一)
  • T (星期二)
  • W 代表星期三
  • H 代表星期四
  • F 代表星期五
  • S (星期六)
  • U 代表週日

任何字元組合都有效。

RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow 0..1 BookingWindow 以入住日期 (以房源的時區為準) 指定預訂發生的時段。舉例來說,預訂回溯期可在入住前設為 7 天,但不得超過 180 天。
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min 0..1 integer 你必須在入住前至少幾天入住,才能套用費率修改內容。如未指定,則沒有下限。
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max 0..1 integer 你必須在入住前最多天數入住才能套用費率修改內容。如未指定,則沒有上限。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates 0..1 CheckinDates 一或多個日期範圍的容器,用來定義必須入住的時間,系統才會套用修改費率。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange 1..99 DateRange 這個日期範圍可指定入住必須進行到何時,才能套用修改費率。如果刪除一或多個費率修改內容,就不需要這個元素。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start 0..1 Date 開始日期 (以房源的時區為準),含日期範圍。這個日期必須早於或與 end 日期相同。如果未指定 start,則在開始日期範圍內,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end 0..1 Date 結束日期 (以房源的時區為準),含指定日期範圍。這個日期必須與 start 日期相同或晚於。如未指定 end,則在結束日期方面,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week 0..1 string

日期範圍內允許的星期幾。如未指定,表示可在日期範圍內允許所有日期。字串中的每個字元可指定一天。例如,"MTWHF" 能指定日期範圍內允許星期幾。

有效的字元包括:

  • M (週一)
  • T (星期二)
  • W 代表星期三
  • H 代表星期四
  • F 代表星期五
  • S (星期六)
  • U 代表週日

任何字元組合都有效。

RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates 0..1 CheckoutDates 用來存放一或多個日期範圍的容器,用來定義必須發生退房時間才能套用修改率。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange 1..99 DateRange 您必須指定退房時間才能套用修改費率的日期範圍。如果刪除一或多個費率修改內容,就不需要這個元素。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start 0..1 Date 開始日期 (以房源的時區為準),含日期範圍。這個日期必須早於或與 end 日期相同。如果未指定 start,則在開始日期範圍內,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end 0..1 Date 結束日期 (以房源的時區為準),含指定日期範圍。這個日期必須與 start 日期相同或晚於。如未指定 end,則在結束日期方面,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week 0..1 string

日期範圍內允許的星期幾。如未指定,表示可在日期範圍內允許所有日期。字串中的每個字元可指定一天。例如,"MTWHF" 能指定日期範圍內允許星期幾。

有效的字元包括:

  • M (週一)
  • T (星期二)
  • W 代表星期三
  • H 代表星期四
  • F 代表星期五
  • S (星期六)
  • U 代表週日

任何字元組合都有效。

RateModifications / HotelRateModifications / ItineraryRateModification / Devices 0..1 Devices 用來列出可調整費率的使用者裝置的容器。如果有指定,則只有在使用者與列出的任一裝置相符時,系統才會套用費率修改內容。如果未指定,則不會限制套用費率的調整。
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device 1..3 Device 定義可修改費率的使用者裝置類型。
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type 1 enum 一種裝置類型,這個值必須是 desktoptabletmobile
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions 1 ModificationActions

如果符合所有指定條件,套用至費率的動作。

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment AmountBeforeTaxAmountAfterTax 乘以指定的乘數,即可修改速率
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier 1 float AmountBeforeTaxAmountAfterTax 都會乘以這個值。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule 0..1 RateRule 套用指定費率規範 ID 來修改費率。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id 1 string 這個 ID 與費率規範定義檔案中的定義相符。注意事項:
  • 這個欄位的字元限制為 40 個半形字元。
  • 每個費率都只能套用單一費率規範。
  • 如果有多個修改項目套用費率規範 ID,系統將依據字母順序最小的費率規範 ID 指派給費率。
  • 如果這個 ID 不符合費率規範定義檔案中的費率規範,即視為不符資格。
如要瞭解不同不公開費率使用者介面的處理方式,請參閱 這篇文章
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable 將費率的可退款性覆寫為指定值。

設定屬性時,請注意下列事項:

  • 這項修改動作會完全重新寫入合格費率的「可退款」設定,而不只是已填入的欄位。
  • 如未設定 availablerefundable_until_days,費率就不會顯示可退款。
  • 如果 available0false,系統會忽略其他屬性。即使同時設定了其中一個或兩項屬性,該費率也無法顯示為可退款。
  • 建議設定 refundable_until_time;如未設定,則會使用最早時間 (午夜)。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (必要) 設為 1true,表示房價是否允許全額退款;否則請設為 0false
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (如果 availabletrue,則為必要) 指定在入住前可申請全額退款的天數。refundable_until_days 的值必須是介於 0 至 330 (含首尾) 之間的整數。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time 0..1 Time (如果 availabletrue,建議使用) 指定能夠全額退款要求的最晚時段 (以飯店當地時間為準)。可與 refundable_until_days 結合使用,以指定「退款期限為報到報前兩天下午 4 點」。如未設定 refundable_until_time,該值會預設為午夜。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability 0..1 Availability 將房價的供應情形覆寫為指定值。 我們只支援將費率設為 unavailable
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status 1 enum 如果是 status="unavailable",無論價格是否有效,費率都會視為無法取得。
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay 0..1 LengthOfStay 定義可修改這項頻率的入住天數限制。如果入住天數超出下限和上限,系統就不會套用費率修改內容。
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min 0..1 integer 保留入住天數的最短入住天數,才能套用調整費率。如未指定,則沒有下限。
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max 0..1 integer 入住天數上限後,才能套用調整費率。如果沒有指定,則沒有上限。
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount 0..1 MinimumAmount 指定每日房價的總和 (使用 AmountBeforeTaxAmountAfterTax 中較大者),必須超過這個值才能套用修改費率。
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer 必須超過這個值才能套用修改費率的值。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans 此容器列出要套用費率調整的費率方案清單。如果未指定 <RatePlans>,調整費率會套用至所有房價方案。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan 指定房價方案。費率方案是由套裝方案、房價和空房資訊組成,定義請見交易 (房源資料)、OTA_HotelRateAmountNotifRQ 和 OTA_HotelAvailNotifRQ 訊息,以 PackageID 識別)。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string 房價方案的專屬 ID。這個值會對應至交易 (資源資料) 訊息中 <PackageData> 的 PackageID 值,以及 <OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> 訊息中 <StatusApplicationControl>RatePlanCode 屬性。長度上限為 50 個半形字元。
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes 0..1 RoomTypes 用來裝載適用費率調整的房型清單的容器。費率修改內容會套用至指定的每個 <RoomType>。如未指定 <RoomTypes>,則費率調整會套用至所有會議室。
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType 1..n RoomType 指定房間類型。客房類型是在「交易 (資源資料)」訊息的 <RoomData> 元素中定義,並使用其 <RoomID> 值參照。(OTA_HotelRateAmountNotifRQ 中的 InvTypeCode 屬性也會參照 <RoomID> 值)。
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id 1 string 商品目錄 (客房類型) 的專屬 ID。這個值會對應至交易 (資源資料) 訊息中的 <RoomID>。長度上限為 50 個半形字元。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates 0..1 StayDates 存放一或多個日期範圍的容器,用於決定修改費率的套用方式,例如配合季節性價格調整。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application 1 enum

說明如何套用費率調整。

以下為有效值:

  • all:如果行程中的「所有」日期與住宿日期重疊,則將費率修改值套用到行程中的每晚。
  • any:如果行程中的任何日期與住宿日期範圍的日期重疊,則將費率修改套用至行程中的所有晚上。

必須一律指定此屬性。

RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange 1..99 DateRange 指定套用費率調整日期的日期範圍。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start 0..1 Date 開始日期 (以房源的時區為準),含日期範圍。這個日期必須早於或與 end 日期相同。如果未指定 start,則在開始日期範圍內,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end 0..1 Date 結束日期 (以房源的時區為準),含指定日期範圍。這個日期必須與 start 日期相同或晚於。如未指定 end,則在結束日期方面,日期範圍實際上沒有限制。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week 0..1 string

日期範圍內允許的星期幾。如未指定,表示可在日期範圍內允許所有日期。字串中的每個字元可指定一天。例如,"MTWHF" 能指定日期範圍內允許星期幾。

有效的字元包括:

  • M (週一)
  • T (星期二)
  • W 代表星期三
  • H 代表星期四
  • F 代表星期五
  • S (星期六)
  • U 代表週日

任何字元組合都有效。

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries 已指定,只有在使用者位於任一指定國家/地區時,系統才會套用費率修改內容。如未指定,則不論使用者所在地點為何,系統都會套用修改費率。
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum UserCountry 規格的類型。

有效值為 includeexclude

如果使用者國家/地區 type 設為 include,系統就會向下列國家/地區的使用者套用調整費率。

如果使用者國家/地區typeexclude, 費率就會套用至下列國家/地區以外的使用者。

如未設定使用者國家/地區 type,系統會將其視為 include,並會套用至所列國家/地區的使用者。

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country 指定可修改費率的使用者國家/地區。
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code 1 string CLDR 國家/地區代碼,例如 DEFR。請注意,在部分國家/地區,CLDR 國家/地區代碼與 2 個字母的 ISO 國家/地區代碼不同。而且不支援 CLDR 區碼。

示例

基本訊息

以下範例顯示基本的 RateModifications 訊息:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1">
      <BookingDates>
         <DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
         <DateRange start="2023-09-01" end="2023-09-30"/>
      </BookingDates>
      <BookingWindow min="7" max="330"/>
      <CheckinDates>
         <DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
      </CheckinDates>
      <CheckoutDates>
         <DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
      </CheckoutDates>
      <Devices>
        <Device type="mobile"/>
        <Device type="tablet"/>
      </Devices>
      <LengthOfStay min="2" max="14"/>
      <RatePlans>
         <RatePlan id="234"/>
         <RatePlan id="567"/>
      </RatePlans>
      <RoomTypes>
         <RoomType id="123"/>
         <RoomType id="456"/>
      </RoomTypes>
      <UserCountries>
        <Country code="US"/>
        <Country code="GB"/>
      </UserCountries>
      <ModificationActions>
        <PriceAdjustment multiplier="1.2"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>


刪除一次費率修改內容

以下範例說明如何刪除某項房源的一次費率修改內容:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1" action="delete"/>
  </HotelRateModifications>
</RateModifications>

刪除所有費率調整項目

以下範例說明如何刪除某個房源的所有房價修改內容:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>


覆蓋所有費率修改內容

下例說明如何對含有一或多項新費率調整的屬性,重疊 <HotelRateModifications>。如果為 action="overlay",則所有儲存的費率修改內容都會在儲存目前訊息中指定的費率調整之前,先刪除:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1" action="overlay"/>
    <ItineraryRateModification id="1">
      <BookingDates>
         <DateRange start="2023-09-01" end="2023-09-30"/>
      </BookingDates>
      <ModificationActions>
        <PriceAdjustment multiplier="1.2"/>
      </ModificationActions>
      <RoomTypes>
         <RoomType id="123"/>
         <RoomType id="456"/>
      </RoomTypes>
      <RatePlans>
         <RatePlan id="234"/>
         <RatePlan id="567"/>
      </RatePlans>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>

多項修改動作

以下範例說明如何一次執行多個修改動作:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1">
      <BookingDates>
         <DateRange start="2023-01-01" end="2023-02-28"/>
      </BookingDates>
      <ModificationActions>
        <PriceAdjustment multiplier=".95"/>
        <Refundable available="true"
                    refundable_until_days="1"
                    refundable_until_time="12:00:00"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>


停用使用者國家/地區的費率方案

以下範例說明如何將費率方案限制為僅限日文 (JP) 使用者:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1">
      <RatePlans>
         <RatePlan id="jp_only"/>
      </RatePlans>
      <UserCountries type="exclude">
        <Country code="JP"/>
      </UserCountries>
      <ModificationActions>
        <Availability status="unavailable"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>


回應

語法

RateModificationsResponse 訊息使用下列語法:

<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
  </Issues>
</RateModificationsResponse>

元素與屬性

RateModificationsResponse 訊息包含下列元素和屬性:

元素 / @屬性 發生次數 類型 說明
RateModifications 1 Complex element 這個根元素代表已收到 RateModifications 要求訊息的成功或問題。
RateModificationsResponse / @timestamp 1 DateTime 這則訊息的建立日期和時間。
RateModificationsResponse / @id 1 string 相關 RateModifications 訊息的專屬 ID。
RateModificationsResponse / @partner 1 string 這則訊息的合作夥伴帳戶。
RateModificationsResponse / Success 0..1 Success 表示 RateModifications 訊息已成功處理,而且不會出現警告、錯誤或失敗。

每則訊息中都含有 <Success><Issues>

RateModificationsResponse / Issues 0..1 Issues 用來存放處理「RateModifications」訊息時遇到的一或多個問題的容器。

每則訊息中都含有 <Success><Issues>

RateModificationsResponse / Issues / Issue 1..n Issue 處理 RateModifications 訊息時發生的警告、錯誤或失敗說明。如要進一步瞭解這些問題,請參閱動態饋給狀態錯誤訊息
RateModificationsResponse / Issues / Issue / @code 1 integer 問題的 ID。
RateModificationsResponse / Issues / Issue / @status 1 enum

遇到的問題類型。

有效值為 warningerrorfailure

示例

成功

以下為成功處理的 RateModifications 訊息的回應。

<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</RateModificationsResponse>

問題

以下針對因發生錯誤而未處理的 RateModifications 訊息的回應。

<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</RateModificationsResponse>