概要
プロモーション メッセージは、OTA_HotelRateAmountNotifRQ を使用して割引率のルールを定義します。料金ごとに、定義されたプロモーションが評価され、許可されている最大の割引が料金に適用されます。このメッセージ タイプは省略可能です。システムで料金割引を適用するためにプロモーションが使用されている場合にのみ、プロモーションを定義する必要があります。
プロモーションを組み合わせて、デバイスタイプ(モバイル、タブレット、パソコン)や国コードなどのさまざまなユーザー属性に適用できます。
プロモーションに関連するさまざまなシナリオの例については、ハウツーをご覧ください。
以降のセクションでは、プロモーションの追加と更新を開始するための一般的なガイドライン、基本的な例、ハウツー シナリオについて説明します。
ガイドライン
このセクションでは、プロモーションの設定に関する一般的なガイドラインと特別な手順について説明します。
プロモーションでは、次のガイドラインに従ってください。
操作
- 削除
<Promotion>要素のdeleteアクションを使用して、ID で単一のプロモーションを削除します。- オーバーレイ
<HotelPromotions>要素でoverlayアクションを使用して、プロパティのすべてのプロモーションを置き換えます。- Delta
- アクションが指定されていない場合、
<HotelPromotions>内で指定されたすべてのプロモーションが追加または置き換えられます。その ID のプロモーションが追加されたことがないか、削除された場合は、プロモーションが追加されます。その ID のプロモーションが存在する場合は、新しい定義で上書きされます。
全般
各宿泊施設には 1 つまたは複数のプロモーションを設定でき、各プロモーションには一連の条件が設定されています。このプロモーションは、条件が満たされた場合にのみ適用できます。
プロモーションは旅程の料金に適用されます。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> を使用して指定した HotelID と一致する必要があります。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 の場合、他のプロモーションと組み合わせることができます。
説明
ユーザーが同じプロパティに対して複数のプロモーションを同時に使用できるようにしたい。
解決策
スタッキングを使用すると、プロパティごとに複数の割引を設定できます。スタックには base と second をそれぞれ 1 つずつ含めることができますが、any は無制限に含めることができます。また、any は none 以外の他の型と組み合わせることができます。
サンプル
このサンプルは、base、second、any のスタッキング タイプを積み重ねる方法を示しています。割引率が 15%、25%、10% の場合、100 ドルの価格は合計で 57.38 ドル(100 × 0.85 × 0.75 × 0.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 の組み合わせの代わりにプロモーション 4 が使用されます。