OTA_HotelRateAmountNotifRQ

リクエスト

構文

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 メッセージには、次の要素と属性があります。

要素 / @属性 発生回数 タイプ 説明
OTA_HotelRateAmountNotifRQ 1 Complex element 料金メッセージのルート要素。
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) XML 名前空間。
OTA_HotelRateAmountNotifRQ / @EchoToken 1 string このリクエスト メッセージの一意の識別子。この値はレスポンス メッセージ内で返されます。使用できる文字は、a-zA-Z0-9_ (underscore)- (dash) です。
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime このメッセージの作成日時。
OTA_HotelRateAmountNotifRQ / @Version 1 decimal OpenTravel メッセージのバージョン。
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

すべての <RateAmountMessage> に適用される通知の種類。

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

これらの属性の仕組みを理解するには、をご覧ください。

  • Overlay: <StatusApplicationControl> で指定されている客室タイプ、料金プラン、日付に関する定員単位の料金をすべて削除し、新しい料金で置き換えます。
  • Remove: <StatusApplicationControl> で指定されている客室タイプ、料金プラン、日付に関する既存の定員単位の料金をすべて削除します。
  • Delta:NotifType が指定されていない場合のデフォルト)。<StatusApplicationControl> で指定されている客室タイプ、料金プラン、日付に関する既存の定員単位の料金を追加または更新します。
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

すべての <RateAmountMessage> に適用される NotifType のスコープ。

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

  • ProductRate:NotifScopeType が指定されていない場合のデフォルト)。NotifType は商品(客室タイプ(InvTypeCode)と料金プラン(RatePlanCode)の組み合わせ)に適用されます。
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 の [アカウント設定] ページに表示されている [パートナーキー] の値です。

注: 複数のアカウントのフィードを提供するバックエンドを使用している場合、この値は、Transaction(宿泊施設データ)メッセージの partner 属性値と、同じアカウントの <OTA_HotelAvailNotifRQ> メッセージの <RequestorID> 要素の ID 属性値に一致する必要があります。

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages 料金を定義する <RateAmountMessage> 要素のコレクション。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 1 string 宿泊施設の一意の識別子。この値は、ホテルリスト フィードの <listing> 要素の <id> を使用して指定した HotelID と一致する必要があります。HotelID は Hotel Center にも表示されます。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage 客室料金(ある期間での客室タイプと料金プランの組み合わせ)の価格を設定するためのコンテナ。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl 期間のほか、客室タイプ(InvTypeCode)と料金プラン(RatePlanCode)の識別子を定義します。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date 期間の開始日(宿泊施設のタイムゾーンに基づく)。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date 期間の終了日(宿泊施設のタイムゾーンに基づく)。start の値以上にする必要があります。startend が等しい場合は、その日付に更新が適用されます。なお、Google では最大 3 年間のデータがサポートされています。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean 月曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean 火曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean 水曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean 木曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean 金曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean 土曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean 日曜日を明示的に含めるには、true または 1 に設定します。

true に設定すると、明示的には true に設定されていない他の曜日が除外されます(実質的には StartEnd 内の日付から除外されます)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string 在庫の一意の識別子(客室タイプ)。この値は、Transaction(宿泊施設データ)メッセージ内の <RoomID> に対応します。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string 料金プランの一意の識別子。この ID は、Transaction(宿泊施設データ)メッセージの <PackageID> に対応します。料金プランの詳細を定義し、料金プランが参照される場所は、<OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージ両方の <StatusApplicationControl> 内です。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string この料金改定に適用される ARI 料金モデルのタイプを示す識別子。これは、LOS ベースの料金モデルを使用する場合にのみ、26 の値を使用して指定する必要があります。この属性が除外されている場合、これは日付ごとの料金の更新であることを示します。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates <Rate> 要素のコレクションのコンテナ。NotifType"Remove" の場合、この要素を指定しないでください。それ以外の場合は、この要素を 1 回だけ指定する必要があります。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate <BaseByGuestAmts> 要素のコレクションのコンテナ。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String 滞在日数を指定するための単位。サポートされている値は "Day" のみです。つまり、滞在日数は日単位で指定されます。

