Les tarifs sous conditions sont un type de règle d'offres qui vous permet de proposer des tarifs différents pour vos séjours, en fonction de critères tels que l'appareil et le pays de l'utilisateur, ou selon que cet utilisateur est connecté ou non à Google.
Lorsque vous proposez plusieurs tarifs publics ou sous conditions pour un séjour ou une offre de chambres, le tarif le plus bas est présenté à l'utilisateur. Google sélectionne toujours le tarif éligible le plus bas pour l'utilisateur.
Présentation
Les tarifs sous conditions sont affichés aux emplacements tarifaires standards et ne sont visibles que par les utilisateurs dont les recherches répondent aux critères du tarif associé. Ces critères peuvent être basés sur les éléments suivants :
- Appareil de l'utilisateur final
- Pays de l'utilisateur final
- Préférences linguistiques de l'utilisateur final
- Sous-échantillon d'utilisateurs
- Connexion à son compte de l'utilisateur final
Pour activer les tarifs sous conditions, modifiez les éléments suivants :
Fichier XML des règles d'offres: Définissez les conditions dans lesquelles les tarifs sont appliqués.
Flux des prix : définissez les tarifs à l'aide de l'élément
<Rate>dans un message de transaction.Fichier de page de destination : ajoutez à vos liens profonds des valeurs spécifiques aux règles d'offres.
Tarifs sous conditions spécifiques à l'appareil
Les tarifs spécifiques à l'appareil sont les tarifs de l'hôtel visibles et applicables à la réservation uniquement pour les utilisateurs d'un appareil spécifique : mobile, tablette ou ordinateur. Ces tarifs sont fournis par les partenaires de Google, et les utilisateurs finaux peuvent consulter les mêmes tarifs spécifiques à l'appareil et réserver sous ces conditions sur le site du partenaire.

