Documentation de référence XML sur les règles d'offres

Le fichier XML de règles d'offres définit les règles de diffusion des tarifs sous conditions et des tarifs préférentiels. Vous pouvez ajouter ou modifier un fichier XML de règles d'offres sur la page Règles d'offres dans Hotel Center. Pour en savoir plus sur les tarifs sous conditions et les tarifs préférentiels, consultez la section Tarifs préférentiels et sous conditions.

Chaque règle d'offres nécessite un élément id, qui peut être référencé dans un élément <Rate> d'un message Transaction. Un élément <Rate> qui fait référence à un ID de règle d'offres n'est diffusé qu'auprès des utilisateurs et selon les conditions définies par la règle d'offres. Un ID de règle d'offres peut également être référencé à l'aide d'une variable dans une URL de page de destination.

<RateRuleSettings>

Élément racine du fichier XML de règles d'offres. L'élément <RateRuleSettings> (anciennement <PrivateRates>) contient:

  • Des éléments <UserRateCondition> qui définissent les conditions à mettre en correspondance pour les tarifs sous conditions et préférentiels. Par exemple, vous pouvez créer un tarif sous conditions qui correspond à la condition de tous les utilisateurs d'un pays donné.

  • Les éléments <RateRule> qui définissent chacun une règle d'offres pour référence dans un élément <Rate> d'un message Transaction. Chaque <RateRule> spécifie les conditions et le traitement dans l'interface utilisateur qui établissent un tarif sous conditions ou préférentiel.

L'élément <RateRuleSettings> apparaît à l'emplacement suivant dans la hiérarchie XML des règles d'offres:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Syntaxe

L'élément <RateRuleSettings> utilise la syntaxe suivante :

<?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>

Attributs

L'élément <RateRuleSettings> ne comporte aucun attribut.

Éléments enfants

L'élément <RateRuleSettings> comporte les éléments enfants suivants :

Élément enfant Requis ? Type Description
<RateRule> Required <RateRule>

Définit les conditions de correspondance, les modifications et l'éligibilité à la diffusion d'un tarif sous conditions ou préférentiel. Nécessite un attribut id, qui peut être référencé dans un élément <Rate> d'un message Transaction ou dans une URL de page de destination.

<UserRateCondition> Optional <UserRateCondition>

Définit une ou plusieurs conditions qui, lorsqu'elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

Les conditions peuvent être définies de manière intégrée à l'aide d'éléments enfants <UserRateCondition>, en faisant référence à un autre élément <UserRateCondition> à l'aide de l'attribut reference_id, ou les deux à la fois. Cependant, toute <UserRateCondition> avec un reference_id ne doit avoir aucun enfant.

Un élément <UserRateCondition> de premier niveau sous <RateRuleSettings> doit avoir un attribut id.

Exemples de tarifs sous conditions

Les exemples suivants présentent des méthodes de base pour définir des tarifs sous conditions.

Nous vous recommandons de consulter les conditions prédéfinies, comme indiqué dans l'exemple Utilisateurs de mobiles.

Mobinautes

L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les mobinautes en référençant un <UserRateCondition> prédéfini:

<?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>

Utilisateurs aux États-Unis

L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les utilisateurs effectuant des recherches aux États-Unis en référençant un <UserRateCondition> prédéfini:

<?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>

Conteneur permettant de spécifier:

  • Conditions de diffusion d'un tarif
  • Modifications, le cas échéant, du prix et du traitement dans l'interface utilisateur pour le tarif
  • Utilisation de traitements masqués dans l'interface utilisateur pour les tarifs préférentiels

L'élément <RateRule> apparaît à l'emplacement suivant dans la hiérarchie XML des règles d'offres:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Syntaxe

L'élément <RateRule> utilise la syntaxe suivante :

<?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>

Attributs

L'élément <RateRule> comporte les attributs suivants :

Attribute Requis ? Type Description
id Obligatoire chaîne

Identifiant unique de la règle d'offres. Cet identifiant est référencé à l'aide de l'attribut rate_rule_id d'un élément <Rate> dans un message Transaction pour diffuser un tarif préférentiel ou sous conditions. La règle d'offres id peut également être référencée à l'aide d'une variable et de conditions dans une URL de page de destination.

Le nombre maximal de caractères autorisés est de 40.

Éléments enfants

L'élément <RateRule> comporte les éléments enfants suivants :

