Messages de requête

Les messages de requête sont des demandes que Google envoie pour modifier les prix ou les métadonnées. Ils sont utilisés avec les modes d'envoi "Pull" et "Requête de prix modifiés".

L'élément racine des messages de requête est <Query>.

La structure du message de demande dépend du type de message:

  • Prix:nous envoyons un message de requête dans lequel nous exigeons la mise à jour des prix pour les hôtels spécifiés.

  • Métadonnées:Google envoie un message de requête qui demande les informations sur les chambres et les formules dans les hôtels spécifiés.

Vous définissez le point de terminaison que Google utilise pour les messages de requête et les requêtes de prix en temps réel lors de la configuration initiale. Pour en savoir plus, contactez votre responsable de compte technique (TAM).

Google envoie un message de requête sous la forme d'une requête HTTP POST avec l'en-tête Content-Type défini sur "application/xml" et l'en-tête User-Agent défini sur Google-HotelAdsPrices. L'exception à cette règle se produit lors du test manuel de l'intégration du point de terminaison de prix via Google-TravelAds-Live. Ces exemples de requêtes peuvent contenir ou non l'en-tête User-Agent.

Pour en savoir plus sur la mise en forme détaillée des messages de requête, consultez la documentation de référence sur les requêtes XML.

Messages de requête de prix

Les messages de requête de prix spécifient les combinaisons d'établissements ou de séjours pour lesquelles vous indiquez les prix.

Lorsque votre serveur reçoit un message de demande de pricing, il doit répondre par un message <Transaction> contenant les informations tarifaires demandées.

Pour en savoir plus, consultez la page Présentation des tarifs.

Il existe trois types spéciaux de messages de demande:

  1. Requête de prix en temps réel:si cette option est activée, les requêtes sont envoyées lorsqu'un utilisateur consulte activement les prix pour la combinaison d'établissement ou de séjour spécifiée, et que vous disposez d'un délai de réponse spécifique.

  2. Avec le contexte:si cette option est activée, les recommandations de contexte utilisateur sont incluses dans chaque requête que Google vous envoie. Elles reflètent les types d'utilisateurs les plus courants qui recherchent les combinaisons d'établissements ou de séjours donnés. Suivre ces recommandations peut améliorer l'efficacité de vos réponses.

  3. Metadata (Métadonnées) : il s'agit d'une requête de détails sur les chambres et les formules pour les établissements spécifiés.

Requêtes liées aux requêtes de prix en temps réel

Les requêtes de prix en temps réel sont des requêtes envoyées par Google pour des mises à jour de prix en temps réel en réponse aux recherches des utilisateurs. Google reçoit une requête de recherche d'un utilisateur pour une combinaison hôtel/séjour. Comme les données tarifaires ne sont pas disponibles ou obsolètes, nous vous demandons de mettre à jour vos prix au moment de la recherche. Avec les requêtes de prix en temps réel, Google tente d'obtenir un prix et de l'afficher dans les résultats au moment de la recherche.

Toutes les requêtes de requêtes de prix en temps réel sont soumises à un temps de réponse maximal de 4 000 millisecondes. Cette limite est spécifiée dans la requête de requête de prix en temps réel. Si vous ne pouvez pas fournir de réponse dans le délai imparti, la participation est manquée pour l'opportunité concernée. Toutefois, nous vous recommandons de fournir un prix afin qu'il puisse être mis en cache et utilisé pour de futures opportunités. La connexion pour la réponse reste ouverte pendant 10 minutes ou comme spécifié dans la configuration du partenaire.

Les requêtes de prix en temps réel sont également contextuelles et peuvent récupérer les prix pour les paramètres suivants: le pays de l'utilisateur, le type d'appareil, le nombre de personnes (nombre de personnes) et si ces clients sont des adultes ou des enfants. Les requêtes de prix en temps réel vous permettent d'afficher des prix plus à jour correspondant à ce que le client a recherché.

Les requêtes de prix en temps réel constituent un mécanisme secondaire de mise à jour des prix. Le mécanisme principal de calcul des nouveaux tarifs reste les modes "Pull" ou "Requête de prix modifiés". Les requêtes de prix en temps réel permettent de combler les lacunes lorsque Google ne dispose pas de prix pour des combinaisons hôtel/séjour.

Règles d'utilisation des requêtes de prix en temps réel

  • Il n'existe aucune donnée mise en cache pour le séjour demandé, car celui-ci est atypique (par exemple, les dates sont très éloignées dans le futur ou l'hôtel fait l'objet de très peu de recherches).

  • La date demandée n'est pas une date par défaut.

: Remarque: Les dates par défaut ne sont pas prises en compte pour les requêtes de prix en temps réel. Les requêtes de prix en temps réel ne sont demandées que pour des dates autres que celles par défaut.

Google met généralement en cache les résultats d'une requête de prix en temps réel afin que le même hôtel ou séjour ne soit pas interrogé à nouveau. Elle peut demander des combinaisons d'un seul hôtel ou séjour, ou de plusieurs hôtels ou d'un seul séjour.

La fonctionnalité Requête de prix en temps réel avec contexte permet à Google d'envoyer des requêtes de prix en temps réel spécifiques en fonction du type d'appareil d'un utilisateur, du pays depuis lequel il effectue sa recherche et du nombre de personnes (y compris les enfants). Le message de requête et le message Transaction sont développés pour inclure l'élément <Context> qui définit les paramètres de requête. Les prix reçus à partir des requêtes de prix en temps réel avec contexte peuvent être mis en cache en tant qu'offre de chambres s'il s'agit d'un prix pour un nombre de personnes spécifique et d'un tarif sous conditions s'il s'agit d'un pays ou de l'appareil de l'utilisateur.

