Présentation
Le message ARI Transaction (Données sur un établissement) définit les informations sur les types de chambres et les formules (ou plans tarifaires) de chaque établissement. Les données de chaque type de chambre incluent un identifiant unique (RoomID), un nom localisé, une description et des URL vers des photos de la chambre. Chaque donnée de forfait inclut un identifiant unique (PackageID), un nom localisé, une description, une occupation et des avantages.
Vous pouvez utiliser un message transactionnel pour effectuer les opérations suivantes :
- Définissez les données pour une ou plusieurs propriétés.
- Définissez les informations sur les types de chambres et les formules pour chaque établissement.
- Contrôler les offres de produits.
Vous pouvez également définir des actions pour effectuer les opérations suivantes :
Ajoutez un type de chambre et une formule à un établissement.
Supprimez un type de chambre et un forfait d'un établissement.
Ajoutez des points de fidélité ou un programme de récompenses à un forfait ou à un établissement.
Pour obtenir des exemples de messages de transaction, consultez Exemples de messages de transaction (données sur un établissement).
É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 Transaction (Données sur un établissement).
Syntaxe et schémas
Utilisez l'exemple de syntaxe de transaction (données sur un établissement) comme référence lorsque vous créez le message de transaction pour vous assurer 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 Transaction, consultez Schémas Hotel Ads.
Consignes
Pour un message Transaction, suivez les consignes ci-dessous :
- Actions :
delta: permet d'ajouter ou de mettre à jour de nouveaux types de chambres et forfaits (plans tarifaires).overlay: permet de remplacer tous les types de chambres et forfaits d'un établissement par un nouvel ensemble. Vous devez inclure des informations sur tous les types de chambres et plans tarifaires que vous souhaitez continuer à vendre.- Langues disponibles :
Indiquez une ou deux langues (l'anglais et une langue locale pour l'établissement, si nécessaire) pour les champs "Nom", "Description" et "Légende". Vous pouvez ajouter plus de deux langues si nécessaire.
- Types de chambres et formules :
Lorsque vous mettez à jour un type de chambre ou une formule, vous devez envoyer toutes les informations associées. Par exemple, lorsque vous ajoutez une photo, vous devez également inclure le nom et la description.
<AllowablePackageIDs>et<AllowableRoomIDs>sont facultatifs. S'ils ne sont pas définis, n'importe quelle combinaison de type de chambre et de plan tarifaire peut être effectuée. Vous devez toujours envoyer la disponibilité et les tarifs avec les ID du type de chambre et du plan tarifaire. Ces éléments vous permettent de contrôler les produits et de désactiver les combinaisons que votre système ne prend plus en charge.Envoyez à Google un message Transaction mis à jour chaque fois que les types de chambres ou les formules changent, ou que des informations importantes sur les types de chambres ou les formules doivent être ajoutées.
- Points de fidélité :
Pour inclure ou exclure le programme de récompenses dans votre forfait, configurez un programme de fidélité avec Google. Les points gagnés associés à ce forfait s'affichent. En savoir plus sur les points de fidélité
Utilisez l'élément
<MilesIncluded>pour définir ou mettre à jour votre campagne de fidélité. Pour en savoir plus, consultez Transaction(données de propriété). Les points de fidélité peuvent être inclus avec<PackageData>.
Exemple
Cette section fournit un exemple de base de message de transaction ARI utilisant des éléments obligatoires et facultatifs. Pour ajouter ou modifier des types de chambres et des formules, vous pouvez utiliser une action pour delta afin d'ajouter ou de modifier des types de chambres et des formules, ou overlay pour remplacer toutes les définitions de types de chambres et de formules (supprime les anciennes entrées).
Vous devez spécifier une ou deux langues (l'anglais et une langue locale pour l'établissement, si nécessaire) pour les champs "Nom", "Description" et "Légende". Ensuite, ajoutez des informations sur les données de la propriété, y compris des liens vers des photos.
Pour <PropertyID> et <RoomID>, utilisez les mêmes ID que ceux que vous utilisez dans votre système pour les plans tarifaires et les types de chambre (respectivement). La cohérence avec votre système est essentielle pour que Google affiche correctement vos prix et vos données.
Une fois votre fichier préparé, vous devez l'envoyer à Google via un message POST au point de terminaison suivant : https://www.google.com/travel/hotels/uploads/property_data.
Pour savoir comment envoyer/POSTER le message, consultez Envoyer des messages.
L'exemple suivant montre comment définir le message de transaction à l'aide d'une action delta :
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
<PropertyDataSet action="delta">
<Property>PROPERTYID</Property>
<RoomData>
<RoomID>ROOMID</RoomID>
<Name><Text text="ROOM NAME" language="en"/></Name>
<Description>
<Text text="ROOM DESCRIPTION TEXT" language="en"/>
</Description>
<Capacity>4</Capacity>
<PhotoURL>
<Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
<URL>https://LINK TO PHOTO</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>BASE</PackageID>
<Name><Text text="Internet Special" language="en"/></Name>
<Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
<Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
</PackageData>
</PropertyDataSet>
</Transaction>
Pour obtenir d'autres exemples, comme l'utilisation de l'action overlay, l'ajout d'un type de chambre et d'une formule à des données d'établissement existantes, et la suppression de types de chambres et de formules existants, consultez Exemples de transactions (données sur un établissement).
Guides pratiques
Cette section fournit des solutions aux scénarios que vous pouvez rencontrer lors de l'envoi de messages de transaction.
Scénario 1 : Supprimer les données sur les types de chambre
Comment supprimer les données existantes sur les types de chambres et/ou les formules ?
Description
Vous avez envoyé plusieurs types de chambres pour l'établissement, y compris des chambres doubles et des chambres avec un lit king size. Tous les types de chambres doubles sont indisponibles pendant les travaux de rénovation. Seuls les types de chambres doubles avec un grand lit sont actuellement disponibles.
Solution
- Vous n'avez pas besoin de mettre à jour la disponibilité, les tarifs ni l'inventaire pour les ID de types de chambres et de forfaits qui ont été supprimés ou désactivés.
- Si le type de chambre ou la formule ont été supprimés ou désactivés, envoyez un nouveau message Transaction avec
action="overlay"qui n'inclut que les types de chambre et les formules toujours actifs, et exclut le type de chambre ou la formule supprimés.
Échantillon
Cet extrait XML montre comment utiliser l'action overlay pour supprimer un type de chambre.
Voici l'action delta d'origine qui inclut les types de chambre "King" et "Queen" :
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<RoomData>
<RoomID>Queen</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<Capacity>2</Capacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
Vous pouvez ensuite définir overlay pour supprimer le type de chambre "Queen" et conserver le type de chambre "King" :
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
Scénario 2 : Contrôler les produits à l'aide de AllowablePackageIDs
Comment contrôler les produits (combinaisons de types de chambres et de formules) lorsque les formules sont regroupées par type de chambre ?
Description
Vous proposez certaines formules qui ne sont disponibles que pour certains types de chambres. Par exemple, si votre établissement propose quatre types de chambres (y compris la suite présidentielle) et six forfaits différents, mais que seuls quelques forfaits sont éligibles à la suite présidentielle, vous pouvez spécifier l'éligibilité.
Solution
Envoyez un message Transaction mis à jour qui indique les produits inclus dans le colis à l'aide de <AllowablePackageIDs>.
Échantillon
Cet extrait XML montre comment utiliser <AllowablePackageIDs> pour spécifier les forfaits utilisés avec un certain type de chambre. Ici, le type de chambre "Suite Penthouse" n'autorise que la formule tout compris Penthouse ou la formule petit-déjeuner gratuit, tandis que le type de chambre "Suite King" n'autorise que la formule tout compris King ou la formule animaux acceptés.
<RoomData>
<RoomID>penthouse_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
<AllowablePackageID>free_breakfast</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>king_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>king_all_inclusive</AllowablePackageID>
<AllowablePackageID>pet_friendly</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>pet_friendly</PackageID>
</PackageData>
Scénario 3 : Contrôler des produits à l'aide d'AllowableRoomIDs
Comment contrôler les produits (combinaisons de types de chambres et de formules) lorsque les types de chambres sont regroupés par formule ?
Description
Une combinaison type de chambre et séjour organisé n'est plus vendue en tant que produit ou vous souhaitez contrôler ce qui est inclus dans une nouvelle formule. Par exemple, vous souhaitez spécifier uniquement certains types de chambres, comme les chambres doubles et les chambres avec un grand lit avec vue sur l'océan, avec un séjour organisé.
Solution
Envoyez un message Transaction mis à jour qui spécifie les produits exacts inclus dans le forfait à l'aide de l'élément <AllowableRoomIDs>.
Échantillon
Cet extrait de code XML montre comment utiliser <AllowableRoomID> pour spécifier les types de chambres "King avec vue sur l'océan" et "Queen avec vue sur l'océan" dans le forfait.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>