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

Le fichier XML des règles tarifaires définit les règles de facturation des tarifs conditionnels et des tarifs privés. Vous pouvez ajouter ou modifier un fichier XML de règles tarifaires à l'aide de la page Règles tarifaires dans Hotel Center. Pour plus d'informations sur les taux conditionnels et les taux privés, voir Taux conditionnels et taux privés.

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'élément racine du fichier XML des règles de tarification. L'élément <RateRuleSettings> (anciennement <PrivateRates>) contient ce qui suit :

  • Les é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 de taux :

+ <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 possède 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 les critères d'admissibilité pour bénéficier d'un tarif conditionnel ou privé. Nécessite un attribut id, qui peut être référencé dans un <Rate> d'un message de 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 définies de manière intégrée à l'aide d'éléments enfants <UserRateCondition>, 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 taux conditionnels

Les exemples suivants illustrent des méthodes de base pour définir des taux conditionnels.

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

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>

utilisateurs américains

L'exemple de tarification conditionnelle suivant définit une règle de tarification qui correspond à tous les utilisateurs effectuant des recherches aux États-Unis en faisant référence à 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 pour spécifier :

  • Conditions d'application d'un tarif
  • Modifications éventuelles du prix et du traitement de l'interface utilisateur pour le tarif
  • Utilisation de traitements d'interface utilisateur cachés pour les tarifs privés

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

+ 
<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 string

Un identifiant unique pour la règle de taux. Cet ID est référencé à l'aide de l'attribut rate_rule_id d'un <Rate> dans un message de transaction pour servir un tarif conditionnel ou privé. 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é est de 40. Cet ID ne peut pas être une chaîne vide.

É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 de l'UI pour un taux <MembershipProgram>.

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

<UserRateCondition> Required <UserRateCondition>

Définit une ou plusieurs conditions qui, lorsqu'elles sont remplies, entraînent l'application de tarifs conditionnels ou privés.

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 <UserRateCondition> est un enfant de <RateRule>, l'élément <UserRateCondition> ne peut pas avoir d'attribut id et ne peut pas être référencé par un autre <UserRateCondition>.

<RateModification> Optional <RateModification> Modifie le traitement de l'interface utilisateur pour les tarifs privés.
<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, lorsqu'elles sont remplies, entraînent l'application de tarifs conditionnels ou privés.

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

+ <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: Inclure les utilisateurs finaux qui correspondent à toutes les conditions définies par cette règle de tarification. Cette valeur ne peut pas être utilisée lorsque l'une des conditions est <UserListId>, à moins qu'une seule autre condition — soit <AlwaysEligibleMembershipProgram> soit <MembershipProgram> — ne soit définie.
  • any : inclut les utilisateurs finaux qui répondent à l'une des conditions définies par cette règle d'offres.
  • none: Exclure les utilisateurs finaux qui correspondent à l'une des conditions définies par cette règle tarifaire. 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 une référence à un autre <UserRateCondition> prédéfini avec un id correspondant.

Lorsque reference_id est présent :

  • Les éléments enfants ne doivent pas être analysés.
  • id et op ne devraient 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 taux utilisera le traitement d'interface utilisateur visible du taux membre.

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 les fonctionnalités.
<LanguageCode> Optional string Indique que le tarif est proposé aux utilisateurs dont la langue correspond à ce code de langue à deux lettres.

Remarque : Nous vous recommandons d'utiliser <UserCountry> au lieu de <LanguageCode> dans la mesure du possible.

<MaxUsersPercent> Optional float

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

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

<MembershipProgram> Optional string

Spécifie que le taux utilisera un traitement d'interface utilisateur de 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, si elles sont remplies, entraînent la diffusion de tarifs sous conditions ou préférentiels.

Un <UserRateCondition> avec un reference_id doit avoir 0 enfant.

<UserCountry> Optional string

Un code pays CLDR, tel que DE ou FR. Notez que, pour certains pays, le code CLDR n'est pas identique au code ISO à 2 lettres. Les codes de région CLDR ne sont pas pris en charge.

Précise 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 de périphérique. Les valeurs autorisées sont :
  • 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 Un booléen indiquant si l'utilisateur doit ou non être connecté à son compte Google. Une valeur de true indique que l'utilisateur doit être connecté. La valeur false indique que l'utilisateur ne doit pas être connecté. Si vous n'avez pas d'importance à savoir si l'utilisateur est connecté ou non, 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 être originaire du même pays que l'hôtel. La valeur false indique que l'utilisateur peut provenir de n'importe quel pays autre que celui de l'hôtel. Si vous souhaitez un contrôle plus précis, utilisez la condition <UserCountry>.

