Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les messages Transaction envoient à Google des données sur les chambres, les prix et les formules.
Il existe deux principaux types de messages Transaction:
Données sur le séjour: définissent l'offre de chambres et les données sur le séjour, y compris les suivantes:
Prix et inventaire de l'hôtel: définit le prix minimal d'un séjour répondant à certaines conditions. Pour en savoir plus, consultez la section Mettre à jour des prix.
Vous pouvez également supprimer une chambre de votre inventaire. Pour en savoir plus, consultez la section Supprimer des éléments de l'inventaire.
Offres de chambres: spécifient les tarifs d'un séjour correspondant à la combinaison d'une chambre physique et d'un ensemble de services supplémentaires. Pour en savoir plus, consultez la section Offres de chambres.
Google met en cache le contenu de vos messages Transaction pour que les prix soient disponibles à tout moment. Dans certains cas, Google découvre que les valeurs contenues dans le cache ne sont pas à jour, et peut alors envoyer des messages <Query> supplémentaires (ou, dans certains cas, des requêtes de prix en temps réel) pour obtenir les prix actualisés. En règle générale, ces données changent très fréquemment. Pour définir les tarifs et la disponibilité des messages Transaction, utilisez <Result>.
Métadonnées de chambres et de formules: contiennent des informations sur les chambres et les formules (par exemple, descriptions, photos et occupation maximale). Ces données ne changent pas très souvent. Pour définir des messages Transaction de métadonnées, utilisez <PropertyDataSet>. Google stocke ces métadonnées pour que vous puissiez y faire référence dans vos messages sur les tarifs au lieu d'inclure à chaque fois des informations répétitives sur les chambres et les formules. Pour en savoir plus, consultez la section Définir des métadonnées de chambres et de formules.
L'élément racine d'un message Transaction est <Transaction>. Les messages qui utilisent l'élément <Transaction> comme élément racine doivent comporter au moins l'un des éléments enfants. Les messages de transaction peuvent comporter autant d'éléments enfants que nécessaire, tant que la taille totale des messages ne dépasse pas 100 Mo.
Le type des messages Transaction et la fréquence à laquelle vous devez les envoyer dépendent du mode d'envoi utilisé:
Avec le mode d'envoi Pull, vous envoyez des messages Transaction lorsque vous recevez un message <Query> de la part de Google.
Avec le mode d'envoi "Requête de prix modifiés", vous envoyez un message Transaction après avoir reçu et répondu à un message <HintRequest> et <Query>.
Quel que soit le mode d'envoi utilisé, Google est également susceptible de vous envoyer des requêtes appelées requêtes de prix en temps réel. Ces messages Query demandent des prix qui répondent à une recherche en cours. Si vous répondez dans les délais impartis (généralement en quelques centaines de millisecondes), votre annonce peut apparaître dans l'enchère.
Vos résultats peuvent également mieux correspondre au client, par exemple à son pays, à son type d'appareil et au nombre de clients spécifié. Pour en savoir plus, consultez la section Requêtes de prix en temps réel.
Taille du message
Un même message Transaction peut inclure plusieurs mises à jour de données, mais sa taille ne doit pas dépasser 100 Mo. En règle générale, toutes les requêtes Pull et Hint request doivent répondre dans un délai de 100 secondes. Le délai avant expiration est un champ configurable que Google peut modifier sur demande. Google recommande de définir un délai d'expiration de 10 minutes pour les messages très volumineux.
Pour réduire considérablement la taille des messages, et éviter des erreurs causées par la taille des messages et les délais d'expiration, utilisez des messages Transaction pour prédéfinir vos métadonnées de chambres et de formules.
Vous pouvez également ajouter du contenu GNU compressé aux messages en ajoutant Content-Encoding: gzip aux en-têtes de messages.
Tous droits réservés. Java est une marque déposée d'Oracle et/ou ses affiliés.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[[["\u003cp\u003eTransaction messages relay data about rooms, prices, and packages to Google, encompassing itinerary details (like pricing and inventory) and room/package metadata (descriptions, photos, etc.).\u003c/p\u003e\n"],["\u003cp\u003eThese messages are delivered via Pull or Changed Pricing modes, with Google occasionally requesting live pricing for real-time search results (except for EEA users due to the new search experience).\u003c/p\u003e\n"],["\u003cp\u003eTransaction messages can combine various data updates, but they're limited to 100MB; pre-defining room/package metadata and using gzip compression can help manage size.\u003c/p\u003e\n"],["\u003cp\u003eGoogle might request updated pricing through additional Query or Live Pricing Queries if its cached data is deemed outdated, ensuring accurate information is displayed.\u003c/p\u003e\n"],["\u003cp\u003eWhen defining pricing and availability within Transaction messages, either \u003ccode\u003e<AllowablePackageIDs>\u003c/code\u003e or \u003ccode\u003e<AllowableRoomIDs>\u003c/code\u003e should be used, but not both, to specify room type and rate plan combinations.\u003c/p\u003e\n"]]],[],null,["# Overview of Transaction messages\n\nTransaction messages send data about rooms, prices, and packages to Google.\nThere are two primary types of Transaction messages:\n\n1. **Itinerary data**: Define Room Bundle and itinerary data including:\n\n - *Hotel prices and inventory* : Set the minimum price for an itinerary that\n meets certain requirements. For more information, see\n [Updating Prices](/hotels/hotel-prices/dev-guide/updating-prices).\n You can also remove a room from inventory. For more information, see\n [Remove inventory](/hotels/hotel-prices/dev-guide/removing-inventory).\n\n - *Room Bundles* : Set the itinerary prices for a combination of a physical\n room and a package of additional services. For more information,\n [Room Bundles](/hotels/hotel-prices/dev-guide/room-bundles).\n Google caches the contents of your Transaction messages so that the prices\n are available at all times. In some cases, Google determines that the values\n in its cache are not up to date, so it might send additional [`\u003cQuery\u003e`](../xml-reference/queries#Query)\n messages (or in some cases, [Live Pricing Queries](/hotels/hotel-prices/dev-guide/query-messages#live_pricing_queries))\n to get updated prices. This data typically changes very frequently. To\n define pricing and availability of Transaction messages, use [`\u003cResult\u003e`](../xml-reference/transaction-messages#Result).\n\n2. **Room and package metadata** : Specifies details about rooms and packages,\n such as a descriptions, photos, and maximum occupancy. This data does not\n change very often. To define metadata Transaction messages, use\n [`\u003cPropertyDataSet\u003e`](../xml-reference/transaction-messages#PropertyDataSet). Google stores this metadata so that you can refer to it\n from your pricing messages rather than include repetitive information about\n rooms and packages in every one. For more information, see\n [Define room and package metadata](/hotels/hotel-prices/dev-guide/room-bundles#metadata).\n\nThe root element of a Transaction message is [`\u003cTransaction\u003e`](../xml-reference/transaction-messages#Transaction). Messages that use\nthe `\u003cTransaction\u003e` element as the root element require at least one of the\nchild elements. Transaction messages can have any number of child elements, as\nlong as the total message size does not exceed 100MB.\n| **Key Point:** Use either `\u003cAllowablePackageIDs\u003e` or `\u003cAllowableRoomIDs\u003e`, but not both. If neither of these elements are defined in the Transaction message, room types can be combined with any rate plan.\n\nFor examples of Transaction messages responding to requests by Google, see\n[Pricing \\& Room Inventory (Transactions) XML Reference](/hotels/hotel-prices/xml-reference/transaction-messages).\n\nDelivery modes\n--------------\n\nThe type and frequency with which you send Transaction messages depends on your\ndelivery mode:\n\n- For the Pull delivery mode, you send Transaction messages when you receive a [`\u003cQuery\u003e`](../xml-reference/queries#Query) from Google.\n- For the Changed Pricing delivery mode, you send a Transaction message after receiving and responding to a [`\u003cHintRequest\u003e`](../xml-reference/queries#hintrequest) and `\u003cQuery\u003e`.\n\nFor more information, see [Pricing Delivery modes](/hotels/hotel-prices/dev-guide/delivery-mode).\n\nLive pricing queries\n--------------------\n\nRegardless of your delivery mode, Google might also send you requests known as\n*Live pricing queries* . These Query messages seek prices in response to a\n*current* search. If you respond within the specified timeframe which is\nusually a few hundred milliseconds, then your ad can appear in the auction.\nYour results can also better match the customer, including their country and\ndevice type, and the number of guests they specified. For more information, see\n[Live pricing queries](/hotels/hotel-prices/dev-guide/query-messages#live_pricing_queries).\n| **Key Point:** Due to the [New Search experience](/search/blog/2024/02/search-experiences-in-eea), Live Query has limited availability for EEA users.\n\nMessage size\n------------\n\nYou can include any combination of data updates in a single Transaction message,\nbut there is a 100MB limit on the size of each message. Typically, all Pull and\nHint Requests have a response time limit of 100 seconds. The timeout is a\nconfigurable field adjustable by Google as requested. Google recommends that you\nset the time-out to 10 minutes for very large messages.\n\nTo greatly reduce message size and potentially avoid issues with message\nsizes and time-outs, use Transaction messages to pre-define your\n[room and package metadata](/hotels/hotel-prices/dev-guide/room-bundles#metadata).\nYou can also add GNU zipped content to messages by adding\n`Content-Encoding: gzip` to the message headers."]]