OTA_HotelRateAmountNotifRQ

構文

OTA_HotelRateAmountNotifRQ メッセージでは、次の構文を使用します。
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_account_name"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

要素と属性

OTA_HotelRateAmountNotifRQ メッセージには、次の要素と属性があります。
要素 / @属性 発生数 説明
OTA_HotelRateAmountNotifRQ 1 複合要素 料金メッセージのルート要素。
OTA_HotelRateAmountNotifRQ / @xmlns 0~1 String(URI) XML 名前空間。
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 の値以上にする必要があります。start end が等しい場合は、その日付に更新が適用されます。
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Mon 0~1 Boolean 月曜日を明示的に含めるには、true または 1 に設定します。

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

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Tue 0~1 Boolean 火曜日を明示的に含めるには、true または 1 に設定します。

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

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Weds 0~1 Boolean 水曜日を明示的に含めるには、true または 1 に設定します。

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

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Thur 0~1 Boolean 木曜日を明示的に含めるには、true または 1 に設定します。

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

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Fri 0~1 Boolean 金曜日を明示的に含めるには、true または 1 に設定します。

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

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sat 0~1 Boolean 土曜日を明示的に含めるには、true または 1 に設定します。

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

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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 / Rates 0~1 Rates <Rate> 要素のコレクションのコンテナ。NotifType が「Remove」である場合は、この要素を指定しないでください。それ以外の場合は、この要素を 1 回だけ指定する必要があります。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate <BaseByGuestAmts> 要素のコレクションのコンテナ。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts 1 BaseByGuestAmts 基本料金のコレクションのコンテナ。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt 1~n BaseByGuestAmt 指定した通貨で客室料金を指定します。料金は、NumberOfGuests の値がそれぞれ異なる複数の <BaseByGuestAmt> 要素を使用して、定員単位にすることができます。それ以外の場合は、NumberOfGuests で定義される最大の定員数に料金が適用されます。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0~1 Float

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

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

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

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

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

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @CurrencyCode 1 Enum 特定の通貨単位の ISO 4217 (3) アルファベット文字コード。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @NumberOfGuests 0~1 Integer 客室で想定する最大宿泊客数。指定しない場合のデフォルトは 2 です。

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

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

例 1

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

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            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"
                            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"
                            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"
                            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>

料金を追加、オーバーレイ、削除する

料金を追加する

NotifTypeDelta に設定して、2020-05-18 から 2020-05-23 までの RoomID_1 と PackageID_1 の定員単位の料金を追加します。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            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-23"
                                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 に設定して、2020-05-18 から 2020-05-23 までの RoomID_1 と PackageID_1 の定員単位の料金をすべて削除し、新しく指定した定員単位の料金で置き換えます。

たとえば、このメッセージが「料金を追加する」メッセージの後に送信された場合、定員 1、2、3 の料金は削除され、新しい定員 1 の料金のみが保存されます。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            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-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

料金を削除する

NotifTypeDelete に設定して、2020-05-18 から 2020-05-23 までの RoomID_1 と PackageID_1 の定員単位の料金をすべて削除します。

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

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