LOS ベースの料金設定を使用するには、RateTimeUnitUnitMultiplier を指定する必要があります。それ以外の場合は、どちらも指定しないでください。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer この料金の滞在日数を構成する RateTimeUnits の数。

たとえば、RateTimeUnits の値が "Day" で、UnitMultiplier が 5 の場合、この Rate オブジェクトで指定された料金が 5 泊の宿泊の各泊に適用されます。

この Rate オブジェクトで指定された宿泊人数は、UnitMultiplier(滞在日数)と掛け合わされて、滞在の合計料金が算出されます。

LOS ベースの料金設定を使用するには、RateTimeUnitUnitMultiplier を指定する必要があります。それ以外の場合は、どちらも指定しないでください。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts 基本料金のコレクションのコンテナ。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt 指定した通貨で客室料金を指定します。料金は、NumberOfGuests の値がそれぞれ異なる複数の <BaseByGuestAmt> 要素を使用して、定員単位にすることができます。それ以外の場合は、NumberOfGuests で定義される最大の定員数に料金が適用されます。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

客室料金の 1 日の料金(税金と手数料を除く)。

AmountBeforeTaxAmountAfterTax の両方を指定できます。AmountBeforeTax が指定されていない場合は、AmountAfterTax を指定する必要があります。AmountBeforeTax が指定されていて、AmountAfterTax が指定されていない場合は、税金と手数料を <TaxFeeInfo> メッセージで指定する必要があります。

プロモーションを使用している場合、割引は AmountBeforeTax に適用されます。割引率は AmountAfterTax にも適用されます。これは税金の構造によっては適切に処理されないため、ここでは AmountBeforeTax のみを指定し、<TaxFeeInfo> を使用して税金と手数料を指定することを強くおすすめします。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float 客室料金の 1 日の料金(適用される税金と手数料を含む)。AmountAfterTax が指定されている場合は、宿泊施設ごとの個別の <TaxFeeInfo> メッセージを送信する必要はありません。この属性を AmountBeforeTax と組み合わせて使用すると、特定の地域のユーザーに表示可能な基本料金と合計料金の両方を提供できます。

警告: プロモーションを使用している場合は、AmountAfterTax の額を使用しないことを強くおすすめします。割引を使用する必要がある場合は、<TaxFeeInfo> メッセージを使用して税金と手数料を指定します。これにより、割引は AmountBeforeTax の額に適用されます。

注: AmountBeforeTax が指定されていない場合は、AmountAfterTax を指定する必要があります。

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 人です。

<AdditionalGuestAmounts> に子供の料金が含まれている場合、NumberOfGuests大人のみを参照します。<AdditionalGuestAmounts> が指定されていない場合、または子どもの料金が含まれていない場合、NumberOfGuests は大人と子どもの両方を含む宿泊人数の合計を指します。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts 追加の宿泊客の料金のコレクションのコンテナ。

この構文は、追加の宿泊客や子供の料金が日付によって変わる場合に便利です。これらの金額をプロパティレベルで静的に定義できる場合は、より効率的な ExtraGuestCharges メッセージを使用することを検討してください。

追加の宿泊人数は次のように適用されます。
  • 基本定員料金に上乗せして適用されます。ベースの宿泊人数は、<BaseByGuestAmts> で指定された、ユーザーの検索で指定された大人数の範囲内の最大の宿泊人数です。
  • ユーザーの検索で宿泊人数が部屋の定員内であれば、割引が適用されます。
  • NotifTypeDelta または Overlay の場合、<AdditionalGuestAmounts> は、以前に指定された追加料金を常に新しい料金に置き換えます。
  • <AdditionalGuestAmounts> は、NotifTypeDelta の場合にのみ、基本料金とは別に送信できます。NotifTypeOverlay の場合は、<BaseByGuestAmts> を指定する必要があります。
  • NotifTypeDelta に設定された空の <AdditionalGuestAmounts> 要素は、基本料金に影響を与えることなく、既存の追加金額を削除します。
  • <BaseByGuestAmt> で指定された通貨を使用して適用されます。