Avec des requêtes de contexte

Les requêtes de contexte sont des requêtes régulières visant à mettre à jour notre base de données pour les combinaisons d'établissements ou de séjours spécifiées. Ils contiennent une liste de contextes utilisateur populaires pour ces combinaisons. Si vous utilisez des tarifs sous conditions, l'envoi de tarifs pour tous les contextes utilisateur possibles peut s'avérer coûteux. Vous pouvez donc utiliser cette liste de contextes utilisateur pour limiter votre réponse. Les prix renvoyés uniquement pour les contextes utilisateur spécifiés couvrent la grande majorité des requêtes utilisateur pertinentes.

Messages de requête de métadonnées

Les messages de requête de métadonnées contiennent des informations sur les chambres et les formules pour les hôtels spécifiés.

Lorsque vous recevez un message de requête de métadonnées, vous devez répondre avec un message <Transaction> qui spécifie les prix des établissements demandés dans les éléments <Result>.

Pour en savoir plus, consultez Définir des métadonnées de chambres et de formules.

Requêtes de contrôle

Cette section explique comment contrôler les établissements et les séjours qui peuvent faire l'objet de messages de requête de Google.

Limites du séjour

Vous déterminez les limites possibles des requêtes de prix à l'aide de <ItineraryCapabilities>. Vous définissez des règles qui déterminent la plage de dates et la durée maximale des séjours que vous acceptez.

Vous pouvez définir des valeurs par défaut pour <MaxAdvancePurchase> et <MaxLengthOfStay>, qui s'appliquent à toutes les combinaisons d'hôtel ou de séjour. Vous pouvez également définir ces paramètres pour des groupes d'hôtels.

Exemples de messages de demande

Cette section présente plusieurs exemples de messages de requête de prix et un message de requête de métadonnées. Vous trouverez d'autres exemples dans la documentation de référence sur les requêtes XML.

Exemple de séjour

L'exemple suivant présente un prix <Query> qui demande la mise à jour des prix de quatre hôtels, disponibles pour trois nuits à partir du 23 mai 2023:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Dans cet exemple, le message demande la mise à jour des prix de chaque hôtel:

5/23/18 - 6/26/18

Exemple de requête de requête de prix en temps réel

L'exemple suivant présente une requête de prix en temps réel avec un temps de réponse limité à 500 millisecondes:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
     be configured to be displayed, on request, by Google. This attribute is only
     displayed for a Live Pricing Query request -->
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
     received by. This element is only displayed for a Live Pricing Query request -->
  <PropertyList>
    <Property>6781291</Property>
  </PropertyList>
<!-- Note that Context tags are potentially repeatable -->
  <Context>
<!-- The total number of guests occupying the room (adults+children) -->
    <Occupancy>3</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
      <Children>
        <Child age="5"/>
      </Children>
    </OccupancyDetails>
<!-- The user was located in the US when this search was made -->
    <UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Dans cet exemple, le prix d'un seul hôtel est demandé:

6/23/23 - 6/25/23

Vous trouverez un exemple de message de transaction répondant à cette requête dans la documentation de référence XML sur les tarifs et l'inventaire des chambres (transactions).

Exemple de requête contextuelle

L'exemple suivant présente un exemple de requête avec contexte:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, occupancy and device might be specified -->
      <Context><UserCountry>US</UserCountry></Context>
      <Context><UserCountry>GB</UserCountry></Context>
    </PropertyContext>
    <PropertyContext>
      <Property>8675310</Property>
      <Property>8675311</Property>
      <Context><UserCountry>CA</UserCountry></Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

Avec les requêtes de contexte, les requêtes ne spécifient que le contexte du pays de l'utilisateur. À l'avenir, ces requêtes pourront également spécifier l'appareil et le nombre de personnes de l'utilisateur.

Plages de dates d'arrivée

Si vous utilisez le mode Requête de prix modifiés, la structure du message de requête dépend du type d'indication que vous utilisez pour les plages de dates d'arrivée, les séjours exacts ou les séjours inclus dans une période. Pour en savoir plus sur chacun de ces types d'indications, consultez la section Messages de réponse d'indication.

L'exemple suivant présente un message de requête de prix <Query> pour une plage de dates d'arrivée:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2023-05-23</FirstDate>
  <LastDate>2023-05-26</LastDate>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Dans cet exemple, le message demande la mise à jour des prix pour les séjours suivants (pour chaque hôtel):

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/24/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23

Séjours inclus dans une période

L'exemple suivant présente un message de tarification <Query> pour des séjours inclus dans une période:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2023-05-23</FirstDate>
  <LastDate>2023-05-26</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Dans cet exemple, le message demande la mise à jour des prix de chaque hôtel:

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23

Cette offre s'applique également aux séjours débutant avant (mais incluant) la nuit du jour d'arrivée:

5/20/23 - 5/23/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23

Message de requête de métadonnées

L'exemple suivant montre un message <Query> demandant la mise à jour des métadonnées des informations sur la chambre et la formule pour plusieurs établissements:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

Pour répondre à ce type de message de requête, vous devez envoyer un message Transaction qui définit les métadonnées des chambres et des formules. Pour en savoir plus, consultez Définir des métadonnées de chambres et de formules.