概要
プロモーション メッセージは、OTA_HotelRateAmountNotifRQ
を使用して割引料金のルールを定義します。料金ごとに、定義されているプロモーションが評価され、最大許容割引が料金に適用されます。このメッセージ タイプはオプションです。プロモーションを定義する必要があるのは、料金割引を適用するためにシステムで使用されるプロモーションのみです。
プロモーションを組み合わせて、デバイスタイプ(モバイル、タブレット、パソコン)や国コードなどのさまざまなユーザー属性に適用できます。
プロモーションに関連するさまざまなシナリオの例については、ハウツーをご覧ください。
以下のセクションでは、プロモーションの追加と更新を開始するための一般的なガイドライン、基本的な例、手順のシナリオについて説明します。
ガイドライン
このセクションでは、プロモーションの設定に関する一般的なガイドラインと特別な手順について説明します。
プロモーションには次のガイドラインを使用します。
アクション
- 削除
<Promotion>
要素でdelete
アクションを使用し、ID により 1 つのプロモーションを削除します。- オーバーレイ
<HotelPromotions>
要素でoverlay
アクションを使用すると、宿泊施設のすべてのプロモーションを置き換えます。- デルタ
- アクションを指定しない場合、
<HotelPromotions>
内で指定されているすべてのプロモーションが追加または置換されます。その ID のプロモーションが一度も追加されていないか、削除されていない場合は、そのプロモーションが追加されます。その ID のプロモーションが存在する場合は、新しい定義で上書きされます。
全般
各宿泊施設には 1 つまたは複数のプロモーションを設定でき、各プロモーションには一連の条件があります。そのプロモーションは、条件が満たされた場合にのみ適用できます。
プロモーションを特定の日付、客室タイプ、料金プランにのみ適用する場合は、そのプロモーションの条件でそれを指定します。プロモーションが特定の日付、客室タイプ、料金プランに適用されない場合は、これらを設定する必要はありません。
各プロモーションは特定のプロパティに関連付けられています。複数の宿泊施設に同じプロモーションを使用する場合は、宿泊施設ごとに個別に送信する必要があります。プロパティ ID を指定するには、
<HotelPromotions>
要素のhotel_id
属性を使用します。最大 99 件のプロモーションを含めることができます。それより多くの値を含める必要がある場合は、Google TAM にお問い合わせください。
<Stacking>
要素を使用して、プロモーションを組み合わせる方法を指定します。デフォルトでは、Google はbase
スタッキング タイプを使用します。つまり、最適な基本プロモーションが最初に選択され、他のプロモーションよりも先に適用されます。base
は、second
またはany
とのみ組み合わせることができます。別のbase
またはnone
と組み合わせることはできません。一緒に適用できる複数のプロモーションのスタックがあっても、より深い割引を提供する別の単一のプロモーションまたはプロモーションのスタックがある場合、そのスタックが実際に使用されるスタックではない場合があります。複数の(組み合わせ)プロモーションの対象となる場合、割引が最も多いプロモーション(組み合わせ)が予約に適用されます。
プロモーションに影響する変更が発生した場合は、プロモーション メッセージの更新情報を送信します。
税金関連
最適なプロモーション(またはプロモーションのスタック)が AmountAfterTax
の金額に適用されます。AmountBeforeTax
のみが指定されている場合、プロモーションは AmountBeforeTax
に適用されます。
例
このセクションでは、必須の要素と省略可能な要素を使用した Promotions メッセージの基本的な例を紹介します。ファイルを準備したら、このエンドポイントに POST メッセージを介して Google に送信します。
https://www.google.com/travel/hotels/uploads/promotions
メッセージを push/POST する方法については、メッセージの push をご覧ください。
<HotelPromotions>
の hotel_id
属性には、宿泊施設を識別するためにシステム内で使用した一意のホテル ID を使用します。この値は、ホテルリスト フィードの <listing>
要素の <id>
を使用して指定されたホテル ID と一致する必要があります。Google がデータを正しく表示するためには、システムとの整合性が不可欠です。
UserCountry
は、プロモーションの対象となるユーザーの所在地(国)を一覧表示します。指定すると、リストに含まれる国のユーザーのみに割引料金が適用されます。
次の例は、米国とイタリアのユーザー向けに、長期の滞在に対して 15% の割引を設定する方法を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123_abc"
timestamp="2022-05-30T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<UserCountries>
<Country code="US"/>
<Country code="IT"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
その他の例については、プロモーションの例をご覧ください。
入門ガイド
このセクションでは、プロモーションの設定中に発生する可能性のあるシナリオの解決策を説明します。
シナリオ 1: 滞在日数に応じた割引プロモーションを追加する方法
説明
長期滞在の特定の日について宿泊日数を割引したい。
解決策
FreeNights
設定を使用して、宿泊日数に応じて適用される割引の種類をカスタマイズします。
サンプル
このサンプルは、指定した範囲の予約期間に 7 泊ごとに 2 泊分の 20% 割引を追加する方法を示しています。15 泊の旅行プランで、合計 4 泊分の 20% 割引が適用されます。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-05T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-02-01" end="2022-06-30"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="7"
discount_nights="2"
discount_percentage="20"
night_selection="cheapest"
repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
シナリオ 2: デバイスの種類を設定する方法
devices
を設定して、プロモーションの対象となるユーザー デバイスを指定します。指定すると、リストされたデバイスのユーザーのみに割引料金が提供されます。
説明
プロモーションの対象となるユーザー デバイスのタイプを指定したい場合、
解決策
デバイスタイプを desktop
、tablet
、mobile
のうち 1 つ以上に設定します。
サンプル
次のサンプルは、モバイル ユーザーとタブレット ユーザーに 25% の割引を指定する方法を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="25"/>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
</Promotion>
</HotelPromotions>
</Promotions>
シナリオ 3: 古いプロモーションを新しいプロモーションに置き換える方法
説明
宿泊施設の現在のプロモーション セットが古くなっているか間違っているため、まったく新しいセットに置き換える必要がある。
解決策
プロモーションを置換するには overlay
アクションを使用します。
サンプル
次のサンプルでは、プロパティに対する元の 2 つの割引(20% と 30%)を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
<Promotion id="2">
<BookingDates>
<DateRange start="2022-08-01" end="2022-08-31"/>
</BookingDates>
<Discount percentage="30"/>
</Promotion>
</HotelPromotions>
</Promotions>
次に、このサンプルは、overlay
を使用して、既存の 2 つのプロモーションを、宿泊施設に対して 15% の割引が適用される 1 つのプロモーションに置き換える方法を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-25T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="15"/>
</Promotion>
</HotelPromotions>
</Promotions>
シナリオ 4: 1 つまたはすべてのプロモーションを削除する方法
説明
プロパティによって新しいプロモーションが設定されずにすべてのプロモーションが削除されたか、エラーによって修正が必要なため、1 つまたはすべてのプロモーションを(置換なしで)削除したい場合。
解決策
宿泊施設の特定の個々のプロモーションのみを削除する場合は delete
アクションを使用し、既存のプロモーションをすべて置き換えずに削除するには overlay
(delete
ではない)アクションを使用します。
overlay
を使用してプロモーションを置き換える方法について詳しくは、シナリオ 3 をご覧ください。
サンプル
次のサンプルは、宿泊施設のプロモーション 1 件のみを削除する方法を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
次の例は、宿泊施設の置き換えずにすべてのプロモーションを削除する方法を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
シナリオ 5: プロモーションを併用する方法
併用とは、プロモーションをどのように組み合わせるかを指定するものです。指定しない場合、type
は base
とみなされます。つまり、有効な基本プロモーションが最初に選択され、他のプロモーションよりも先に適用されます。Stacking
の type
属性が any
の場合は、他のプロモーションと組み合わせることができます。
説明
1 つの宿泊施設に対して同時に複数のプロモーションが使えるようにしたい場合。
解決策
複数の割引を併用して宿泊施設ごとに複数の割引を設定します。スタックに設定できる base
と second
は 1 つまでですが、any
の数は無制限です。any
は、none
以外の他のタイプと組み合わせることができます。
サンプル
このサンプルは、base
、second
、any
のスタック タイプをスタックする方法を示しています。15%、25%、10% の割引の組み合わせの場合、$100 の価格は合計で $57.38(100 × .85 × .75 × .9)となります。
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="25"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="40"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
併用プロモーション 1 ~ 3 を組み合わせた割引は、プロモーション 4 の割引よりも優れています。プロモーション 4 は、併用タイプ(none
)により他のプロモーションと併用できません。プロモーション 4 の割引率が 43% 以上の場合は、プロモーション 1 ~ 3 の組み合わせの代わりに使用されます。