Mensajes de consulta

Los mensajes de consulta son solicitudes de Google de actualizaciones de precios o metadatos. Se usan con los modos de entrega de solicitud de precios a terceros y precios modificados.

El elemento raíz de los mensajes de consulta es <Query>.

La estructura del mensaje de consulta depende del tipo de mensaje:

  • Precios: Google envía un mensaje de consulta que solicita actualizaciones de precios para los hoteles especificados.

  • Metadatos: Google envía un mensaje de consulta que solicita datos sobre la información de la habitación y el paquete en los hoteles especificados.

Debes definir el extremo que Google usa para los mensajes de consulta y las consultas de precios en tiempo real durante la configuración inicial. Para obtener más información, comunícate con tu administrador técnico de cuentas (TAM).

Google envía un mensaje de consulta como una solicitud HTTP POST con el encabezado Content-Type configurado como “application/xml” y el encabezado User-Agent configurado como Google-HotelAdsPrices. La excepción a esta regla se produce durante la prueba manual de la integración del extremo de precios a través de Google-TravelAds-Live. Esas consultas de muestra pueden contener o no el encabezado User-Agent.

Puedes encontrar el formato detallado para los mensajes de consulta en la referencia de XML de consulta.

Mensajes de consulta de precios

Los mensajes de consulta de precios especifican las combinaciones de propiedad o itinerario para las que proporcionas los precios.

Cuando el servidor recibe un mensaje de consulta de pricing, debería responder con un mensaje <Transaction> que contenga la información de precios solicitada.

Para obtener más información, consulta la Descripción general de los precios.

Existen tres tipos especiales de mensajes de consulta:

  1. Precios en tiempo real: Si están habilitados, las consultas se envían cuando un usuario explora activamente los precios de la combinación especificada de propiedad o itinerario y tienes un período específico para responder.

  2. Con contexto: Si se habilita, las recomendaciones de contexto del usuario se incluyen en cada consulta que te envía Google, y las recomendaciones reflejan los tipos más comunes de usuarios que buscan las combinaciones de propiedad o itinerario determinadas. Seguir estas recomendaciones puede aumentar la eficiencia de tus respuestas.

  3. Metadatos: Esta es una solicitud de detalles sobre habitaciones y paquetes para las propiedades especificadas.

Consultas de precios en tiempo real

Las consultas de precios en tiempo real son solicitudes de Google de actualizaciones de precios en tiempo real en respuesta a las búsquedas de los usuarios. Google recibe una solicitud de búsqueda de un usuario para una combinación de hotel o itinerario y, como los datos de precios no están disponibles o no son actuales, te solicita una actualización de precios en el momento de la búsqueda. Con las consultas de precios en tiempo real, Google intenta obtener un precio y mostrarlo en los resultados en el momento de la búsqueda.

Todas las solicitudes de consultas con precios en tiempo real tienen un límite de tiempo de respuesta que, por lo general, es de hasta 4,000 milisegundos. Este límite se especifica en la solicitud de consulta de precios en tiempo real. Si no se puede proporcionar una respuesta dentro del límite de tiempo, se perderá la participación en la oportunidad específica. Sin embargo, te recomendamos que proporciones un precio de todos modos para que se pueda almacenar en caché y se pueda usar en oportunidades futuras. La conexión para la respuesta permanece abierta durante diez minutos o según se especifique en la configuración del socio.

Las consultas de precios en tiempo real también son contextuales y pueden recuperar los precios de los siguientes parámetros: país del usuario, tipo de dispositivo, ocupación (cantidad de huéspedes) y si esos huéspedes son adultos o niños. Con las consultas de precios en tiempo real, puedes mostrar precios más actualizados que coincidan con lo que el cliente buscó.

Las consultas de precios en tiempo real deben ser un mecanismo secundario para las actualizaciones de precios. El mecanismo principal para la revisión de precios aún es la solicitud de precios a terceros o los precios modificados. Las consultas de precios en tiempo real ayudan a completar los vacíos en los que Google no tiene precios de combinaciones de hoteles o itinerarios.

Reglas para usar las consultas de precios en tiempo real

  • No existen datos almacenados en caché para el itinerario determinado porque el itinerario solicitado es atípico; por ejemplo, las fechas son muy lejanas o las búsquedas del hotel son muy poco frecuentes.

  • La fecha solicitada no es una fecha predeterminada.

: Nota: Las fechas predeterminadas no son aptas para las consultas de precios en tiempo real. Las consultas de precios en tiempo real se solicitan solo para fechas no predeterminadas.

Por lo general, Google almacena en caché los resultados de los precios en tiempo real para que no se vuelva a consultar el mismo hotel o itinerario. Puede solicitar combinaciones de un solo hotel o itinerario, así como combinaciones de varios hoteles o itinerarios individuales.

