料金の変更

概要

この API を使用すると、条件が満たされたときに料金にアクションを動的に適用する方法(料金の調整や払い戻しの有効化など)を定義できます。Promotions API は、最も割引率の高い対象プロモーションのみを適用できますが、この API は、特定の条件が満たされると、最終的な価格を引き上げる可能性のある価格調整など、すべてのアクションを適用します。

リクエスト

構文

RateModifications メッセージでは、次の構文を使用します。

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key&quot;
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]&quot;
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD&quot; days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
        DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
      />Booking<Dates
      B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
      CheckinDates
        DateRange start=&quot>;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
   <   /CheckinDates
      CheckoutDates
    >    Dat<eRange start="YYYY-MM-DD&quot; end=>"Y<YYY-MM-DD>" da<ys_of_week=&quot;"MTW>HFSU_or_s<ubset"&quot;/
      />Checkou<tDates
   >   Devi<ces
     >   Device< type="[desktop|ta>blet|mobi<le]"/
      /Devic>es
    <  L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
      MinimumAmount before_discount="integer"/
      RatePlans
   >     Ra<tePlan id=>"P<ackageID_1"/
        RatePlan id=>"Pac<kageID_2"/
      /RateP>lans
  <    Roo>mTypes
       < RoomType id=">RoomID_1&<quot;/
        RoomType id=&quot;Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]&quot;
        DateRange start="YYYY-MM-DD&quot; end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
      /StayDates
      User>Countri<es type="[inclu>de|ex<clude]"
        Count>ry <code="country_code>&<quot;/
      /User>Countries
      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> を使用して指定した HotelID と一致する必要があります。HotelID は Hotel Center にも表示されます。
RateModifications / HotelRateModifications / @action 0..1 enum

action が指定されていない場合、この要素内の変更は、このホテルに追加または更新されます。action="overlay" が指定されている場合、このホテルに対して以前に定義された変更はすべて削除されます。その後、ここで指定された変更が書き込まれます。action="overlay" が使用されていて、この要素内で変更が指定されていない場合、このホテルの変更はすべて削除されます。

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

宿泊施設の 1 件の料金変更。

注: レートの変更はデバッグが難しいため、使用は控えることをおすすめします。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 の設定をおすすめします。設定しない場合、最も早い時刻(深夜)が使用されます。
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 日の客室料金(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 料金プランを指定します。料金プランは、パッケージ、料金、空室状況の組み合わせで定義されます。また、Transaction(宿泊施設データ)、OTA_HotelRateAmountNotifRQ、OTA_HotelAvailNotifRQ の各メッセージにより定義され、PackageID により識別されます。
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string 料金プランの一意の識別子。この値は PackageID の値に対応します。PackageID の値は、Transaction(宿泊施設データ)メッセージの <PackageData> と、<OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージ両方の <StatusApplicationControl>RatePlanCode 属性にあります。最大 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 UserCountries 仕様のタイプ。

有効な値は includeexclude です。

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

UserCountries typeexclude の場合、料金の変更はリストにない国のユーザーに適用されます。

UserCountries 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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
      BookingDates
      >   DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
         DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
      /BookingDates
      Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
   <   CheckinDates
         DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
      /Ch>eckinDate<s
      CheckoutDates>
      <   DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
<      /CheckoutDat>es
    <  D>evices
       < Device t>ype="<mobile"/
    >    Device< type="tablet>"/<
      /De>vices
 <     L>engthOfStay min=<"2" max=>"14&<quot;/
      RateP>lans
  <       >RatePlan id=&q<uot;234"/
    >     Rate<Plan id="567"/
      /R>atePlan<s
      RoomTypes
  >     <  RoomType id="123&qu>ot;</
         RoomType id=>&<quot;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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id="Property_1>&qu<ot;
    ItineraryRateMo>d<ification id=">;1" action="delete"/
  /HotelRateModifications
/RateModifications

すべての料金の変更を削除する

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

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>i<fications hotel_id>=&quot;Property_1" action="overlay"/
/RateModifications


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

次の例は、1 つ以上の新しい料金変更が含まれる宿泊施設の <HotelRateModifications> をオーバーレイする方法を示しています。action="overlay" が適用されている場合、現在のメッセージで指定されている料金変更を保存する前に、すべての保存済み料金変更が削除されます。

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
    ItineraryRateModification id="1&>quot;
 <     B>ookingDates
  <       DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
      /Booking>Dates
 <     ModificationAc<tions
        Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
     > /Modif<icationAc>tions
    <  RoomTypes
      >   RoomTyp<e id="123&quo>t;/
   <      RoomType <id="456"/
      >/Ro<omTypes
      RatePlans>
<         RatePlan >id="234"/
         RatePlan id="567"/
      /RatePlans
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

複数の変更アクション

次の例は、複数の変更アクションを一度に実行する方法を示しています。

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
    >  Booki<ngDates
     >    Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
      </BookingDates
      ModificationActions
        PriceAdjustment multiplier=".95"/
        Refundable available=">true&qu<ot;
                >    r<efundable_until_days=">;1&<quot;
                 > <  refundabl>e_until_time="12:00:00"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


ユーザーの国で料金プランを無効にする

次の例は、料金プランを日本のユーザー(JP)のみに制限する方法を示しています。

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_>1"
  <  ItineraryRate>Modification i<d="1&>quot;
 <     RatePlans
         Rate>Plan id=&<quot;jp_only">/
     < /RatePlans
  >    Use<rCountries type=&qu>ot;exclud<e"
        Country code=">;JP&quo<t;/
      /UserCount>ries
<      ModificationActions
>   <     Availability statu>s<="unavailable>&quot;/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


回答

構文

RateModificationsResponse メッセージでは、次の構文を使用します。

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp&quot;
                    id="message_ID"
 >   <                partner="partner_key"
  >!--< Either >Suc<cess o>r Iss<ues will be populated. --
  Success/
  Issu><es
>    Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>ot;varissue_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" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <        > <       partner=&quo>t;partner_key"
  Success/
/RateModificationsResponse

問題

以下は、エラーのため処理されなかった RateModifications メッセージに対するレスポンスです。

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <      >     <     partner="partne>r_key"
  <Issues>
  <  Issue <code="1001" stat>us="error"Example/Issue
  /Issues
/RateModificationsResponse