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 page 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 ce qui suit:

  • Éléments <UserRateCondition> qui définissent les conditions à remplir pour diffuser les tarifs préférentiels et sous conditions. Par exemple, vous pouvez créer un tarif sous conditions qui correspond à la condition associée à tous les utilisateurs d'un pays spécifique.

  • 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 élément <RateRule> spécifie les conditions et le traitement dans l'interface utilisateur qui établissent un tarif préférentiel ou sous conditions.

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 Obligatoire ? Type Description
<RateRule> Required <RateRule>

Définit les conditions de correspondance, les modifications et l'éligibilité pour 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, si elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

Les conditions peuvent être intégrées à l'aide d'éléments enfants <UserRateCondition>, définies par référence à un autre élément <UserRateCondition> à l'aide de l'attribut reference_id, ou les deux à la fois. Cependant, un élément <UserRateCondition> avec un attribut reference_id ne doit posséder aucun enfant.

Un élément <UserRateCondition> de niveau supérieur sous <RateRuleSettings> doit comporter un attribut id.

Exemples de tarifs sous conditions

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

Il est recommandé de faire référence à des conditions prédéfinies, comme illustré dans l'exemple Utilisateurs de mobiles.

L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les utilisateurs de mobiles en faisant référence à un élément <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>

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 élément <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 les éléments suivants:

  • Conditions de diffusion d'un tarif
  • Modifications qui s'appliquent au prix et au traitement dans l'interface utilisateur pour le tarif, le cas échéant
  • 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 :

Attribut Obligatoire ? 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 Obligatoire ? Type Description
<RateIneligibility> Optional <RateIneligibility> Spécifie les valeurs qui déterminent le traitement spécifique dans l'interface utilisateur pour un tarif <MembershipProgram>.

Valide uniquement lorsque l'élément <MembershipProgram> est spécifié dans <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

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

Les conditions peuvent être intégrées à l'aide d'éléments enfants <UserRateCondition>, définies par référence à un autre élément <UserRateCondition> à l'aide de l'attribut reference_id, ou les deux à la fois.

Notez cependant que lorsqu'un élément <UserRateCondition> est un enfant de <RateRule>, l'élément <UserRateCondition> ne peut pas comporter 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 Indique le code à associer au tarif si cette règle d'offres est appliquée. Se reflète dans la variable de page de destination PROMO-CODE.

<UserRateCondition>

Définit une ou plusieurs conditions qui, si 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 :

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

Identifiant unique de cet élément <UserRateCondition>. Il peut être référencé par un attribut id <RateRule> ou par un attribut reference_id <UserRateCondition>.

op Optional enum

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

  • all: inclut les utilisateurs finaux qui répondent à 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 définie sur <UserListId>, sauf si une seule autre condition (<AlwaysEligibleMembershipProgram> ou <MembershipProgram>) est définie.
  • any: inclut les utilisateurs finaux qui répondent à l'une des conditions définies par cette règle d'offres.
  • none: exclut les utilisateurs finaux qui répondent à l'une des conditions définies par cette règle d'offres. Cette valeur ne peut pas être utilisée lorsqu'une des conditions est définie sur <UserListId>.
reference_id Optional string

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

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 Obligatoire ? Type Description
<AlwaysEligibleMembershipProgram> Optional string

Indique que le tarif applique le traitement visible dans l'interface utilisateur comme tarif pour les membres.

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>. Fourni à titre indicatif, sans effet sur ses fonctionnalité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

Spécifie que le tarif est proposé au hasard à ce pourcentage d'utilisateurs finaux.

Cette valeur doit être un entier compris entre 0 et 100 (inclus). Par exemple, la valeur 20 cible 20% des utilisateurs finaux.

<MembershipProgram> Optional string

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

Pour que l'élément <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, si elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

Un élément <UserRateCondition> avec un attribut reference_id ne doit posséder aucun enfant.

<UserCountry> Optional string

Code pays CLDR, tel que DE ou FR. Notez que, pour certains pays, ce code 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 de 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 any.

<UserSignedIn> Optional boolean Valeur booléenne indiquant si l'utilisateur doit être connecté à son compte Google ou non. La valeur true indique que l'utilisateur doit être connecté. La valeur false indique que l'utilisateur ne doit pas être connecté. Si l'état de connexion de l'utilisateur ne vous importe pas, n'incluez pas de condition <UserSignedIn>.
<IsDomestic> Optional boolean Valeur booléenne indiquant si l'utilisateur doit se trouver dans le pays de 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 le pays de l'hôtel. Si vous souhaitez un contrôle plus précis, utilisez la condition <UserCountry>.

Exemples de tarifs sous conditions

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>

L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les utilisateurs effectuant des recherches au Royaume-Uni avec un appareil mobile à l'aide d'un élément <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>

L'exemple de tarif sous conditions suivant présente une règle d'offres 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>

L'exemple de tarif sous conditions suivant montre comment utiliser l'attribut op pour 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 utiliser "any" pour une correspondance avec les utilisateurs de l'un 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 (hors Australie et Nouvelle-Zélande) et qui répondent é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

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

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

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

Cet exemple de tarif préférentiel indique comment spécifier le traitement visible dans l'interface utilisateur d'un tarif de membre 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 de tarif pour les membres. Si cet élément n'est pas inclus, le traitement masqué dans l'interface utilisateur de tarif pour les membres n'est pas affiché.

Pour utiliser <RateIneligibility> dans un élément <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 Obligatoire ? 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 valides sont les suivantes :

  • exact: pourcentage de remise. Le message "Obtenez X% de réduction en vous inscrivant sans frais" s'affiche.
  • price_band: fourchette de remise. Le message "Obtenez entre X et Y% de réduction en vous inscrivant sans frais" s'affiche. Pour les remises allant de 1 à 5%, le message "Obtenez jusqu'à 5% de réduction" s'affiche. Les remises plus importantes apparaissent par tranches de cinq points, par exemple "Obtenez entre 5 et 10% de réduction" ou "Obtenez entre 10 et 15 % de réduction".
  • 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 page Tarifs préférentiels : informations et exemples.

<IneligibilityReason> Required enum

Les valeurs valides sont les suivantes :

  • program_member: affiche le tarif à l'aide du traitement masqué dans l'interface utilisateur de tarif pour les membres.

Exemples de tarifs préférentiels

Cette section inclut des exemples masqués de tarif pour les membres de base et à 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)

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

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

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. Il est présenté aux utilisateurs et non à la liste d'audience. Les utilisateurs figurant dans la liste d'audience verront le tarif de l'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>

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

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é avec le texte supplémentaire "plus Wi-Fi gratuit". Ce traitement dans l'interface utilisateur est 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>

Cet exemple montre comment spécifier un tarif pour les membres avec deux traitements d'UI (UI 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 Obligatoire ? Type Description
<HotelAmenity> Optional enum

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

Les valeurs valides sont les suivantes :

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

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

Cela vous permet d'appliquer une remise à tous les tarifs avec une règle d'offres donnée.

Exemples de tarifs préférentiels

Tarif pour les membres masqué pour tous les utilisateurs (remises sur tranche) + 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>

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>