料金の変更

概要

この API を使用すると、料金の調整や払い戻しの有効化などの条件が満たされたときに、料金にアクションを動的に適用する方法を定義できます。割引が最も大きいプロモーションのみを適用できる Promotions API とは異なり、この 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> メッセージと <OTA_HotelAvailNotifRQ> メッセージの <RequestorID> 要素で指定された ID 属性値と一致する必要があります。

RateModifications / @id 1 string このリクエスト メッセージの一意の識別子。この値はレスポンス メッセージで返されます。使用できる文字は、a ~ z、A ~ Z、0 ~ 9、_(アンダースコア)、-(ダッシュ)です。
RateModifications / @timestamp 1 DateTime このメッセージの作成日時。
RateModifications / HotelRateModifications 0..n HotelRateModifications

宿泊施設の料金の変更。料金の変更は、それぞれ 1 つの宿泊施設に適用されます。

注: 複数の送料変更を同じ料金に適用できる場合は、すべての変更が適用されます。具体的な順序は保証されません。

RateModifications / HotelRateModifications / @hotel_id 1 string 宿泊施設の一意の識別子。この値は、ホテルリスト フィードの <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 料金変更の一意の識別子。最大 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 料金の変更を適用するには、予約のタイミングを定義する 1 つ以上の期間のコンテナ。
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 レートの変更を適用するためにチェックインする必要があるタイミングを定義する 1 つ以上の期間のコンテナ。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange 1..99 DateRange レートの変更を適用するためにチェックインする必要があるタイミングを指定する期間。1 つ以上の料金変更を削除する場合、この要素は必要ありません。
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 料金変更を適用するには、チェックアウトのタイミングを定義する 1 つ以上の期間のコンテナ。
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange 1..99 DateRange レートの変更を適用するためにチェックアウトを行う必要があるタイミングを指定する期間。1 つ以上の料金変更を削除する場合、この要素は必要ありません。
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 レート変更の対象となるユーザー デバイスのタイプを 1 つ定義します。
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type 1 enum デバイスの種類。値は desktoptablet、または mobile にする必要があります。
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 文字です。
  • 各料金は 1 つの料金ルールにのみ関連付けることができます。
  • 料金ルール ID を適用する変更が複数ある場合は、辞書順で最小の料金ルール ID が料金に割り当てられます。
  • この ID が料金ルール定義ファイルの料金ルールと一致しない場合、不適格とみなされます。
非公開レートのさまざまな UI の処理については、 こちらの記事をご覧ください。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable レートの払い戻し可能性を指定した値に上書きします。

属性を設定する際は、次の点に注意してください。

  • この変更アクションにより、入力されたフィールドだけでなく、対象料金の [払い戻し可能] の設定もすべて書き換えられます。
  • available または refundable_until_days が設定されていない場合、料金は払い戻し可能として表示されません。
  • available0 または false の場合、他の属性は無視されます。他の属性のいずれかまたは両方が設定されていても、料金は払い戻し可能として表示されません。
  • refundable_until_time を設定することをおすすめします。設定しない場合は、最も早い時刻(午前 0 時)が使用されます。
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (必須)料金で全額払い戻しが可能かどうかを示すには 1 または true に設定します。それ以外の場合は 0 または false に設定します。
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 を組み合わせることで、たとえば「チェックインの 2 日前の午後 4 時まで払い戻しが可能」のように指定できます。refundable_until_time が設定されていない場合、値はデフォルトで午前 0 時に設定されます。
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 1 日の客室料金の合計(AmountBeforeTax または AmountAfterTax のいずれか大きい方を使用)の最低額の合計を指定します。この合計額を超えて料金変更が適用されるには、
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer レート変更を適用するために超過する必要がある値。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans 料金改定が適用される料金プランのリストのコンテナ。<RatePlans> が指定されていない場合、レートの変更はすべての料金プランに適用されます。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan 料金プランを指定します。料金プランは、パッケージ、料金、空室状況の組み合わせで構成され、Transaction(宿泊施設データ)、OTA_HotelRateAmountNotifRQ、OTA_HotelAvailNotifRQ の各メッセージで定義され、PackageID で識別されます。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string 料金プランの一意の識別子。この値は、Transaction(宿泊施設データ)メッセージの <PackageData> と、<OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージの両方の <StatusApplicationControl>RatePlanCode 属性で PackageID 値にマッピングされます。最大 50 文字まで入力できます。
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes 0..1 RoomTypes 料金の変更が適用される客室タイプのリストのコンテナ。 レートの修正は、指定された各 <RoomType> に適用されます。<RoomTypes> が指定されていない場合、料金の変更はすべての客室に適用されます。
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType 1..n RoomType 部屋のタイプを指定します。客室タイプは、Transaction(宿泊施設データ)メッセージの <RoomData> 要素で定義され、<RoomID> 値を使用して参照されます。(その <RoomID> 値は OTA_HotelRateAmountNotifRQ メッセージの InvTypeCode 属性でも参照されます)。
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id 1 string 広告枠(客室タイプ)の一意の識別子。この値は、Transaction(宿泊施設データ)メッセージの <RoomID> にマッピングされます。最大 50 文字まで入力できます。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates 0..1 StayDates 1 つ以上の期間のコンテナ。季節的な価格設定に対応するためなど、レートの変更をどのように適用するかを決定します。
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application 1 enum

レートの変更をどのように適用するかを記述します。

指定できる値は次のとおりです。

  • all: 旅行プランのすべての日付が滞在日と重なっている場合、宿泊プランのすべての 1 泊に料金の変更を適用します。
  • 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 です。

UserCountry typeinclude に設定されている場合、料金の変更はリストにある国のユーザーに適用されます。

UserCountry の typeexclude の場合、指定した国以外のユーザーに料金の変更が適用されます。

UserCountry 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>


1 件のレート変更を削除

次の例は、宿泊施設に対する 1 つの料金変更を削除する方法を示しています。

<?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>


レートの変更をすべてオーバーレイする

次の例は、1 つ以上の新しい料金変更をプロパティの <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 メッセージの一意の識別子。
RateModificationsResponse / @partner 1 string このメッセージのパートナー アカウント。
RateModificationsResponse / Success 0..1 Success RateModifications メッセージが、警告、エラー、失敗なしで正常に処理されたことを示します。

各メッセージには、<Success> または <Issues> のいずれかが存在します。

RateModificationsResponse / Issues 0..1 Issues RateModifications メッセージの処理中に発生した 1 つ以上の問題のコンテナ。

各メッセージには、<Success> または <Issues> のいずれかが存在します。

RateModificationsResponse / Issues / Issue 1..n Issue RateModifications メッセージの処理中に発生した警告、エラー、失敗の説明。これらの問題について詳しくは、フィード ステータスのエラー メッセージをご覧ください。
RateModificationsResponse / Issues / Issue / @code 1 integer 問題の識別子。
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>