Messages de requête

Les messages de demande sont des demandes de mise à jour de prix ou de métadonnées émanant de Google. 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:nous envoyons un message de requête qui demande des données 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 demande sous forme de requête HTTP POST avec l'en-tête Content-Type défini sur "application/xml" et l'en-tête User-Agent sur Google-HotelAdsPrices. L'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 détaillée des messages de requête, consultez la documentation de référence XML sur les requêtes.

Messages de requête sur les prix

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

Lorsque votre serveur reçoit un message de requête de pricing, il doit renvoyer 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, des requêtes sont envoyées lorsqu'un utilisateur parcourt 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 y répondre.

  2. Avec le contexte:si cette option est activée, les recommandations de contexte utilisateur sont incluses dans chaque requête envoyée par Google. 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 augmenter l'efficacité de vos réponses.

  3. Metadata (Métadonnées) : 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 permettant d'obtenir 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. Étant donné que les données tarifaires ne sont pas disponibles ou ne sont pas à jour, Google vous demande de mettre à jour les 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 prix en temps réel ont un temps de réponse limité à 4 000 millisecondes. Cette limite est spécifiée dans la requête de prix en temps réel. Si aucune réponse ne peut être fournie dans le délai imparti, vous ne pouvez pas participer à l'opportunité en question. 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 permettant d'obtenir 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 permettent de récupérer les prix pour les paramètres suivants: pays de l'utilisateur, type d'appareil, nombre de personnes (nombre de clients) et s'il s'agit d'adultes ou d'enfants. Les requêtes de prix en temps réel vous permettent d'afficher des prix plus à jour qui correspondent à la recherche du client.

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 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 les combinaisons hôtel/séjour.

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

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

  • 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 à nouveau interrogé. Il peut demander des combinaisons d'hôtels ou de séjours uniques, ainsi que des combinaisons 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 à partir duquel il effectue la recherche et du nombre de personnes, y compris les enfants. Le message Query 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 de 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 du pays de l'utilisateur ou de son appareil.

Avec des requêtes contextuelles

Avec le contexte, les requêtes sont des requêtes standards visant à mettre à jour notre base de données pour les combinaisons d'établissements ou de séjours spécifiés. Ils contiennent une liste de contextes utilisateur populaires pour ces combinaisons. Si des tarifs sous conditions sont utilisés, les tarifs d'envoi pour tous les contextes utilisateur possibles peuvent être coûteux. Vous pouvez donc utiliser cette liste de contextes utilisateur pour limiter votre réponse. Le fait de renvoyer les prix uniquement pour les contextes utilisateur spécifiés couvre la grande majorité des requêtes pertinentes des utilisateurs.

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 avec 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 itinéraires pouvant faire l'objet de messages de demande 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 de séjour 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 <Query> de prix 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 pour chaque hôtel:

5/23/18 - 6/26/18

Exemple 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, la requête demande le prix d'un seul hôtel:

6/23/23 - 6/25/23

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

Exemple de requête avec 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 contextuelles, seul le contexte du pays de l'utilisateur est spécifié. À l'avenir, ces requêtes pourront également spécifier l'appareil de l'utilisateur et le nombre de personnes.

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 itinéraires 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 prix <Query> pour des plages 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 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/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23

Cette somme 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 présente un message <Query> qui demande des mises à 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>

Vous répondez à ce type de message de requête par un message Transaction qui définit les métadonnées des chambres et des formules. Pour en savoir plus, consultez la section Définir des métadonnées de chambres et de formules.