構文
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 | すべての 有効な値は次のとおりです。
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0~1 | Enum | すべての 有効な値は次のとおりです。
|
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(宿泊施設データ)メッセージの |
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 に設定します。
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Tue | 0~1 | Boolean | 火曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Weds | 0~1 | Boolean | 水曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Thur | 0~1 | Boolean | 木曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Fri | 0~1 | Boolean | 金曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sat | 0~1 | Boolean | 土曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sun | 0~1 | Boolean | 日曜日を明示的に含めるには、true または 1 に設定します。
|
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 日の料金(税金と手数料を除く)。 プロモーションを使用している場合、割引は |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0~1 | Float | 客室料金の 1 日の料金(適用される税金と手数料を含む)。AmountAfterTax が指定されている場合は、宿泊施設ごとの個別の <TaxFeeInfo> メッセージを送信する必要はありません。この属性を AmountBeforeTax と組み合わせて使用すると、特定の地域のユーザーに表示可能な基本料金と合計料金の両方を提供できます。
警告: プロモーションを使用している場合は、 注: |
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>
料金を追加、オーバーレイ、削除する
料金を追加する
NotifType
を Delta に設定して、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>
料金をオーバーレイする
NotifType
を Overlay に設定して、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>
料金を削除する
NotifType
を Delete に設定して、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>