Présentation
Le message "Tarif" (OTA_HotelRateAmountNotifRQ) définit les tarifs d'occupation par nuit pour chaque combinaison de type de chambre et de plan tarifaire pour des plages de dates spécifiques. Dans le message sur les tarifs, Google accepte les tarifs basés sur l'occupation, ce qui permet de spécifier différents tarifs par nuit en fonction du nombre maximal de personnes prévues.
Les sections suivantes couvrent les consignes générales, un exemple de base et des scénarios pratiques pour vous aider à ajouter et à modifier des tarifs, et à envoyer un message "Tarifs".
Comportement du taux de correspondance
Lorsque les utilisateurs demandent des taux d'occupation spécifiques, le tarif qu'ils voient dépend de la façon dont vous définissez les prix dans votre message sur les tarifs. Cette section explique comment ces demandes d'utilisateurs sont mises en correspondance avec vos tarifs en fonction de l'occupation de leur demande et des tarifs que vous définissez.
Principes clés
Un tarif défini pour une occupation spécifique s'applique à toutes les occupations inférieures, sauf indication contraire.
Les demandes d'occupation supérieures à celles définies sont considérées comme impossibles.
La tarification basée sur l'occupation s'applique aux modèles de tarification par date et par durée du séjour décrits ci-dessous. Cela signifie que vous pouvez spécifier des tarifs pour chaque occupation. Si aucun tarif n'existe pour une occupation spécifique, le tarif pour l'occupation supérieure la plus proche est utilisé. Vous pouvez également définir des frais pour les personnes et les enfants supplémentaires à l'aide de
AdditionalGuestAmountsouExtraGuestCharges, qui s'appliquent jusqu'à la capacité définie pour une chambre.
Avantages et exemples
- Efficacité
Pour les occupations multiples avec le même montant de tarif, vous n'avez pas besoin de définir un tarif pour chaque occupation. Vous pouvez simplifier vos messages en définissant uniquement la valeur d'occupation maximale acceptée par le type de chambre et le forfait. Les utilisateurs verront ce tarif pour chaque occupation inférieure ou égale à la valeur que vous avez définie.
Exemple : Les tarifs d'un type de chambre et d'un plan tarifaire sont identiques pour une à quatre personnes. Utilisez le message "Rate" (Tarif) pour définir un tarif pour une occupation maximale de quatre personnes. Les utilisateurs qui recherchent une chambre pour une, deux ou trois personnes verront le même tarif. Les utilisateurs qui recherchent des hôtels 5 étoiles et plus ne verront pas de tarifs.
- Contrôle
Vous pouvez indiquer explicitement des tarifs distincts pour d'autres capacités d'accueil. Envoyez un tarif différent pour chaque valeur d'occupation si vous souhaitez mieux contrôler la façon dont Google fait correspondre les demandes aux taux d'occupation.
Exemple : Si des tarifs sont définis pour trois et une personne, les recherches pour une personne afficheront le tarif pour une personne, les recherches pour deux personnes afficheront le tarif pour trois personnes, et les utilisateurs qui recherchent un hébergement pour quatre personnes ou plus ne verront aucun tarif.
Pour obtenir d'autres exemples de scénarios liés aux taux, consultez les procédures.
Éléments obligatoires et facultatifs
La référence XML fournit des descriptions des éléments obligatoires et facultatifs. Pour en savoir plus sur les attributs et les éléments enfants, consultez Éléments et attributs de taux.
Syntaxe et schémas
Utilisez l'exemple de syntaxe du tarif comme référence lorsque vous créez le message sur les tarifs. Vous vous assurerez ainsi d'utiliser le bon format.
Vous pouvez utiliser un outil XML tiers tel que xmllint pour valider vos flux avec les schémas publiés avant de les envoyer à Google. Pour le schéma du message "Tarif", consultez Schémas Hotel Ads.
Modèles de tarification
Tarification par date
Il s'agit du modèle tarifaire standard utilisé pour la plupart des propriétés. Le modèle de tarification per-date est basé sur la définition de tarifs qui sont additionnés pour toutes les dates du séjour afin d'obtenir un prix total. Dans ce modèle, tous les tarifs d'un élément Rate sont interprétés comme s'appliquant à une plage de dates de séjour spécifiée dans <StatusApplicationControl>.
Tarification basée sur la durée du séjour
Le modèle de tarification basé sur la durée du séjour repose sur les tarifs définis pour une combinaison de date d'arrivée et de durée du séjour. Les tarifs spécifiés dans le modèle de tarification basé sur la DDS sont journaliers. Par exemple, si vous envoyez un tarif de 100 € pour une durée de séjour de trois nuits, le prix total est calculé comme suit : 3 x 100 €=300 €.
Vous pouvez utiliser le modèle de tarification basé sur la durée du séjour en spécifiant RatePlanType="26" sur les éléments StatusApplicationControl. Vous devez également définir les attributs RateTimeUnit et UnitMultiplier sur les éléments Rate de votre fichier XML. Toutes les tarifs associés à l'élément Rate donné s'appliquent alors aux séjours définis par les dates d'arrivée spécifiées dans <StatusApplicationControl> et la valeur de DDS spécifiée pour UnitMultiplier.
Vous pouvez utiliser à la fois des modèles de tarification par date et basés sur la durée du séjour dans un même compte. Toutefois, chaque propriété ne doit utiliser qu'un seul modèle de tarification. Lorsque vous implémentez la tarification basée sur la durée du séjour, tenez compte des points suivants :
- Les tarifs pour différentes durées de séjour ne sont pas combinés lorsque vous utilisez la tarification basée sur la durée du séjour. Par exemple, un tarif de durée du séjour de 3 n'est pas combiné à une durée du séjour de 1 pour calculer un tarif de durée du séjour de 4. Le taux de 4 jours de durée du séjour doit être spécifié explicitement.
- Le tarif pour une nuit dans la tarification basée sur la durée du séjour n'est pas utilisé comme tarif individuel pour une nuit dans la tarification par date.
- Chaque propriété ne doit utiliser que des tarifs basés sur la DDS ou des tarifs par date, selon la façon dont les tarifs sont représentés dans votre système.
Pour activer les tarifs basés sur la DDS dans votre compte, envoyez une demande à votre TAM ou contactez-nous.
Consignes ou actions
- Tarification par date
Delta: ajoute ou met à jour les tarifs par nombre de personnes uniquement pour les combinaisons spécifiées de type de chambre, de plan tarifaire et de dates de séjour dans<StatusApplicationControl>.- Les mises à jour des tarifs utilisent l'action
Deltapar défaut. - Une mise à jour
Deltane modifie pas les tarifs précédemment stockés pour les autres capacités. Par exemple, si vous avez spécifié des tarifs pour les chambres simples et doubles, et que vous envoyez une mise à jour du tarifDeltapour la chambre simple, le tarif de la chambre double reste inchangé.
- Les mises à jour des tarifs utilisent l'action
Overlay: supprime tous les tarifs par nombre de personnes existants pour le type de chambre, le plan tarifaire et les dates spécifiés dans<StatusApplicationControl>, puis les remplace par les nouveaux tarifs. Par exemple, si vous avez spécifié des tarifs pour les chambres à occupation simple et double, et que vous envoyez une mise à jourOverlaypour les chambres à occupation simple, Google supprimera tous les tarifs précédents (pour les chambres à occupation simple et double). Seul le tarif pour les chambres à occupation simple restera après la mise à jour.Remove: supprime tous les tarifs par nombre de personnes existants pour le type de chambre, le plan tarifaire et les dates spécifiés dans<StatusApplicationControl>.- Tarification basée sur la durée du séjour
Delta: ajoute ou met à jour les tarifs par durée du séjour uniquement pour les combinaisons spécifiées de type de chambre, de plan tarifaire et de dates d'arrivée indiquées dans<StatusApplicationControl>. Remplace tous les tarifs par occupation associés aux valeurs de durée de séjour mises à jour.- Les mises à jour des tarifs utilisent l'action
Deltapar défaut. - Une mise à jour
Deltan'a aucune incidence sur les tarifs précédemment stockés pour d'autres durées de séjour. Par exemple, si vous avez spécifié des tarifs pour les durées de séjour de 1 et 2 nuits, et que vous envoyez une mise à jour des tarifsDeltapour la durée de séjour de 1 nuit, les tarifs par occupation pour la durée de séjour de 2 nuits restent inchangés. - Une mise à jour
Deltaremplace tous les tarifs par occupation précédemment stockés pour la durée du séjour indiquée. Par exemple, si vous avez spécifié des tarifs pour une et deux personnes pour une durée de séjour de 1 nuit, et que vous envoyez une mise à jour des tarifsDeltapour une durée de séjour de 1 nuit avec uniquement un tarif pour une personne, le tarif pour deux personnes est supprimé.
- Les mises à jour des tarifs utilisent l'action
Overlay: supprime tous les tarifs par nombre de personnes existants pour la durée du séjour, le type de chambre, le plan tarifaire et les dates d'arrivée spécifiés dans<StatusApplicationControl>, puis les remplace par de nouveaux tarifs. Par exemple, si vous avez spécifié des tarifs pour les LOS 1 et 2, et que vous envoyez une mise à jourOverlaypour le LOS 1, Google supprimera tous les tarifs précédents (LOS 1 et 2) et seul le tarif LOS 1 restera après la mise à jour.Remove: supprime tous les tarifs par nombre de personnes existants pour toutes les durées de séjour du type de chambre, du plan tarifaire et des dates d'arrivée spécifiés dans<StatusApplicationControl>.- Raison fiscale
Si les taxes et les frais sont simples, le montant total peut être spécifié à l'aide de
AmountAfterTax. Les taxes complexes, comme celles qui s'appliquent par séjour (plutôt que par nuit), ne peuvent pas être représentées dansAmountAfterTax.En général, Google recommande d'utiliser
TaxFeeInfoplutôt queAmountAfterTax.Si possible, vous devez inclure
AmountBeforeTax(même si vous spécifiezAmountAfterTax), car certaines langues (par exemple, l'anglais des États-Unis) affichent le prix hors taxes par défaut.Toutes les taxes et tous les frais qu'un utilisateur doit payer (TVA, taxe de séjour, frais de ménage, taxe de ville, etc.) doivent être inclus, même s'ils ne sont pas payés au moment de la réservation ou directement à l'établissement.
Exemple
Cette section fournit un exemple de base de message "Rate" utilisant des éléments obligatoires et facultatifs. Une fois votre fichier préparé, vous devez l'envoyer à Google à l'aide d'un message POST au point de terminaison suivant : https://www.google.com/travel/hotels/uploads/property_data.
Pour savoir comment envoyer (push/POST) le message, consultez Envoyer des messages.
Pour HotelCode, utilisez l'ID d'hôtel unique que vous avez utilisé dans votre système pour identifier l'établissement. Cette valeur doit correspondre à l'identifiant de l'hôtel spécifié à l'aide de <id> dans l'élément <listing> du flux Hotel List Feed. Pour <PackageID> et <RoomID>, utilisez les mêmes ID que ceux que vous utilisez dans votre système pour les plans tarifaires et les types de chambres (respectivement). Il est essentiel que vos données soient cohérentes avec votre système pour que Google affiche correctement vos prix et vos données.
Cet exemple montre comment définir des tarifs à l'aide d'une action Delta :
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2022-02-25T20:50:37-05:00"
Version="3.0"
NotifType="Delta">
<POS><Source><RequestorID ID="partner_key" /></Source></POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="2022-12-01"
End="2022-12-31"
InvTypeCode="RoomID"
RatePlanCode="PackageID" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt NumberOfGuests="1" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="2" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="3" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="4" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
</OTA_HotelRateAmountNotifRQ>
Guides pratiques
Cette section fournit des solutions aux scénarios que vous pouvez rencontrer lors de l'envoi de messages de taux.
Pour obtenir des exemples d'ajout, de suppression et de modification de tarifs, consultez Exemples de tarifs.
Scénario 1 : Modifier les tarifs par occupation
Description
Auparavant, les tarifs par nuit n'étaient définis que pour une occupation double (qui s'applique également à une occupation simple). Désormais, un tarif moins cher est disponible pour une occupation simple.
Solution
Envoyez le nouveau taux d'occupation 1 à l'aide de la mise à jour par défaut de portée Delta. Cette nouvelle valeur n'a aucune incidence sur le taux d'occupation 2.
Scénario 2 : Remplacer les tarifs par occupation pour un établissement
Description
Vous avez précédemment défini des tarifs pour les occupations de 1 à 4 personnes, mais désormais, seules les occupations de 1 et 2 personnes sont valides.
Solution
Utilisez NotifType="Overlay" pour remplacer tous les tarifs par nombre de personnes pour un établissement, un type de chambre, un plan tarifaire et une ou plusieurs dates donnés. Dans ce scénario, l'action Overlay listerait les tarifs pour les occupations 1 et 2.
Scénario 3 : Définir le même tarif pour plusieurs nombres de personnes
Description
Un tarif pour une certaine occupation peut être vendu à un groupe de personnes moins nombreuses. Dans ce scénario, vous pouvez simplifier vos messages en n'envoyant que la mise à jour du tarif pour l'occupation maximale applicable.
Solution
Si vous avez le même prix pour plusieurs niveaux d'occupation, définissez la valeur d'occupation la plus élevée compatible avec le type de chambre et le forfait. Cette valeur sera automatiquement utilisée pour les niveaux d'occupation inférieurs. Autrement dit, il n'est pas nécessaire de répéter le même tarif par nuit pour les taux d'occupation de 1 à 6 s'ils sont tous identiques. Il suffit de le définir pour 6.