Les tarifs sous conditions sont un type de règle d'offres qui vous permet de proposer différents tarifs pour les itinéraires, en fonction de critères tels que l'appareil, le pays ou si l'utilisateur s'est connecté à Google.
Lorsque vous proposez plusieurs tarifs publics ou sous conditions pour un séjour ou offre de chambres, l'utilisateur verra le tarif le plus bas. Google choisit toujours le score le plus bas un tarif éligible pour l'utilisateur.
Présentation
Les tarifs sous conditions sont visibles dans les emplacements tarifaires standards et ne sont affichés que aux utilisateurs dont les recherches répondent aux critères du tarif sous conditions 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
- L'utilisateur final est-il connecté ou non
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 sous conditions sont appliqués.
Flux des prix: utilisez le
<Rate>
dans un message Transaction pour définir les tarifs.Fichier de page de destination: ajoutez des valeurs spécifiques de la règle d'offres à vos liens profonds.
Tarifs sous conditions spécifiques à l'appareil
Les tarifs spécifiques à l'appareil correspondent aux tarifs de l'hôtel qui ne sont visibles et ne peuvent être réservés que par les utilisateurs sur un appareil spécifique comme un mobile, une tablette ou un ordinateur de bureau. Les tarifs sont fournis par les partenaires de Google, et les utilisateurs finaux peuvent consulter des tarifs spécifiques à chaque appareil sur le site du partenaire.
Tarifs sous conditions spécifiques au pays
Les tarifs spécifiques à un pays correspondent aux tarifs de l'hôtel qui ne sont visibles et ne peuvent être réservés par des utilisateurs qui recherchent des hôtels dans un pays spécifique. Google détermine le pays à partir de l'adresse IP de l'utilisateur final. Les tarifs sont fournis par les partenaires de Google, et les utilisateurs finaux peuvent consulter et réserver sur le site du partenaire, spécifique au 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 spécifique dans Google. Propre à la langue
les conditions sont définies à l'aide de l'élément <LanguageCode>
.
Tarifs sous conditions sous-échantillonnés
Les tarifs sous conditions sous-échantillonnés ne sont visibles que par un sous-ensemble aléatoire
les utilisateurs éligibles. Le taux d'échantillonnage est défini à l'aide de <MaxUsersPercent>
.
et calculé comme suit:
MaxUsersPercent = (number of users selected to view rate)/(total eligible users)
Tarifs sous conditions pour les utilisateurs connectés
Les tarifs en cas de connexion sont visibles uniquement par les utilisateurs qui se sont connectés avec un compte
Google Cloud. Les partenaires de Google fournissent les tarifs, que les utilisateurs peuvent consulter et réserver
les tarifs sur le site du partenaire. Les tarifs en cas de connexion sont définis à l'aide des
Élément <UserSignedIn>
.
Comme Google sélectionne toujours le tarif éligible le plus bas, s'il s'agit d'un tarif sous conditions,
est supérieur au prix défini au niveau de <Result>
, le tarif sous conditions
ne sera jamais sélectionné. Pour éviter cela, supprimez le
taux au <Result>
et conditionner tous les tarifs. Vous pouvez également contacter votre responsable de compte technique
concernant l'utilisation d'une règle d'offres par défaut pour les prix définis au niveau de <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 Pour en savoir plus, consultez le fichier XML des règles d'offres Documentation de référence.
Mettre à jour votre flux des prix
Les tarifs sous conditions sont définis à l'aide de l'élément d'un élément Message Transaction :
L'élément <Rate>
peut également être utilisé comme plusieurs éléments enfants de <Rates>
.
entre les éléments <RoomBundle>
ou <Result>
. Pour l'utiliser comme requête
vous devez définir la valeur de l'attribut rate_rule_id
avec
L'identifiant de la règle d'offres que vous avez défini dans le fichier XML des règles d'offres
Si vous n'avez pas défini de tarif public par défaut pour une chambre pour deux personnes, définissez le <Baserate>
élément enfant du message <Result>
envoyé à -1
. Toute condition
Les <Rates>
envoyés à Google seront considérés comme valides.
Exemples
Base + conditions
L'exemple suivant présente un message Transaction contenant un élément 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>
<!-- NOTE: OtherFees is inherited from the above setting -->
<Custom1>ratecode123</Custom1>
</Rate>
</Rates>
</Result>
</Transaction>
RoomBundle ( chambre simple)
L'exemple suivant présente un message Transaction contenant un seul
taux sous un <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 réponses
tarifs dans un <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. 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>
<Custom1>ratebasic</Custom1>
<!-- Neither rate overrides Custom2. -->
<Custom2>ratebasic</Custom2>
<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>
<!-- The value below overrides Custom1 from roombundle. -->
<Custom1>ratecode321</Custom1>
<!-- Custom2 is inherited from roombundle. -->
</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>
<!-- The value below overrides Custom1 from roombundle. -->
<Custom1>ratecode432</Custom1>
<!-- Custom2 is inherited from roombundle. -->
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>
Pas de chambre publique pour deux personnes
L'exemple suivant présente un message Transaction contenant Tarif sous conditions sans tarif public 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 pages de destination
Pour s'assurer que les utilisateurs finaux éligibles peuvent réserver le tarif réduit via une page modifier votre page de destination fichier. Implémentation supplémentaire peut également être nécessaire sur le site Web de réservation pour afficher et remplir tarifs réduits.
Nous attendons des partenaires qu'ils respectent le prix affiché via le lien profond de tarif sous conditions.
Dans un lien profond dynamique, vous pouvez indiquer le nom de la règle d'offres,
Attribut id
de l'élément <RateRule>
avec la variable RATE-RULE-ID
.
L'exemple suivant ajoute l'ID de la règle d'offres:
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 permet
vous définissez des parties de l'URL de manière conditionnelle, selon que la règle d'offres
existe:
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)
Dans cet exemple, le choix est choisi entre deux pages de destination, selon que le tarif est défini.
Pour en savoir plus, consultez la section Utiliser des variables et Conditions.