La función Precios en tiempo real con contexto permite que Google envíe solicitudes específicas de precios en tiempo real según el tipo de dispositivo del usuario, el país desde el que realiza la búsqueda y la cantidad de ocupantes, incluidos los niños. Los mensajes de consulta y de transacción se expanden para incluir el elemento <Context> que define los parámetros de consulta. Los precios recibidos de las consultas de precios en tiempo real con contexto se pueden almacenar en caché como un paquete de habitación, si es un precio para una ocupación específica y como una tarifa condicional, si es para el país o el dispositivo del usuario.

Con consultas de contexto

Las consultas con contexto son solicitudes regulares para actualizar nuestra base de datos según las combinaciones especificadas de propiedad o itinerario. Contienen una lista de contextos de usuario que son populares para esas combinaciones. Si usas tasas condicionales, las tarifas de envío para todos los contextos de usuario posibles pueden ser costosas, por lo que puedes usar esta lista de contextos de usuarios para limitar tu respuesta. Los precios que se muestran solo para los contextos de usuario especificados cubren la gran mayoría de las búsquedas relevantes de los usuarios.

Mensajes de consulta de metadatos

Los mensajes de consulta de metadatos contienen detalles sobre la información de las habitaciones y los paquetes de las propiedades especificadas.

Cuando recibes un mensaje de consulta de metadatos, debes responder con un mensaje <Transaction> que especifique el precio de las propiedades solicitadas en los elementos <Result>.

Para obtener más información, consulta Cómo definir metadatos de habitaciones y paquetes.

Consultas de control

En esta sección, se describe cómo controlar qué itinerarios y propiedades pueden ser el asunto de los mensajes de consulta de Google.

Límites del itinerario

Puedes determinar los límites posibles de las consultas de precios mediante <ItineraryCapabilities>. Debes definir reglas que determinen el rango de fechas y la duración máxima de la estadía que admites.

Puedes establecer valores predeterminados para <MaxAdvancePurchase> y <MaxLengthOfStay> que se apliquen a todas las combinaciones de hotel o itinerario. También puedes definir esta configuración para grupos de hoteles.

Ejemplos de mensajes de consulta

En esta sección, se muestran varios ejemplos de mensajes de consulta de precios y un mensaje de consulta de metadatos. Puedes encontrar ejemplos adicionales en la referencia de XML de consulta.

Itinerario de muestra

En el siguiente ejemplo, se muestra un <Query> de precios que solicita actualizaciones de precio para 4 hoteles, disponibles por 3 noches, a partir del 23 de mayo de 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>

En este ejemplo, se solicitan actualizaciones de precios para cada hotel:

5/23/18 - 6/26/18

Ejemplo de consulta de precios en tiempo real

En el siguiente ejemplo, se muestra una consulta de precios en tiempo real con un límite de tiempo de respuesta de 500 milisegundos:

<?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>

En este ejemplo, se solicita un precio para un solo hotel:

6/23/23 - 6/25/23

Puedes encontrar un ejemplo de respuesta de mensaje de transacción a esta consulta en la referencia de XML de precios y inventario de habitaciones (transacciones).

Ejemplo de consulta de contexto

A continuación, se muestra un ejemplo de una consulta con contexto:

<?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>

Las consultas con contexto solo especifican el contexto del país del usuario. En el futuro, es posible que esas consultas también especifiquen el dispositivo y la ocupación del usuario.

Períodos de entrada

Si usas Precios modificados, la estructura del mensaje de consulta depende del tipo de sugerencia que uses para los períodos de entrada, los itinerarios exactos o los itinerarios con rango. Para obtener más información sobre cada uno de estos tipos de sugerencias, consulta Mensajes de respuesta de sugerencias.

En el siguiente ejemplo, se muestra un mensaje de precios <Query> para los períodos de fecha de entrada:

<?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>

En este ejemplo, se solicitan actualizaciones de precio para las siguientes estadías (para cada hotel):

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

Alojamientos a distancia

En el siguiente ejemplo, se muestra un mensaje de precios <Query> para estadías en un rango de precios:

<?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>

En este ejemplo, se solicitan actualizaciones de precios para cada hotel:

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

Además de las estadías que comenzaron antes de la noche determinada (incluidas estas):

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

Mensaje de la consulta de metadatos

En el siguiente ejemplo, se muestra un mensaje <Query> que solicita actualizaciones de metadatos de la información de la habitación y del paquete para varias propiedades:

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

Debes responder a este tipo de mensaje de consulta con un mensaje de transacción que define los metadatos de la habitación y el paquete. Para obtener más información, consulta Cómo definir metadatos de habitaciones y paquetes.