リクエスト
構文
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-z 、A-Z 、0-9 、_ (underscore) 、- (dash) です。 |
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 が等しい場合は、その日付に更新が適用されます。なお、Google では最大 3 年間のデータがサポートされています。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | 月曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | 火曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | 水曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | 木曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | 金曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | 土曜日を明示的に含めるには、true または 1 に設定します。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / 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 / 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 ベースの料金設定を使用するには、 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | この料金の滞在日数を構成する RateTimeUnits の数。たとえば、 この LOS ベースの料金設定を使用するには、 |
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 日の料金(税金と手数料を除く)。 プロモーションを使用している場合、割引は |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | 客室料金の 1 日の料金(適用される税金と手数料を含む)。AmountAfterTax が指定されている場合は、宿泊施設ごとの個別の <TaxFeeInfo> メッセージを送信する必要はありません。この属性を AmountBeforeTax と組み合わせて使用すると、特定の地域のユーザーに表示可能な基本料金と合計料金の両方を提供できます。
警告: プロモーションを使用している場合は、 注: |
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 人です。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | 追加の宿泊客の料金のコレクションのコンテナ。 この構文は、追加の宿泊客や子供の料金が日付によって変わる場合に便利です。これらの金額をプロパティレベルで静的に定義できる場合は、より効率的な
たとえば、大人 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 | 追加の宿泊客のタイプ(大人または子ども)を定義します。有効なオプションは次のとおりです。
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | AgeQualifyingCode が 8 の場合は、MaxAge を指定する必要があります。AgeQualifyingCode が 10 の場合は指定しないでください。
値を
複数の子供の年齢範囲は、個別の |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | 追加の宿泊客ごとに基本料金に加算される税金と手数料を除く金額。 宿泊者の年齢に応じた税金と手数料は、 |
例
このセクションでは、次の方法を重点的に説明するためのコードサンプルを示します。
add
、overlay
、または 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
を使用します。
料金を追加する
NotifType
を Delta
に設定して、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>
料金をオーバーレイする
NotifType
を Overlay
に設定して、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>
料金を削除する
NotifType
を Remove
に設定して、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>
追加のゲスト人数を追加、オーバーレイ、削除する
金額を追加する
NotifType
を Delta
に設定して、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>
オーバーレイ額
NotifType
を Overlay
に設定して、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>
金額を削除する
NotifType
を Delete
に設定して、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>
要素を使用して NotifType
を Delta
に設定すると、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 メッセージが正常に処理されたことを示します。
各メッセージには、 |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | OTA_HotelRateAmountNotifRQ メッセージの処理中に発生した 1 つ以上の問題のコンテナ。
各メッセージには、 |
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>