Tarifs sous conditions spécifiques au pays
Les tarifs spécifiques au pays sont les tarifs de l'hôtel visibles et applicables à la réservation uniquement pour les utilisateurs qui effectuent une recherche d'hôtel à partir d'un pays donné. Google détermine le pays à l'aide de l'adresse IP de l'utilisateur final. Ces tarifs sont fournis par les partenaires de Google, et les utilisateurs finaux peuvent consulter les mêmes tarifs spécifiques au pays et réserver sous ces conditions sur le site du partenaire destiné au même pays.
Tarifs sous conditions spécifiques à la langue
Les tarifs spécifiques à la langue ne sont visibles que par les utilisateurs qui recherchent des hôtels tout en utilisant un paramètre de langue donné dans Google. Les conditions spécifiques à la langue
sont définies à l'aide de l'élément <LanguageCode>.
La langue n'est pas spécifiée dans les messages de requête With Context queries. Par conséquent, si vous spécifiez <LanguageCode> dans vos règles d'offres, alors
la réponse "With Context" doit inclure tous les tarifs spécifiques à la langue pertinents.
Tarifs sous conditions sous-échantillonnés
Les tarifs sous conditions sous-échantillonnés ne sont visibles que pour un sous-ensemble aléatoire d'utilisateurs éligibles. Le taux d'échantillonnage est défini à l'aide de l'<MaxUsersPercent>
élément et calculé comme suit :
MaxUsersPercent = (number of users selected to view rate)/(total eligible users)
Tarifs sous conditions dépendant de la connexion
Les tarifs en cas de connexion sont visibles uniquement par les utilisateurs connectés à un compte Google. Ces tarifs sont fournis par les partenaires de Google, et les utilisateurs peuvent consulter les tarifs et réserver sous ces conditions sur le site du partenaire. Les tarifs en cas de connexion sont définis à l'aide de l'élément
<UserSignedIn>.
Étant donné que Google sélectionne toujours le tarif éligible le plus bas, si un tarif sous conditions
est supérieur au prix défini au niveau <Result>, il ne sera jamais sélectionné. Pour éviter cela, supprimez le
tarif au niveau <Result>
et appliquez des conditions à tous les tarifs. Vous pouvez également demander à votre responsable de compte technique
comment utiliser une règle d'offres par défaut pour les prix définis au niveau <Result>.
Créer un fichier XML de règles d'offres
Les règles d'offres pour les tarifs sous conditions sont définies à l'aide d'un fichier XML de règles d'offres. Pour en savoir plus, consultez la documentation de référence sur les fichiers XML de règles d'offres.
Mettre à jour votre flux des prix
Les tarifs sous conditions sont définis à l'aide de l'élément `<Rate>` dans un message Transaction.
L'élément <Rate> peut également être utilisé comme plusieurs éléments enfants de <Rates>
dans les éléments <RoomBundle> ou <Result>. Pour l'utiliser comme tarif sous conditions, vous devez définir la valeur de l'attribut rate_rule_id pour qu'elle corresponde à l'ID de règle d'offres que vous avez défini dans le fichier XML.
Si vous n'appliquez pas de tarif public par défaut pour une chambre pour deux personnes, définissez l'élément enfant <Baserate>
du message <Result> sur -1. Toute valeur sous conditions
<Rates> qui est envoyée à Google dans ce cas est considérée comme valide.
Exemples
Base + conditionnel
Dans l'exemple suivant, vous pouvez voir un message de transaction contenant un tarif de base et un tarif sous conditions :
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">200.00</Baserate>
<Tax currency="USD">20.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates -->
<Rate rate_rule_id="mobile">
<!-- Override base rate and taxes for conditional rates -->
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
</Rate>
</Rates>
</Result>
</Transaction>
RoomBundle single
L'exemple suivant présente un message Transaction contenant un seul
tarif sous un élément <RoomBundle> :
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">300.00</Baserate>
<Tax currency="USD">30.00</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RoomBundle>
<RoomID>single</RoomID>
<Baserate currency="USD">300.00</Baserate>
<Tax currency="USD">30.00</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</RoomBundle>
<RoomBundle>
<RoomID>3</RoomID> <!-- Links to data in metadata -->
<RatePlanID>basic</RatePlanID>
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<ChargeCurrency>web</ChargeCurrency>
<BreakfastIncluded>1</BreakfastIncluded>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">269.00</Baserate>
<Tax currency="USD">2.69</Tax>
<OtherFees currency="USD">1.00</OtherFees>
</Rates>
</Rates>
</RoomBundle>
</Result>
</Transaction>
RoomBundle multiple
L'exemple suivant présente un message Transaction contenant plusieurs
tarifs sous un élément <RoomBundle> :
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<!-- When Google receives new room bundle information for an itinerary, all
previous room bundle pricing is dropped from Google's cache. Thus, if you
want to delete a specific room bundle from Google's cache, you may do so
by simply not providing that specific room bundle in subsequent transaction
messages. -->
<RoomBundle>
...
<!-- RoomID is required, PackageID is recommended. -->
<RoomID>5</RoomID>
<PackageID>ABC</PackageID>
<!-- Baserate is required. -->
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL and it should be within 50 characters in length for optimal
performance. For details, see Using Variables and Conditions. -->
<RatePlanID>5-ABC</RatePlanID>
<!-- Occupancy is mandatory for RoomBundle elements. -->
<!-- Elements below will get inherited to nested rate elements. -->
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
</OccupancyDetails>
<InternetIncluded>1</InternetIncluded>
<!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
<ChargeCurrency>web</ChargeCurrency>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">258.33</Baserate>
<Tax currency="USD">25.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides ChargeCurrency from roombundle. -->
<ChargeCurrency>hotel</ChargeCurrency>
</Rate>
<Rate rate_rule_id="us_or_gb">
<Baserate currency="USD">268.33</Baserate>
<Tax currency="USD">26.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>
Pas de tarif public pour une chambre pour deux personnes
L'exemple suivant présente un message Transaction contenant un tarif sous conditions sans tarif public pour une chambre pour deux personnes :
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<!-- <Unavailable/> should not be specified when available nested rates
exist. -->
<Baserate currency="USD">-1</Baserate>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates. -->
<Rate rate_rule_id="mobile">
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Custom1>ratecode123</Custom1>
</Rate>
</Rates>
</Result>
</Transaction>
Mettre à jour votre fichier de page de destination
Pour vous assurer que les utilisateurs finaux éligibles puissent réserver au tarif réduit via un lien profond, modifiez votre fichier de page de destination. Une étape de mise en œuvre supplémentaire peut également être nécessaire sur le site Web de réservation afin d'afficher et de renseigner correctement les tarifs réduits.
Nous attendons de nos partenaires qu'ils respectent le prix affiché via le lien profond de tarif sous conditions.
Dans un lien profond dynamique, vous pouvez inclure la règle d'offres en utilisant son nom, l'
id attribut de l'élément <RateRule>, avec la variable RATE-RULE-ID.
Dans l'exemple suivant, l'ID de la règle d'offres est ajouté :
https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)¤cy=(USER-CURRENCY)&prid=(RATE-RULE-ID)
Le fichier de page de destination est également compatible avec la directive IF-RATE-RULE-ID, qui vous permet de définir des parties de l'URL de manière conditionnelle, en fonction de l'existence ou non de la règle d'offres :
https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)¤cy=(USER-CURRENCY)
Cet exemple choisit entre deux pages de destination, selon que l'ID de la règle d'offres est défini ou non.
Pour plus d'informations, consultez la page Utiliser des variables et conditions.