料金ルール XML ファイルでは、限定価格と非公開レートを配信するためのルールを定義します。料金ルール XML ファイルの追加または編集は、Hotel Center の [料金ルール] ページで行えます。限定価格と非公開レートの詳細については、限定価格と非公開レートをご覧ください。
各料金ルールには id
が必要です。これは、Transaction メッセージの <Rate>
で参照できます。料金ルール ID を参照する <Rate>
は、料金ルールで定義された条件に基づいてユーザーにのみ配信されます。料金ルール ID は、ランディング ページ URL の変数を使用して参照することもできます。
<RateRuleSettings>
料金ルール XML ファイルのルート要素。<RateRuleSettings>
(旧 <PrivateRates>
)要素には次のものが含まれます。
限定価格と非公開レートで照合する条件を定義する
<UserRateCondition>
要素です。たとえば、特定の国のすべてのユーザーの条件と一致する限定価格を作成できます。<RateRule>
要素。これらはそれぞれ、Transaction メッセージの<Rate>
で参照される料金ルールを定義します。各<RateRule>
では、限定価格または非公開レートを構成する条件と UI の処理を指定します。
<RateRuleSettings>
要素は、料金ルールの XML 階層の次の場所に表示されます。
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
構文
<RateRuleSettings>
要素の構文は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<UserRateCondition id="some_id" op="[all|any|none]">
...
</UserRateCondition>
<!-- Required -->
<RateRule id="rate_rule_id">
<!-- Required -->
<UserRateCondition op="[all|any|none]">
...
</UserRateCondition>
</RateRule>
</RateRuleSettings>
属性
<RateRuleSettings>
要素に属性はありません。
子要素
<RateRuleSettings>
要素には次の子要素があります。
子要素 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
<RateRule> |
Required | <RateRule> |
限定価格または非公開レートを提供するための一致条件、変更、適格性を定義します。 |
<UserRateCondition> |
Optional | <UserRateCondition> |
一致した場合に限定価格または非公開レートが提供される 1 つ以上の条件を定義します。 条件は、
|
限定価格の例
次の例は、限定価格を定義する基本的な方法を示しています。
モバイル ユーザーの例に示すように、事前定義された条件を参照することをおすすめします。
モバイル ユーザー
次の限定価格の例では、事前定義された <UserRateCondition>
を参照して、すべてのモバイル ユーザーに一致する料金ルールを定義しています。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<UserRateCondition id="mobile">
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
<RateRule id="mobile">
<!-- Referencing pre-defined conditions is recommended -->
<UserRateCondition reference_id="mobile"/>
</RateRule>
</RateRuleSettings>
米国のユーザー
次の限定価格の例では、事前定義された <UserRateCondition>
を参照して、米国で検索を行うすべてのユーザーに一致する料金ルールを定義しています。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<UserRateCondition id="us">
<UserCountry>US</UserCountry>
</UserRateCondition>
<RateRule id="us">
<UserRateCondition reference_id="us"/>
</RateRule>
</RateRuleSettings>
<RateRule>
次の項目を指定するためのコンテナ。
- 料金を表示する条件
- 料金と料金の UI 処理の変更(ある場合)
- 非公開レートの非表示 UI 処理の使用
<RateRule>
要素は、料金ルールの XML 階層の次の場所に表示されます。
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
構文
<RateRule>
要素の構文は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
<UserRateCondition ...>
...
</UserRateCondition>
<!-- At least one RateRule is required. The id attribute is required -->
<RateRule id="rate_rule_id">
<!-- One or more UserRateCondition elements (inline or referenced) are required. -->
<UserRateCondition op="[all|any|none]"> // Inline example
<Description>user_rate_condition_description</Description>
<!-- Uses the member rate visible UI treatment -->
<AlwaysEligibleMembershipProgram>program_name</AlwaysEligibleMembershipProgram>
<LanguageCode>language_code</LanguageCode>
<MaxUsersPercent>20</MaxUsersPercent> // 20% of users
<!-- Requires <RateIneligibility> -->
<MembershipProgram>program_name</MembershipProgram>
<UserRateCondition reference_id="user_rate_condition_id"/>
<UserCountry>country_code</UserCountry>
<UserDeviceType>[mobile|desktop|tablet]</UserDeviceType>
<UserListId>id</UserListId>
<UserSignedIn>[true|false]</UserSignedIn>
<IsDomestic>[true|false]</IsDomestic>
</UserRateCondition>
<RateIneligibility>
<IneligibilityType>[exact|price_band|existence]</IneligibilityType>
<IneligibilityReason>[program_member]</IneligibilityReason>
</RateIneligibility>
<RateModification>
<HotelAmenity>[free_wifi]</HotelAmenity>
</RateModification>
</RateRule>
</RateRuleSettings>
属性
<RateRule>
要素には次の属性があります。
属性 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
id |
必須 | string |
料金ルールの一意の識別子。この ID は、限定価格または非公開レートを提供するため、Transaction メッセージの 最大文字数は 40 文字です。 |
子要素
<RateRule>
要素には次の子要素があります。
子要素 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
<RateIneligibility> |
Optional | <RateIneligibility> |
<MembershipProgram> レートに対する特定の UI 処理を決定する値を指定します。
|
<UserRateCondition> |
Required | <UserRateCondition> |
一致した場合に限定価格または非公開レートが提供される 1 つ以上の条件を定義します。 条件は、 ただし、 |
<RateModification> |
Optional | <RateModification> |
非公開レートの UI の処理方法を変更しました。 |
<PromoCode> |
Optional | string | この料金ルールが適用される場合に料金に関連付けるコードを指定します。PROMO-CODE ランディング ページ変数に反映されます。 |
<UserRateCondition>
一致した場合に限定価格または非公開レートが提供される 1 つ以上の条件を定義します。
<UserRateCondition>
要素は、料金ルールの XML 階層の次の場所にあります。
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
構文
<UserRateCondition>
要素の構文は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
<!-- "op" is required for more than one child element -->
<UserRateCondition id="some_id" op="[all|any|none]">
<UserDeviceType>device_type</UserDeviceType>
</UserRateCondition>
<UserRateCondition id="some_other_id" op="[all|any|none]">
<UserDeviceType>device_type</UserDeviceType>
</UserRateCondition>
<!-- At least one RateRule is required -->
<RateRule id="rate_rule_id">
<UserRateCondition reference id="some_id"/>
</RateRule>
<RateRule id="rate_rule_id">
<UserRateCondition reference id="some_other_id"/>
</RateRule>
<RateRule id="rate_rule_id">
<UserRateCondition>
<UserDeviceType>device_type</UserDeviceType>
</UserRateCondition>
</RateRule>
<span class="nocode"></RateRuleSettings></span>
属性
<UserRateCondition>
要素には次の属性があります。
属性 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
id |
Required (if top-level under
<RateRuleSettings> ) |
string |
この |
op |
Optional | enum |
|
reference_id |
Optional | string |
この要素を、一致する
|
子要素
<UserRateCondition>
要素には次の子要素があります。
子要素 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
<AlwaysEligibleMembershipProgram> |
Optional | string | メンバー料金の表示 UI 処理が料金で使用されることを指定します。 この要素の値には、任意のメンバーシップ プログラム名を指定できます。 |
<Description> |
Optional | string | <UserRateCondition> を記述します。これは文書化を目的としており、その機能には影響しません。 |
<LanguageCode> |
Optional | string | この 2 文字の 言語コードの言語と一致するユーザーに料金が適用されることを指定します。 |
<MaxUsersPercent> |
Optional | float | この割合のエンドユーザーに料金をランダムに提供することを指定します。 値は 0 ~ 100 の整数にする必要があります。たとえば、20 に設定すると、エンドユーザーの 20% がターゲットになります。 |
<MembershipProgram> |
Optional | string |
|
<UserRateCondition> |
Optional | <UserRateCondition> |
一致した場合に限定価格または非公開レートが提供される 1 つ以上の条件を定義します。
|
<UserCountry> |
Optional | string | CLDR 国コード( ユーザーが指定した国に居住する必要があることを指定します。 Google はエンドユーザーの国を IP アドレスから判断します。 |
<UserDeviceType> |
Optional | enum | デバイスタイプの条件を定義します。使用できる値は次のとおりです。
|
<UserListId> |
Optional | string | オーディエンス リストの Google 広告ユーザーリスト ID。
この条件は、 |
<UserSignedIn> |
Optional | boolean | ユーザーが Google アカウントにログインする必要があるかどうかを指定するブール値。値 true は、ユーザーがログインする必要があることを示します。値 false は、ユーザーがログインできないことを示します。ユーザーのログインかログアウトかに関係なく、<UserSignedIn> 条件は含めないでください。 |
<IsDomestic> |
Optional | boolean | ユーザーがホテルがある国と同じ国に居住している必要があるかどうかを指定するブール値。値 true は、ユーザーがホテルと同じ国に居住している必要があることを示します。値 false は、ユーザーがホテルがある国以外の国にいる可能性があることを示します。より細かく制御する場合は、<UserCountry> 条件を使用します。 |
限定価格の例
ユーザーの割合
次の限定価格の例では、20% のユーザーに料金がランダムに提供されることを指定します。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="20_percent_users">
<UserRateCondition>
<MaxUsersPercent>20</MaxUsersPercent>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
英国とモバイル ユーザー
次の限定価格の例では、インライン <UserRateCondition>
を使用して、モバイル デバイスで英国で検索を行うすべてのユーザーに一致する料金ルールを定義しています。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="gb_mobile">
<UserRateCondition op="all">
<UserCountry>GB</UserCountry>
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
日本ではなく日本
次の限定価格の例は、日本のユーザーに一致する 1 つの料金ルールと、その他の地域(RoW)のユーザーに一致する別の料金ルールを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="jp">
<UserRateCondition>
<UserCountry>jp</UserCountry>
</UserRateCondition>
</RateRule>
<RateRule id="row_not_jp">
<UserRateCondition op="none">
<UserCountry>jp</UserCountry>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
指定なし、すべて指定、なし
次の限定価格の例は、op
属性で、値 any
、all
、none
を使用して複数の条件を異なる方法で照合する方法を示しています。たとえば、au_nz
条件に示すように、any を使用して複数の国のいずれかのユーザーと照合できます。au_nz_mobile_tablet
料金ルールに示すように、all
を使用して、ユーザーが複数の条件を満たすことを必須にできます。row_mobile_tablet
の料金ルールは、オーストラリアとニュージーランドを除くその他の地域(行)に居住し、mobile_tablet
条件にも一致するユーザーに一致します。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<UserRateCondition id="au_nz" op="any">
<UserCountry>AU</UserCountry>
<UserCountry>NZ</UserCountry>
</UserRateCondition>
<UserRateCondition id="mobile_tablet" op="any">
<UserDeviceType>mobile</UserDeviceType>
<UserDeviceType>tablet</UserDeviceType>
</UserRateCondition>
<RateRule id="au_nz_mobile_tablet">
<UserRateCondition op="all">
<UserRateCondition reference_id="au_nz"/>
<UserRateCondition reference_id="mobile_tablet"/>
</UserRateCondition>
</RateRule>
<RateRule id="row_mobile_tablet">
<UserRateCondition op="all">
<UserRateCondition op="none">
<UserRateCondition reference_id="au_nz"/>
</UserRateCondition>
<UserRateCondition reference_id="mobile_tablet"/>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
非公開レートの例
メンバー料金の表示 1
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="member_visible">
<UserRateCondition>
<AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
メンバー料金の表示 2
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="member_visible_es_only">
<UserRateCondition op="all">
<AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
<UserCountry>es</UserCountry>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
オーディエンス リスト率 1
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="audience_list">
<UserRateCondition>
<UserListId>[enter an audience list id]</UserListId>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
オーディエンス リスト率 2
次の非公開レートの例は、複数のオーディエンス リストに対してメンバー料金の表示 UI 処理を指定する方法を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<UserRateCondition op="all">
<AlwaysEligibleMembershipProgram>[enter the program name here]</AlwaysEligibleMembershipProgram>
<UserRateCondition op="any">
<UserListId>[enter one audience list id here]</UserListId>
<UserListId>[enter another audience list id here]</UserListId>
</UserRateCondition>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
<RateIneligibility>
メンバー料金の非表示 UI 処理を表示する方法を示します。含めない場合、メンバー料金の非表示 UI 処理は表示されません。
<RateRule>
で <RateIneligibility>
を使用するには、<RateRule>
の <UserRateCondition>
要素に <MembershipProgram>
も指定する必要があります。
<RateIneligibility>
要素は、料金ルールの XML 階層の次の場所に表示されます。
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
構文
<RateIneligibility>
要素の構文は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
<UserRateCondition ...>
...
</UserRateCondition>
<RateRule ...>
<UserRateCondition ...>
...
<!-- Required when using RateIneligibility -->
<MembershipProgram>program_name</MembershipProgram>
...
</UserRateCondition>
<RateIneligibility>
<IneligibilityType>[exact|price_band|existence]</IneligibilityType>
<IneligibilityReason>[program_member]</IneligibilityReason>
</RateIneligibility>
</RateRule>
</RateRuleSettings>
属性
<RateIneligibility>
要素に属性はありません。
子要素
<RateIneligibility>
要素には次の子要素があります。
子要素 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
<IneligibilityType> |
Required | enum | 非表示レートを説明するテキスト(値に取り消し線が引かれた率の横に表示される)を定義します。 指定できる値は次のとおりです。
UI の処理について詳しくは、非公開レートの詳細と例をご覧ください。 |
<IneligibilityReason> |
Required | enum | 指定できる値は次のとおりです。
|
非公開レートの例
このセクションでは、メンバーレートの非表示の例(基本)とメンバーレートの非表示の例(複数の条件)について説明します。ユーザーのサブセットにメンバー料金を表示することもできます。例については、非公開レートの例をご覧ください。
メンバー料金の非表示の例(基本)
正確な割引
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>exact</IneligibilityType>
</RateIneligibility>
<UserRateCondition>
<MembershipProgram>[enter program name here]</MembershipProgram>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
バンドの割引
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>price_band</IneligibilityType>
</RateIneligibility>
<UserRateCondition>
<MembershipProgram>[enter program name here]</MembershipProgram>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
ヒントの割引
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>existence</IneligibilityType>
</RateIneligibility>
<UserRateCondition>
<MembershipProgram>[enter program name here]</MembershipProgram>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
メンバー料金の非表示の例(複数の条件)
op="any"
メンバー向けオーディエンス リスト料金 + メンバー以外の非表示のメンバー料金(存在割引)
この非公開レートの例では、existence
タイプのメンバー料金の非表示 UI 処理を指定しています。これは、オーディエンス リストではなくユーザーに表示されます。オーディエンス リストのユーザーには、オーディエンス率が表示されます。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>existence</IneligibilityType>
</RateIneligibility>
<UserRateCondition op="any">
<MembershipProgram>[enter program name here]</MembershipProgram>
<UserListId>[enter you audience list id here]</UserListId>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
op="all"
メンバー料金を非表示にする(オーディエンス リストのユーザーのみ)
この非公開レートの例では、メンバー料金の非表示 UI 処理の exact
タイプを指定しています。「+ 無料 Wi-Fi」というテキストが追加されています。この UI 処理は、オーディエンス リストに一致するユーザーに表示されます。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program_for_audience_list">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>exact</IneligibilityType>
</RateIneligibility>
<RateModification>
<HotelAmenity>free_wifi</HotelAmenity>
</RateModification>
<UserRateCondition op="all">
<MembershipProgram>[enter program name here]</MembershipProgram>
<UserListId>[enter you audience list id here]</UserListId>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
透明/表示 UI
この例では、オーディエンス リスト内のユーザーに対しては 2 種類の UI 処理(透明と表示される UI)でメンバー料金を指定し、それ以外のユーザーには非表示の料金を指定します。
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>existence</IneligibilityType>
</RateIneligibility>
<UserRateCondition op="any">
<MembershipProgram>[enter program name here]</MembershipProgram>
<UserRateCondition op="all">
<UserListId>[enter you audience list id here]</UserListId>
<AlwaysEligibleMembershipProgram>program_name</AlwaysEligibleMembershipProgram>
</UserRateCondition>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
<RateModification>
非公開レートの UI の処理方法を変更しました。
<RateModification>
要素は、料金ルールの XML 階層の次の場所にあります。
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
属性
<RateModification>
要素に属性はありません。
子要素
<RateModification>
要素には次の子要素があります。
子要素 | 必須かどうか | タイプ | 説明 |
---|---|---|---|
<HotelAmenity> |
Optional | enum |
指定できる値は次のとおりです。
|
<PriceMultiplier> |
Optional | float | この値に基本料金、税金、手数料を掛けて価格を変更します。たとえば、 これにより、特定の料金ルールを持つすべての料金に割引を適用できます。 |
非公開レートの例
ホテルの設備情報
全ユーザーを対象にメンバー料金非表示(バンド割引)+ 無料 Wi-Fi
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>price_band</IneligibilityType>
</RateIneligibility>
<RateModification>
<HotelAmenity>free_wifi</HotelAmenity>
</RateModification>
<UserRateCondition>
<MembershipProgram>[enter program name here]</MembershipProgram>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
料金の乗数
料金フィードのモバイル料金に 5% の割引を適用する
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="mobile">
<RateModification>
<PriceMultiplier>0.95</PriceMultiplier>
</RateModification>
<UserRateCondition>
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
</RateRule>
</RateRuleSettings>