たとえば、大人 1 人と大人 2 人用の基本料金が指定されているとします。

  • ユーザーが大人 3 人を検索した場合、2 人部屋の料金が基本料金として選択され、それに大人 1 人の同伴者の料金が適用されます。
  • ユーザーが大人 1 人と子供 2 人を検索した場合、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 追加の宿泊客のタイプ(大人または子ども)を定義します。有効なオプションは次のとおりです。
  • 10: 大人。
  • 8: 子。

AgeQualifyingCode は、最大 1 つの AdditionalGuestAmount 要素に対して 10 に設定できます。

AgeQualifyingCode8 の場合は、MaxAge を指定する必要があります。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer AgeQualifyingCode8 の場合は、MaxAge を指定する必要があります。AgeQualifyingCode10 の場合は指定しないでください。

MaxAge には 017. の整数を指定してください

値を 0 に指定すると、子供の乗客が無効になります。

17 より大きい値は、最大許容値 17 として扱われます。

複数の子供の年齢範囲は、個別の AdditionalGuestAmount 要素で指定できます。年齢範囲は連続していて重複していない必要があります。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float 追加の宿泊客ごとに基本料金に加算される税金と手数料を除く金額。

宿泊者の年齢に応じた税金と手数料は、<TaxFeeInfo> メッセージの <AgeBrackets> 要素で指定する必要があります。

このセクションでは、次の方法を重点的に説明するためのコードサンプルを示します。

addoverlay、または remove の値を設定する際、期間は目標に応じて同じにするか、異なるようにします。たとえば、overlay を使用して、「料金を追加」メッセージに設定されている期間全体ではなく、12 月のホリデー シーズンの期間のみを設定できます。この期間のみ、宿泊料金が置き換えられます。

日付ごとの料金

特定の部屋と料金プランで設定できる宿泊料金は、宿泊施設ごとに最大 50 件です。すべての宿泊人数で料金が同じ場合は、必要な料金とともに最大宿泊人数を送信してください。これにより、Google は、低い宿泊人数でも同じ基本料金が適用されると推測します。

基本料金と合計料金を設定する

例 1

デフォルトの定員(ダブル)の基本料金(税金や手数料を含まない)。このモデルでは、宿泊施設の税金と手数料を <TaxFeeInfo> メッセージを使用して定義する必要があります。基本料金は、特定の地域から検索するユーザーには、より目立つよう表示されます。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

例 2

デフォルトの定員(ダブル)の基本料金と合計料金。このモデルでは、<TaxFeeInfo> メッセージを使用して税金と手数料を別々に定義することはできません。基本料金は、特定の地域から検索するユーザーには、より目立つよう表示されます。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

例 3

複数の定員の合計料金(税金と手数料を含む)。このモデルでは、<TaxFeeInfo> メッセージを使用して税金と手数料を別々に定義することはできません。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

例 4

異なる期間での、複数の客室タイプと料金プランの基本料金と合計料金。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
料金を追加、オーバーレイ、削除する

宿泊施設あたりの客室タイプとパッケージの組み合わせの上限は 5,000 件です。以前に定義した商品を削除するには、通知タイプ Overlay または Remove を使用します。

料金を追加する

NotifTypeDelta に設定して、2021-10-20 から 2021-12-31 までの RoomID_1 と PackageID_1 の定員単位の料金を追加します。Google では最大 3 年間のデータがサポートされています。

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

料金をオーバーレイする

NotifTypeOverlay に設定して、2021-10-20 から 2021-12-31 までの RoomID_1 と PackageID_1 の定員単位の料金をすべて削除し、新しく指定した定員単位の料金で置き換えます。

たとえば、このメッセージが「料金を追加する」メッセージの後に送信された場合、定員 1、2、3 の料金は削除され、新しい定員 1 の料金のみが保存されます。期間を短くすることもできます(例: 2021-12-20 と 2021-12-31)を使用して、祝日などの特定の日付の宿泊料金の一部のみを置き換えることができます。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

料金を削除する

NotifTypeRemove に設定して、2021-10-20 から 2021-12-31 までの RoomID_1 と PackageID_1 の定員単位の料金をすべて削除します。

