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 d'Hotel Center. Pour en savoir plus sur les tarifs sous conditions et les tarifs préférentiels, consultez la section Tarifs préférentiels et sous conditions.
Chaque règle d'offres nécessite un élément id
, qui peut être référencé dans l'é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 les éléments suivants:
Les éléments
<UserRateCondition>
qui définissent les conditions à respecter pour les tarifs sous conditions et préférentiels. Par exemple, vous pouvez créer un tarif sous conditions qui correspond à la condition de tous les utilisateurs d'un pays donné.Les éléments
<RateRule>
, chacun définissant une règle d'offres pour référence dans un<Rate>
dans un message Transaction. Chaque<RateRule>
spécifie les conditions et le traitement dans l'interface utilisateur qui créent un tarif sous conditions ou privé.
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é à la diffusion d'un tarif sous conditions ou privé. Nécessite un attribut |
<UserRateCondition> |
Optional | <UserRateCondition> |
Définit une ou plusieurs conditions qui entraînent la diffusion de tarifs préférentiels ou sous conditions. Les conditions peuvent être définies de manière intégrée à l'aide d'éléments enfants Un élément |
Exemples de tarifs sous conditions
Les exemples suivants présentent des méthodes de base pour définir des tarifs sous conditions.
Il est recommandé de faire référence à des conditions prédéfinies, comme indiqué dans l'exemple Utilisateurs mobiles.
Mobinautes
L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les mobinautes en référençant un <UserRateCondition>
prédéfini:
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<UserRateCondition id="mobile">
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
<RateRule id="mobile">
<!-- Referencing pre-defined conditions is recommended -->
<UserRateCondition reference_id="mobile"/>
</RateRule>
</RateRuleSettings>
Utilisateurs aux États-Unis
L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les utilisateurs effectuant une recherche aux États-Unis en référençant un <UserRateCondition>
prédéfini:
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<UserRateCondition id="us">
<UserCountry>US</UserCountry>
</UserRateCondition>
<RateRule id="us">
<UserRateCondition reference_id="us"/>
</RateRule>
</RateRuleSettings>
<RateRule>
Conteneur permettant de spécifier:
- Conditions de diffusion d'un tarif
- Toute modification du prix et de l'interface utilisateur concernant le tarif, le cas échéant
- Utilisation de traitements caché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>
possède les attributs suivants :
Attribute | Requis ? | Type | Description |
---|---|---|---|
id |
Obligatoire | chaîne |
Identifiant unique de la règle d'offres. Cet identifiant est référencé à l'aide de l'attribut 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 de l'interface utilisateur pour un tarif <MembershipProgram> .
Valide uniquement lorsque |
<UserRateCondition> |
Required | <UserRateCondition> |
Définit une ou plusieurs conditions qui entraînent la diffusion de tarifs préférentiels ou sous conditions. Les conditions peuvent être définies de manière intégrée à l'aide d'éléments enfants Notez toutefois que lorsqu'un élément |
<RateModification> |
Optional | <RateModification> |
Modifie le traitement dans l'interface utilisateur pour les tarifs préférentiels. |
<PromoCode> |
Optional | string | Spécifie un code à associer au tarif si cette règle d'offres est appliquée. comme indiqué dans la variable de page de destination PROMO-CODE . |
<UserRateCondition>
Définit une ou plusieurs conditions qui entraînent la diffusion de tarifs préférentiels ou sous conditions.
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>
possède les attributs suivants :
Attribute | Requis ? | Type | Description |
---|---|---|---|
id |
Required (if top-level under <RateRuleSettings> ) |
string |
Identifiant unique pour ce |
op |
Optional | enum |
L'attribut
|
reference_id |
Optional | string |
Définit cet élément comme référence à un autre Lorsque
|
É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 dans l'interface utilisateur visible par les membres. La valeur de cet élément peut être n'importe quel nom de programme d'adhésion. |
<Description> |
Optional | string | Décrit <UserRateCondition> . Ce document est fourni à des fins de documentation et n'a aucune incidence sur les 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 | Indique que le tarif sera proposé aléatoirement à ce pourcentage d'utilisateurs finaux. La valeur doit être un entier compris entre 0 et 100 (inclus). Par exemple, 20 cibleront 20% des utilisateurs finaux. |
<MembershipProgram> |
Optional | string | Indique que le tarif applique un traitement dans l'interface utilisateur du programme d'adhésion, tel que déterminé par l'élément Pour que la valeur de La valeur de |
<UserRateCondition> |
Optional | <UserRateCondition> |
Définit une ou plusieurs conditions qui entraînent la diffusion de tarifs préférentiels ou sous conditions. Un |
<UserCountry> |
Optional | string | Un code pays CLDR, tel que Indique que l'utilisateur doit se trouver dans le pays indiqué. 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. Valeurs autorisées :
|
<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 |
<UserSignedIn> |
Optional | boolean | Booléen indiquant si l'utilisateur doit ou non être connecté à 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 | Booléen indiquant si l'utilisateur doit résider dans le même pays que celui où se trouve l'hôtel. La valeur true indique que l'utilisateur doit se trouver dans le même pays que l'hôtel. La valeur false indique que l'utilisateur peut venir d'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 tarifs sous conditions suivant spécifie 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 au Royaume-Uni et sur les mobiles
L'exemple de tarifs sous conditions suivant définit une règle d'offres qui correspond à tous les utilisateurs qui effectuent une recherche au Royaume-Uni avec un appareil mobile à l'aide d'un <UserRateCondition>
intégré:
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="gb_mobile">
<UserRateCondition op="all">
<UserCountry>GB</UserCountry>
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
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>
Tous, aucun et aucun
L'exemple de tarifs sous conditions suivant montre comment l'attribut op
peut être utilisé pour établir des correspondances avec différentes 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 l'un de ces éléments 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 (à l'exception de l'Australie et de la 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>
Taux 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 d'audience 2
Cet exemple de tarif préférentiel montre comment spécifier un traitement visible par l'interface utilisateur pour plusieurs listes d'audience:
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program">
<UserRateCondition op="all">
<AlwaysEligibleMembershipProgram>[enter the program name here]</AlwaysEligibleMembershipProgram>
<UserRateCondition op="any">
<UserListId>[enter one audience list id here]</UserListId>
<UserListId>[enter another audience list id here]</UserListId>
</UserRateCondition>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
<RateIneligibility>
Indique comment afficher le traitement masqué dans l'interface utilisateur pour le tarif réservé aux membres. Si cette valeur n'est pas incluse, le traitement masqué dans l'interface utilisateur ne s'affichera pas.
Pour utiliser <RateIneligibility>
dans un <RateRule>
, <MembershipProgram>
doit également être spécifié dans un élément <UserRateCondition>
pour <RateRule>
.
L'élément <RateIneligibility>
apparaît à l'emplacement suivant dans la hiérarchie XML des règles d'offres:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Syntaxe
L'élément <RateIneligibility>
utilise la syntaxe suivante :
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
<UserRateCondition ...>
...
</UserRateCondition>
<RateRule ...>
<UserRateCondition ...>
...
<!-- Required when using RateIneligibility -->
<MembershipProgram>program_name</MembershipProgram>
...
</UserRateCondition>
<RateIneligibility>
<IneligibilityType>[exact|price_band|existence]</IneligibilityType>
<IneligibilityReason>[program_member]</IneligibilityReason>
</RateIneligibility>
</RateRule>
</RateRuleSettings>
Attributs
L'élément <RateIneligibility>
ne comporte aucun attribut.
Éléments enfants
L'élément <RateIneligibility>
comporte les éléments enfants suivants :
Élément enfant | Obligatoire ? | Type | Description |
---|---|---|---|
<IneligibilityType> |
Required | enum | Définit la manière dont le texte (affiché à côté du taux barré) décrit le tarif masqué. Les valeurs possibles sont les suivantes :
Pour en savoir plus sur les traitements de l'interface utilisateur, consultez la page Tarifs préférentiels : informations et exemples. |
<IneligibilityReason> |
Required | enum | Les valeurs possibles sont les suivantes :
|
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 afficher les tarifs réservés aux membres pour des sous-ensembles d'utilisateurs. Pour obtenir des exemples, consultez Tarifs préférentiels.
Exemples masqués de tarif pour les membres (version 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 sur l'existence) pour les non-membres
Cet exemple de tarif préférentiel spécifie le type de traitement existence
de l'UI masqué pour le tarif réservé aux membres, qui est présenté aux utilisateurs et non à la liste d'audience. Les utilisateurs figurant dans la liste d'audience voient 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 réservé aux membres masqué pour les utilisateurs de la liste d'audience uniquement
Cet exemple de tarif privé spécifie le type de traitement exact
de l'UI masqué pour le tarif réservé aux membres, modifié avec le texte supplémentaire "plus Wi-Fi gratuit". Ce traitement sera présenté aux utilisateurs qui correspondent à la liste d'audience.
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="membership_program_for_audience_list">
<RateIneligibility>
<IneligibilityReason>program_member</IneligibilityReason>
<IneligibilityType>exact</IneligibilityType>
</RateIneligibility>
<RateModification>
<HotelAmenity>free_wifi</HotelAmenity>
</RateModification>
<UserRateCondition op="all">
<MembershipProgram>[enter program name here]</MembershipProgram>
<UserListId>[enter you audience list id here]</UserListId>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
<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-la avec Les valeurs possibles sont les suivantes :
|
<PriceMultiplier> |
Optional | float | Modifie le prix en multipliant cette valeur par le tarif de base, les taxes et les frais. Par exemple, si Cela vous permet d'appliquer une remise à tous les tarifs ayant une certaine règle d'offres. |
Exemples de tarifs préférentiels
Services de l'hôtel
Tarif pour les membres masqué pour tous les utilisateurs (remises sur les bandes) + 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 du prix
Appliquer une remise de 5% aux tarifs mobiles 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>