Élément enfant Requis ? Type Description
<RateIneligibility> Optional <RateIneligibility> Spécifie les valeurs qui déterminent le traitement spécifique dans l'interface utilisateur pour un tarif <MembershipProgram>.

N'est valide que lorsque <MembershipProgram> est spécifié dans <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

Définit une ou plusieurs conditions qui, lorsqu'elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

Les conditions peuvent être définies de manière intégrée à l'aide d'éléments enfants <UserRateCondition>, en faisant référence à un autre <UserRateCondition> à l'aide de l'attribut reference_id, ou les deux à la fois.

Notez toutefois que lorsqu'un élément <UserRateCondition> est un enfant de <RateRule>, l'élément <UserRateCondition> ne peut pas avoir d'attribut id ni être référencé par un autre élément <UserRateCondition>.

<RateModification> Optional <RateModification> Modifie le traitement dans l'interface utilisateur pour les tarifs préférentiels.
<PromoCode> Optional string Spécifie un code à associer au tarif si cette règle d'offres est appliquée. Cela se reflète dans la variable de page de destination PROMO-CODE.

<UserRateCondition>

Définit une ou plusieurs conditions qui, lorsqu'elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

L'élément <UserRateCondition> apparaît à l'emplacement suivant dans la hiérarchie XML des règles d'offres:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Syntaxe

L'élément <UserRateCondition> utilise la syntaxe suivante :

<?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>

Attributs

L'élément <UserRateCondition> comporte les attributs suivants :

Attribute Requis ? Type Description
id Required (if top-level under <RateRuleSettings>) string

Identifiant unique de ce <UserRateCondition>. Peut être référencé par un attribut id <RateRule> ou par un attribut <UserRateCondition> reference_id.

op Optional enum

L'attribut op est obligatoire lorsque <UserRateCondition> comporte plusieurs éléments enfants. La valeur de l'attribut peut être l'une des suivantes:

  • all: inclure les utilisateurs finaux qui correspondent à toutes les conditions définies par cette règle d'offres. Cette valeur ne peut pas être utilisée lorsque l'une des conditions est <UserListId>, sauf si une seule autre condition (<AlwaysEligibleMembershipProgram> ou <MembershipProgram>) est définie.
  • any: inclure les utilisateurs finaux qui correspondent à l'une des conditions définies par cette règle d'offres.
  • none: exclut les utilisateurs finaux qui correspondent à l'une des conditions définies par cette règle d'offres. Cette valeur ne peut pas être utilisée lorsque l'une des conditions est <UserListId>.
reference_id Optional string

Définit cet élément comme référence à un autre <UserRateCondition> prédéfini avec un id correspondant.

Lorsque reference_id est présent:

  • Les éléments enfants ne sont pas analysés.
  • id et op ne doivent pas être présents

Éléments enfants

L'élément <UserRateCondition> comporte les éléments enfants suivants :

Élément enfant Requis ? Type Description
<AlwaysEligibleMembershipProgram> Optional string

Indique que le tarif applique le traitement visible dans l'interface utilisateur.

La valeur de cet élément peut être n'importe quel nom de programme d'adhésion.

<Description> Optional string Décrit l'élément <UserRateCondition>. Ceci est valable à des fins de documentation et n'a aucune incidence sur ses capacités.
<LanguageCode> Optional string Indique que le tarif est proposé aux utilisateurs dont la langue correspond à ce code de langue à deux lettres.
<MaxUsersPercent> Optional float

Indique que le tarif est proposé de manière aléatoire à ce pourcentage d'utilisateurs finaux.

La valeur doit être un nombre entier compris entre 0 et 100 (inclus). Par exemple, 20 ciblera 20% des utilisateurs finaux.

<MembershipProgram> Optional string

Indique que le tarif applique un traitement dans l'interface utilisateur d'un programme d'adhésion tel que déterminé par le <IneligibilityReason> de <RateIneligibility>.

Pour que <MembershipProgram> soit valide, <RateIneligibility> doit être spécifié.

La valeur de <MembershipProgram> peut être n'importe quel nom de programme d'adhésion.

<UserRateCondition> Optional <UserRateCondition>

Définit une ou plusieurs conditions qui, lorsqu'elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

Un élément <UserRateCondition> avec un élément reference_id ne doit avoir aucun enfant.

<UserCountry> Optional string

Un code pays CLDR, tel que DE ou FR. Notez que, pour certains pays, le code CLDR est différent du code ISO à deux lettres. Les codes de région CLDR ne sont pas acceptés.

