Mensajes de consulta

Los mensajes de consulta son solicitudes de Google para obtener actualizaciones de precios o metadatos. Se usan con los modos de entrega de precios de extracción 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 las habitaciones y los paquetes en los hoteles especificados.

Durante la configuración inicial, defines el extremo que Google usa para los mensajes de consulta y las consultas de precios en tiempo real. 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 POST HTTP con el encabezado Content-Type establecido en "application/xml" y el encabezado User-Agent establecido en 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. Es posible que esas consultas de muestra contengan o no el encabezado User-Agent.

Puedes encontrar el formato detallado de los mensajes de consulta en la Referencia de XML de consultas.

Mensajes de consulta de precios

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

Cuando tu servidor recibe un mensaje de consulta de precios, debe responder con un mensaje <Transaction> que contenga la información de precios solicitada.

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

Existen tres tipos especiales de mensajes de consulta:

  1. Precios en tiempo real: Si está habilitado, las consultas se envían cuando un usuario está navegando activamente por los precios de la propiedad o la combinación de itinerario especificadas, y tienes un período determinado para responder.

  2. Con contexto: Si está habilitado, 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 la propiedad o las combinaciones de itinerario determinadas. Seguir estas recomendaciones puede aumentar la eficiencia de tus respuestas.

  3. Metadatos: Es una solicitud de detalles sobre las habitaciones y los paquetes de las propiedades especificadas.

Consultas de precios en tiempo real

Las consultas de precios en tiempo real son solicitudes de Google para obtener 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, debido a que los datos de precios no están disponibles o no están actualizados, Google 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 de precios en tiempo real tienen un límite de tiempo de respuesta que suele ser 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 produce una participación perdida para la oportunidad específica. Sin embargo, te recomendamos que proporciones un precio de todos modos para que se pueda almacenar en caché y 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 precios para 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 buscó el cliente.

Las consultas de precios en tiempo real están diseñadas para ser un mecanismo secundario para las actualizaciones de precios. El mecanismo principal para el cambio de precios sigue siendo a través de los precios de extracción o modificados. Las consultas de precios en tiempo real ayudan a llenar los vacíos en los que Google no tiene precios para combinaciones de hoteles o itinerarios.

Reglas para usar 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 en el futuro o el hotel se busca con muy poca frecuencia.

  • La fecha solicitada no es la predeterminada.

: Nota: Las fechas predeterminadas no son aptas para las consultas de precios en tiempo real. Las consultas de precios en tiempo real solo se solicitan 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 un solo itinerario.

La función Precios en tiempo real con contexto permite que Google envíe solicitudes de precios en tiempo real específicas según el tipo de dispositivo de un usuario, el país desde el que realiza la búsqueda y la cantidad de ocupantes, incluidos los niños. Tanto el mensaje de consulta como el mensaje de transacción se expanden para incluir el <Context> elemento, 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 habitaciones, si es un precio para una ocupación específica, y como una tarifa condicional, si es para un país o dispositivo del usuario.

Consultas con contexto

Las consultas con contexto son solicitudes habituales para actualizar nuestra base de datos para la propiedad o las combinaciones de itinerario especificadas. Contienen una lista de contextos de usuario que son populares para esas combinaciones. Si se usan tarifas condicionales, enviar tarifas para todos los contextos de usuario posibles puede ser costoso, por lo que puedes usar esta lista de contextos de usuario para limitar tu respuesta. Devolver precios solo para los contextos de usuario especificados abarca la gran mayoría de las consultas de usuarios pertinentes.

Si te interesa recibir consultas con contexto, comunícate con tu administrador técnico de cuentas (TAM). Puede confirmar que estás listo para recibir esos mensajes y, luego, realizar un ajuste de configuración para comenzar a enviarte contextos de usuario en las consultas.

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 recibas un mensaje de consulta de metadatos, debes responder con un mensaje <Transaction> que especifique los precios de las propiedades solicitadas en los elementos <Result>.

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

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 consultas.

Itinerario de muestra

En el siguiente ejemplo, se muestra una <Query> de precios que solicita actualizaciones de precios para 4 hoteles, disponibles durante 3 noches y 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 mensaje de transacción de muestra como respuesta a esta consulta en la Referencia de XML para inventario de habitaciones y precios (transacciones).

Ejemplos de consultas con contexto

A continuación, se muestran ejemplos de consultas con contexto:

Consulta básica 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, 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>

Consulta con contexto que incluye la ocupación

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2025-07-10</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <Context>
        <UserCountry>US</UserCountry>
      </Context>
      <Occupancy>3</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
        <Children>
          <Child age="7"/>
        </Children>
      </OccupancyDetails>
    </PropertyContext>
    <PropertyContext>
      <Property>8675310</Property>
      <Context>
        <UserCountry>GB</UserCountry>
      </Context>
      <Occupancy>1</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
      </OccupancyDetails>
    </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 del usuario.

Períodos de fechas de entrada

Si usas precios modificados, la estructura del mensaje de consulta depende del tipo de sugerencia que uses para los períodos de fechas 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 <Query> de precios para los períodos de fechas 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 precios 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

Estadías con rango

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

<?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 (pero la incluyen):

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 consulta de metadatos

En el siguiente ejemplo, se muestra un mensaje <Query> que solicita actualizaciones de metadatos para la información de las habitaciones y los paquetes de 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>

Respondes a este tipo de mensaje de consulta con un mensaje de transacción que define los metadatos de las habitaciones y los paquetes. Para obtener más información, consulta Cómo definir metadatos de habitaciones y paquetes.