たとえば、このメッセージが他のサンプル メッセージのいずれかよりも後に送信された場合、定員単位の料金は保存されません。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
追加のゲスト人数を追加、オーバーレイ、削除する

金額を追加する

NotifTypeDelta に設定して、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>

オーバーレイ額

NotifTypeOverlay に設定して、2021-10-20 から 2021-12-31 までの RoomID_1 と PackageID_1 の定員単位の料金と同伴者の追加料金をすべて削除し、新しく指定した定員単位の料金と追加料金に置き換えます。

たとえば、このメッセージが「料金を追加する」メッセージの後に送信された場合、基本定員 1 人および 2 人の料金は削除され、新しい基本定員 1 人の料金のみが保存されます。以前の追加ゲスト分の金額は削除され、新しい金額のみが保存されます。追加の宿泊人数には、新しい 1 人部屋の料金が基本料金として使用されます。この更新後、子供に対する追加の宿泊人数料金は定義されなくなります。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

金額を削除する

NotifTypeDelete に設定して、2021-10-20 から 2021-12-31 までの RoomID_1 と PackageID_1 の定員単位の基本料金と追加の宿泊人数の料金をすべて削除します。

たとえば、このメッセージが他のサンプル メッセージのいずれかよりも後に送信された場合、定員単位の基本料金や追加の宿泊人数は保存されません。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

追加のゲスト人数のみを削除する

空の <AdditionalGuestAmounts> 要素を使用して NotifTypeDelta に設定すると、2021-10-20 から 2021-12-31 までの基本料金に影響を与えることなく、RoomID_1 と PackageID_1 の追加の宿泊人数をすべて削除できます。

たとえば、このメッセージが他のサンプル メッセージのいずれかよりも後に送信された場合、基本料金のみが保存されます。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

LOS ベースの料金

LOS ベースの料金を設定する

例 1

2020 年 5 月 18 日以降の 1 泊、2 泊、3 泊の宿泊料金を設定します。この例では、1 泊、2 泊、3 泊の宿泊の合計料金はそれぞれ $100、$180、$240 となります。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
LOS ベースの料金を追加、オーバーレイ、削除する

滞在日数を追加する

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>

滞在日数のオーバーレイ

LOS ベースの料金設定では、Overlay オペレーションによって、<StatusApplicationControl> で指定された商品の滞在日数とチェックイン日数の範囲のすべての料金が置き換えられます。

このメッセージにより、指定された到着日にすべての滞在日数の定員単位の料金が削除され、滞在日数 3 にのみ定義されている 2 名の定員の料金に置き換えられます。

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

滞在日数を削除する

LOS ベースの料金設定では、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 メッセージには、次の要素と属性があります。

要素 / @属性 発生回数 タイプ 説明
OTA_HotelRateAmountNotifRS 1 Complex element 空室状況メッセージへのレスポンスのルート要素。
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime このメッセージの作成日時。
OTA_HotelRateAmountNotifRS / @EchoToken 1 string 関連する OTA_HotelRateAmountNotifRQ メッセージから得られる一意の識別子。
OTA_HotelRateAmountNotifRS / Success 0..1 Success OTA_HotelRateAmountNotifRQ メッセージが正常に処理されたことを示します。

各メッセージには、<Success><Errors> のいずれかがあります。

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

各メッセージには、<Success><Errors> のいずれかがあります。

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error OTA_HotelRateAmountNotifRQ メッセージの処理中に発生したエラーの説明。これらのエラーの詳細については、フィード ステータスのエラー メッセージをご覧ください。
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer エラーに関連付けられている OpenTravel Alliance EWT(エラー警告タイプ)。値 12 (Processing exception) のみが使用されます。
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer エラーに関連付けられている OpenTravel Alliance ERR(エラーコード)。 値 450 (Unable to process) のみが使用されます。
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum 元のリクエストのステータス。値 NotProcessed のみが使用されます。
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string 問題に関する Google 識別子。これらのエラーの詳細については、フィード ステータスのエラー メッセージをご覧ください。

成功

以下は、適切に処理された OTA_HotelRateAmountNotifRQ メッセージに対するレスポンスです。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

エラー

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

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>