Indique que l'utilisateur doit se trouver dans le pays spécifié. Google détermine le pays de l'utilisateur final à partir de son adresse IP.

<UserDeviceType> Optional enum Définit la condition du type d'appareil. Les valeurs autorisées sont les suivantes :
  • mobile
  • desktop
  • tablet
<UserListId> Optional string ID de la liste d'utilisateurs Google Ads d'une liste d'audience.

Cette condition ne peut être utilisée qu'avec <AlwaysEligibleMembershipProgram> ou <MembershipProgram>, ou lorsque op est défini sur any.

<UserSignedIn> Optional boolean Valeur booléenne indiquant si l'utilisateur doit être connecté ou non à son compte Google. La valeur true indique que l'utilisateur doit être connecté. La valeur false indique que l'utilisateur ne doit pas être connecté. Si le fait que l'utilisateur soit connecté ou déconnecté n'a pas d'importance, n'incluez pas de condition <UserSignedIn>.
<IsDomestic> Optional boolean Valeur booléenne indiquant si l'utilisateur doit se trouver dans le pays où se trouve l'hôtel. La valeur true indique que l'utilisateur doit se trouver dans le même pays que l'hôtel. La valeur false indique que l'utilisateur peut se trouver dans un pays autre que celui de l'hôtel. Si vous souhaitez un contrôle plus précis, utilisez la condition <UserCountry>.

Exemples de tarifs sous conditions

Pourcentage d'utilisateurs

L'exemple de tarif sous conditions suivant indique que le tarif est proposé de manière aléatoire à 20 % des utilisateurs:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="20_percent_users">
    <UserRateCondition>
      <MaxUsersPercent>20</MaxUsersPercent>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Utilisateurs de mobiles au Royaume-Uni

L'exemple de tarifs sous conditions suivant définit une règle d'offres qui met en correspondance tous les utilisateurs effectuant des recherches au Royaume-Uni avec un appareil mobile à l'aide d'un <UserRateCondition> intégré:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="gb_mobile">
    <UserRateCondition op="all">
      <UserCountry>GB</UserCountry>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

au Japon et non au Japon

L'exemple de tarif sous conditions suivant présente une règle d'offre qui correspond aux utilisateurs au Japon et une autre règle d'offres qui correspond aux utilisateurs dans le reste du monde :

<?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>

Toutes, "Toutes" et "Aucune"

L'exemple de tarif sous conditions suivant montre comment utiliser l'attribut op pour établir une correspondance avec plusieurs conditions de différentes manières à l'aide des valeurs any, all et none. Par exemple, comme indiqué dans la condition au_nz, vous pouvez en utiliser une pour mettre en correspondance les utilisateurs de n'importe lequel des pays. Comme indiqué dans la règle d'offres au_nz_mobile_tablet, vous pouvez utiliser all pour exiger que les utilisateurs répondent à plusieurs conditions. La règle d'offres row_mobile_tablet correspond aux utilisateurs situés dans le reste du monde (à l'exception de l'Australie et de la Nouvelle-Zélande), et qui correspondent également à la condition 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>

Exemples de tarifs préférentiels

Tarif pour les membres visible 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="member_visible">
    <UserRateCondition>
      <AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Tarif pour les membres visible 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>

Tarif pour liste d'audience 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="audience_list">
    <UserRateCondition>
      <UserListId>[enter an audience list id]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Tarif pour liste d'audience 2

Cet exemple de tarif préférentiel montre comment spécifier le traitement visible dans l'interface utilisateur d'un tarif pour les membres pour plusieurs listes d'audience:

<?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>

Indique comment afficher le traitement masqué dans l'interface utilisateur pour le tarif pour les membres. S'il n'est pas inclus, le traitement masqué dans l'interface utilisateur du tarif pour les membres ne s'affiche pas.

Pour utiliser <RateIneligibility> dans un <RateRule>, <MembershipProgram> doit également être spécifié dans un élément <UserRateCondition> pour <RateRule>.

L'élément <RateIneligibility> apparaît à l'emplacement suivant dans la hiérarchie XML des règles d'offres:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Syntaxe

L'élément <RateIneligibility> utilise la syntaxe suivante :

<?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>

Attributs

L'élément <RateIneligibility> ne comporte aucun attribut.

Éléments enfants

L'élément <RateIneligibility> comporte les éléments enfants suivants :

Élément enfant Requis ? Type Description
<IneligibilityType> Required enum