Exemples de taux conditionnels

Pourcentage d'utilisateurs

L'exemple de tarifs conditionnels suivant précise que le tarif sera proposé aléatoirement à vingt pour cent des utilisateurs :

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

Utilisateurs du Royaume-Uni et mobiles

L'exemple de tarification conditionnelle suivant définit une règle de tarification qui correspond à tous les utilisateurs effectuant une recherche au Royaume-Uni avec un appareil mobile en utilisant un <UserRateCondition> en ligne :

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

Le Japon et non le Japon

L'exemple de tarification conditionnelle suivant illustre une règle tarifaire qui s'applique aux utilisateurs au Japon et une autre règle tarifaire qui s'applique aux utilisateurs du reste du monde (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" et "none"

L'exemple de taux conditionnels suivant montre comment l'attribut op peut être utilisé pour correspondre à plusieurs conditions de différentes manières en utilisant les valeurs any, all et none. Par exemple, comme le montre la condition au_nz, vous pouvez utiliser any pour faire correspondre les utilisateurs dans plusieurs pays. Comme le montre la règle de taux au_nz_mobile_tablet, vous pouvez utiliser all pour exiger que les utilisateurs répondent à plusieurs conditions. La règle de taux row_mobile_tablet correspondra aux utilisateurs qui se trouvent dans le reste du monde (ligne), à l'exclusion 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 privés

Taux d'adhésion 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 membre 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>

Taux de la 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>

Taux de la liste d'audience 2

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 <RateRule>, <MembershipProgram> doit également être spécifié dans un élément <UserRateCondition> pour le <RateRule>.

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

+ 
<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 possède 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 comment le texte (affiché à côté du taux barré) décrira le taux caché.

Les valeurs valides sont les suivantes :

  • exact: Un pourcentage de réduction. Le texte affichera : « Bénéficiez de X % de réduction avec l'inscription sans frais. »
  • price_band: Une fourchette de réduction. Le texte affichera : « Bénéficiez de XY % de réduction grâce à l'inscription sans frais. » Pour les remises de 1 à 5 %, le texte affichera « Bénéficiez jusqu'à 5 % de réduction ». Les remises plus importantes seront affichées par tranches de 5 points, par exemple « Obtenez 5 à 10 % de réduction » ou « Obtenez 10 à 15 % de réduction ».
  • existence: Une indication non spécifique. Dans ce cas, le texte sera le suivant : « Bénéficiez d'un prix réduit grâce à l'inscription sans frais. »

Apprenez-en davantage sur les traitements de l'UI dans Détails et exemples des tarifs privés.

<IneligibilityReason> Required enum

Les valeurs valides sont les suivantes :

  • program_member: Affiche le taux en utilisant le traitement d'interface utilisateur caché du taux du membre.

Exemples de tarifs privés

Cette section comprend des exemples de taux de membres cachés (basiques) et des exemples de taux de membres cachés (conditions multiples). Vous pouvez également afficher vos tarifs d'abonnement à des sous-ensembles d'utilisateurs. Pour afficher les tarifs membres, vous devez d'abord envoyer le prix du tarif membre individuel pour la formule de chambre la moins chère, suivi des prix des autres formules de chambre. Les tarifs préférentiels pour plusieurs membres ne sont pas autorisés.

Pour des exemples, voir Exemples de tarifs privés.

Exemples de tarifs d'adhésion masqués (basique)

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>

Réduction pour les groupes

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

Conseil pour une réduction

<?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 de taux d'adhésion masqués (conditions multiples)

op="n'importe quel"

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 taux 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="tous"

Tarif d'adhésion masqué uniquement pour les utilisateurs de la liste de diffusion

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>

Interface utilisateur transparente/visible

Cet exemple montre comment spécifier le tarif d'adhésion avec deux traitements d'interface utilisateur (interface utilisateur transparente et visible) pour les utilisateurs figurant dans la liste d'audience et des tarifs caché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 de l'interface utilisateur pour les tarifs privés.

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, taux de base = 100 $, taxes = 20 $, frais = 10 $ ; alors après application du multiplicateur : taux de base = 90 $, taxes = 18 $, frais = 9 $.

Cela vous permet d'appliquer une réduction à tous les tarifs selon une certaine règle tarifaire.

Exemples de tarifs privés

Service de l'hôtel

Tarif membre masqué pour tous les utilisateurs (réductions sur les groupes) + wifi sans frais

<?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 réduction de 5 % aux tarifs mobiles dans le flux de 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>