料金ルールの XML ファイルでは、限定価格と非公開価格の配信ルールを定義します。料金ルールの XML ファイルを追加または編集するには、Hotel Center の [料金ルール] ページを使用します。限定価格と非公開レートについて詳しくは、限定価格と非公開レートをご覧ください。
各レートルールには id が必要です。これは、トランザクション メッセージの <Rate> で参照できます。料金ルール ID を参照する <Rate> は、料金ルールで定義されたユーザーと条件にのみ配信されます。レートルールの ID は、ランディング ページの URL の変数を使用して参照することもできます。
<RateRuleSettings>
料金ルール XML ファイルのルート要素。<RateRuleSettings>(以前の <PrivateRates>)要素には次の要素が含まれます。
- 限定価格と非公開レートで照合する条件を定義する - <UserRateCondition>要素。たとえば、特定の国のすべてのユーザーという条件に一致する限定価格を作成できます。
- Transaction メッセージの - <Rate>で参照する料金ルールをそれぞれ定義する- <RateRule>要素。各- <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 | 必須 | 文字列 | 
        料金ルールの固有識別子。この ID は、トランザクション メッセージの  最大 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>
Any、all、none
次の条件付きレートの例は、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"
オーディエンス リストのユーザーに対してのみメンバー料金を非表示にする
このメンバー限定料金の例では、exact タイプのメンバー限定料金の非表示 UI 処理を指定し、「無料 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 と表示される 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>