Messages de requête

Les messages de requête sont des demandes que Google envoie pour mettre à jour 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 requête dépend du type de message:

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

  • Métadonnées:nous envoyons un message de requête qui demande des informations sur les chambres et les formules pour 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. Une exception à cette règle se produit lors du test manuel de l'intégration du point de terminaison des 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 des messages de requête, consultez la documentation de référence XML sur les requêtes.

Messages de requête de prix

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

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

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

Il existe trois types spéciaux de messages de requête:

  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 spécifié pour répondre.

  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 la combinaison d'établissement ou de séjour donnée. Suivre ces recommandations peut améliorer l'efficacité de vos réponses.

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

Requêtes de prix en temps réel

Les requêtes de prix en temps réel sont des requêtes de 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 d'hôtel ou de séjour. Comme les données tarifaires ne sont pas disponibles ou ne sont pas à jour, Google vous demande de mettre à jour le 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.

Le temps de réponse de toutes les requêtes de requête de prix en temps réel est généralement limité à 4 000 millisecondes. Cette limite est spécifiée dans la requête de requête de prix en temps réel. Si aucune réponse ne peut être fournie dans le délai imparti, la participation est manquée pour l'opportunité spécifique. 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 dix 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 sont destinées à constituer un mécanisme secondaire de mise à jour des prix. Le mécanisme principal de refacturation est toujours le mode d'envoi "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 d'hôtel et de séjour.

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

  • Aucune donnée mise en cache n'existe pour le séjour donné, car le séjour demandé est atypique (par exemple, les dates sont très éloignées dans le futur ou l'hôtel est très peu recherché).

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

: Remarque: Les dates par défaut ne sont pas éligibles 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, ainsi que des combinaisons de plusieurs hôtels ou d'un seul séjour.

La fonctionnalité Requête de prix en temps réel en 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 dans lequel il effectue sa recherche et du nombre de personnes, y compris les enfants. Le message de requête et le message de transaction sont développés pour inclure l'élément <Context> qui définit les paramètres de requête. Les prix reçus lors 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 en tant que 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 être 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 établissements spécifiés.

Lorsque vous recevez un message de requête de métadonnées, vous devez répondre par un message <Transaction> spécifiant 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 itinéraires pouvant 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 requête

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 montre un <Query> qui demande la mise à jour des prix de quatre hôtels, disponibles pendant trois nuits et à 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 prix en temps réel

L'exemple suivant montre 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, la requête de prix est demandée pour un seul hôtel:

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 la tarification et l'inventaire des chambres (transactions).

Avec exemple de requête de contexte

Voici 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, vous ne spécifiez 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 des 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 requête de prix <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

Cela 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 pour les informations sur les chambres et les formules de 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.