Définit la manière dont le texte (affiché à côté du tarif barré) décrit le tarif masqué.

Les valeurs possibles sont les suivantes :

  • exact: pourcentage de remise Le message "Obtenez X% de réduction en vous inscrivant sans frais" s'affiche.
  • price_band: plage de remise. Le message "Inscrivez-vous sans frais pour profiter d'une remise de X à Y %" s'affiche. Pour les remises allant de 1 à 5%, le message "Obtenez jusqu'à 5% de remise" s'affiche. Les remises plus importantes sont affichées par tranches de cinq points, par exemple "Obtenez entre 5 et 10% de remise" ou "Bénéficiez de 10 à 15 % de remise".
  • existence: indice non spécifique. Dans ce cas, le message "Inscrivez-vous sans frais pour bénéficier de tarifs réduits" s'affiche.

Pour en savoir plus sur les traitements dans l'interface utilisateur, consultez la section Tarifs préférentiels : informations et exemples.

<IneligibilityReason> Required enum

Les valeurs possibles sont les suivantes :

  • program_member: affiche le tarif en utilisant le traitement masqué dans l'interface utilisateur de tarif pour les membres.

Exemples de tarifs préférentiels

Cette section contient des exemples masqués de tarif pour les membres (de base) et de tarif pour les membres masqués (plusieurs conditions). Vous pouvez également présenter vos tarifs pour les membres à des sous-ensembles d'utilisateurs. Pour obtenir des exemples, consultez les exemples de tarifs préférentiels.

Exemples masqués de tarif pour les membres (de base)

Remise exacte

<?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>

Remise sur tranche

<?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>

Remise d'indice

<?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>

Exemples masqués de tarif pour les membres (plusieurs conditions)

op="any"

Tarif de liste d'audience pour les membres + tarif pour les membres masqué (remise existence) pour les non-membres

Cet exemple de tarif préférentiel spécifie le type existence de traitement masqué dans l'interface utilisateur de tarif pour les membres, qui sera présenté aux utilisateurs et non à la liste d'audience. Les utilisateurs de la liste d'audience verront le tarif d'audience.

<?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"

Tarif pour les membres masqué uniquement pour les utilisateurs de la liste d'audience

Cet exemple de tarif préférentiel spécifie le type exact de traitement masqué dans l'interface utilisateur de tarif pour les membres, modifié par le texte supplémentaire "plus Wi-Fi gratuit". Ce traitement dans l'interface utilisateur sera présenté aux utilisateurs qui correspondent à la liste d'audience.

<?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 transparente/visible

Cet exemple montre comment spécifier un tarif pour les membres avec deux traitements dans l'interface utilisateur (interface utilisateur transparente et visible) pour les utilisateurs de la liste d'audience et des tarifs masqués pour tous les autres utilisateurs.

<?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>

Modifie le traitement dans l'interface utilisateur pour les tarifs préférentiels.

L'élément <RateModification> apparaît à l'emplacement suivant dans la hiérarchie XML des règles d'offres:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Attributs

L'élément <RateModification> ne comporte aucun attribut.

Éléments enfants

L'élément <RateModification> comporte les éléments enfants suivants :

Élément enfant Requis ? Type Description
<HotelAmenity> Optional enum

Combinez-le avec <MembershipProgram> et <RateIneligibility> pour modifier le traitement masqué dans l'interface utilisateur pour le tarif pour les membres.

Les valeurs possibles sont les suivantes :

  • free_wifi: ajoute plus free wifi au texte.
<PriceMultiplier> Optional float

Modifie le prix en multipliant cette valeur par le tarif de base, les taxes et les frais. Par exemple, si PriceMultiplier = 0,9, tarif de base = 100 $, taxes = 20 $, frais = 10 $ ; après application du multiplicateur: tarif de base = 90 $, taxes = 18 $, frais = 9 $.

Cela vous permet d'appliquer une remise à tous les tarifs associés à une règle d'offres spécifique.

Exemples de tarifs préférentiels

Services de l'hôtel

Tarif pour les membres masqué pour tous les utilisateurs (remises sur la bande) + Wi-Fi gratuit

<?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>

Multiplicateur de prix

Appliquer une remise de 5% aux tarifs sur mobile dans le flux des prix

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="mobile">
    <RateModification>
      <PriceMultiplier>0.95</PriceMultiplier>
    </RateModification>
    <UserRateCondition>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>