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 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 sous conditions et préférentiels.

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. Vous pouvez également référencer un identifiant de règle d'offres à 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 les éléments suivants:

  • 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 s'applique à tous les utilisateurs d'un pays donné.

  • Des éléments <RateRule> qui définissent chacun une règle d'offres à titre de référence dans un élément <Rate> d'un message Transaction. Chaque valeur <RateRule> spécifie les conditions et le traitement dans l'interface utilisateur qui déterminent 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 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 l'é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 mises en correspondance, 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. Cependant, tout élément <UserRateCondition> comportant un élément reference_id ne doit avoir aucun enfant.

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

Exemples de tarifs sous conditions

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

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

Mobinautes

L'exemple de tarif 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>

Un 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 ID 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>.

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

<UserRateCondition> Required <UserRateCondition>

Définit une ou plusieurs conditions qui, si elles sont mises en correspondance, 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 à une autre propriété <UserRateCondition> à l'aide de l'attribut reference_id, ou les deux.

Notez toutefois que lorsqu'une <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 <UserRateCondition>.

<RateModification> Optional <RateModification> Modifie le traitement dans l'interface utilisateur pour les tarifs préférentiels.
<PromoCode> Optional string Spécifie 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 mises en correspondance, 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>. Il 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: inclut les utilisateurs finaux qui correspondent à toutes les 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>, sauf si une seule autre condition (<AlwaysEligibleMembershipProgram> ou <MembershipProgram>) est définie.
  • any: inclut 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 définie sur <UserListId>.
reference_id Optional string

Définit cet élément comme référence à une autre <UserRateCondition> prédéfinie avec une 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 Requis ? Type Description
<AlwaysEligibleMembershipProgram> Optional string

Indique que le tarif utilisera le traitement visible dans l'interface utilisateur "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>. Elle est fournie à des fins de documentation et n'a aucun effet sur ses fonctionnalités.
<LanguageCode> Optional string Indique que le tarif sera proposé aux utilisateurs dont la langue correspond à ce code de langue à deux lettres.
<MaxUsersPercent> Optional float

Spécifie que le tarif sera proposé de manière aléatoire à ce pourcentage d'utilisateurs finaux.

La valeur doit être un entier compris entre 0 et 100 (inclus). Par exemple, si vous indiquez 20, 20% des utilisateurs finaux seront ciblés.

<MembershipProgram> Optional string

Indique que le tarif utilisera le traitement dans l'interface utilisateur d'un programme d'adhésion, tel que déterminé par l'élément <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, si elles sont mises en correspondance, 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 n'est pas le même que le code ISO à deux lettres. Les codes régionaux 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. Valeurs autorisées :
  • 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é 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 vous ne voulez pas que l'utilisateur soit connecté ou déconnecté, n'incluez pas de condition <UserSignedIn>.
<IsDomestic> Optional boolean Valeur booléenne indiquant si l'utilisateur doit se trouver ou non 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 n'importe quel pays. 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 sera 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 et du Royaume-Uni

L'exemple de tarif sous conditions suivant définit une règle d'offres qui correspond à tous les utilisateurs effectuant des recherches au Royaume-Uni sur 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, mais pas au Japon

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>

N'importe lequel, tous et aucun

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 utiliser "any" pour mettre en correspondance les utilisateurs de plusieurs pays. Comme indiqué dans la règle d'offres au_nz_mobile_tablet, vous pouvez utiliser all pour exiger que les utilisateurs remplissent plusieurs conditions. La règle d'offres row_mobile_tablet correspond aux utilisateurs situés dans le reste du monde (ligne), à l'exception de l'Australie et de la Nouvelle-Zélande, et qui remplissent é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 de tarif pour les membres. S'il 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 <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 "Inscrivez-vous sans frais pour profiter d'une remise de X %" s'affiche.
  • price_band: plage 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 remise" s'affiche. Les remises plus importantes s'affichent par tranches de cinq points (par exemple, "Obtenez entre 5 et 10% de remise" ou "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 à 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 des exemples masqués de tarif pour les membres (plusieurs conditions). Vous pouvez également proposer vos tarifs pour les membres à des sous-ensembles d'utilisateurs. Pour obtenir des exemples, consultez 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 le bracelet

<?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 suggérée

<?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 correspondant à 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 (une 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 de 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. Exemple: PriceMultiplier = 0,9 ; tarif de base = 100 €, taxes = 20 €, frais = 10 €.Après l'application du multiplicateur, tarif de base = 90 €, taxes = 18 € et frais = 9 €.

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

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>