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 plus d'informations 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 :

  • 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 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 Valeur requise ? Type Description
<RateRule> Obligatoire <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> Facultatif <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.

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 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 é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>
      <GoogleOneMember>[true|false]</GoogleOneMember>
      <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 Valeur requise ? 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 Valeur requise ? Type Description
<RateIneligibility> Facultatif <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> Obligatoire <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> Facultatif <RateModification> Modifie le traitement dans l'interface utilisateur pour les tarifs préférentiels.
<PromoCode> Facultatif Chaîne 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>
</RateRuleSettings>

Attributs

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

Attribut Valeur requise ? Type Description
id Obligatoire (si niveau supérieur sous <RateRuleSettings>) Chaîne

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 Facultatif Énumération

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 Facultatif Chaîne

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

Lorsque la valeur reference_id est présente :

  • 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 Valeur requise ? Type Description
<AlwaysEligibleMembershipProgram> Facultatif Chaîne

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> Facultatif Chaîne Décrit l'élément <UserRateCondition>. Fourni à titre indicatif, sans effet sur les fonctionnalités.
<GoogleOneMember> Facultatif Booléen Lorsque la valeur est true, le tarif est proposé aux utilisateurs Google One.
<LanguageCode> Facultatif Chaîne Indique que le tarif est proposé aux utilisateurs dont la langue correspond à ce code de langue à deux lettres.
<MaxUsersPercent> Facultatif 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> Facultatif Chaîne

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> Facultatif <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> Facultatif Chaîne

Spécifie le code pays à deux lettres (ISO 3166-1 Alpha-2) correspondant à cette condition de pays. Exemple : "US" ou "DE".

Google détermine le pays de l'utilisateur final à partir de son adresse IP.

<UserDeviceType> Facultatif Énumération Définit la condition de type d'appareil. Les valeurs autorisées sont les suivantes :
  • "mobile"
  • "desktop"
  • "tablet"
<UserListId> Facultatif Chaîne ID de la liste d'utilisateurs Google Ads d'une liste d'audience.
<UserSignedIn> Facultatif Booléen 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> Facultatif Booléen 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

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

Japon et hors 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>

"any", "all" et "none"

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

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 Google One

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="g1">
    <UserRateCondition>
      <GoogleOneMember>true</GoogleOneMember>
    </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 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 Valeur requise ? Type Description
<IneligibilityType> Obligatoire Énumération

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 gratuitement" s'affiche.
  • price_band : plage de remise. Le message "Obtenez entre X et Y % de réduction en vous inscrivant gratuitement" s'affiche. Pour les remises de 1 à 5 %, le texte indique "Obtenez jusqu'à 5 % de réduction". Les remises plus importantes sont affichées 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 : texte non spécifique. Dans ce cas, le message "Inscrivez-vous gratuitement 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> Obligatoire Énumération

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)

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

Exemple 1

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é à tout utilisateur correspondant au programme d'adhésion ou à la liste 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>

Exemple 2

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 fois au programme d'adhésion et à 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>

<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 Valeur requise ? Type Description
<HotelAmenity> Facultatif Énumération

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 Wi-Fi gratuit" au texte.
<PriceMultiplier> Facultatif 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

Exemple 1

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>

Exemple 2

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>