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 Solicitud de precios a terceros y Precios modificados.

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

La estructura del mensaje Query depende del tipo de mensaje:

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

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

Durante la configuración inicial, defines el extremo que Google usa para los mensajes de Query y las consultas de Live Pricing. Para obtener más información, comunícate con tu administrador técnico de cuentas (TAM).

Google envía un mensaje de Query como una solicitud HTTP POST 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 las pruebas manuales de la integración del extremo de precios a través de Google-TravelAds-Live. Esas búsquedas de ejemplo pueden incluir o no el encabezado User-Agent.

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

Mensajes de consulta de precios

Los mensajes de Pricing Query 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 Query:

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

  2. Con contexto: Si está habilitada, las recomendaciones basadas en el contexto del usuario se incluyen en cada búsqueda que te envía Google, y reflejan los tipos de usuarios más comunes que buscan las combinaciones de propiedades o itinerarios determinados. 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 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, como 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 la consulta de precios en vivo, Google intenta obtener un precio y mostrarlo en los resultados en el momento de la búsqueda.

Todas las solicitudes de consulta 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 considera que no se participó en 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 especifica en la configuración del socio.

Las búsquedas 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 búsquedas de precios en tiempo real, puedes mostrar precios más actualizados que coincidan con lo que buscó el cliente.

Las búsquedas de precios en tiempo real son un mecanismo secundario para las actualizaciones de precios. El mecanismo principal para cambiar los precios sigue siendo a través de los precios de extracción o modificados. Las búsquedas de precios en tiempo real ayudan a completar los vacíos en los que Google no tiene precios para las 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 el hotel se busca con muy poca frecuencia.

  • La fecha solicitada no es la predeterminada.

: Nota: Las fechas predeterminadas no son aptas para las búsquedas de precios en vivo. Las consultas de precios en tiempo real solo se solicitan para las fechas que no son 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 del usuario, el país desde el que realiza la búsqueda y la cantidad de ocupantes, incluidos los niños. Tanto el mensaje Query como el mensaje Transaction se expanden para incluir el elemento <Context>, que define los parámetros de búsqueda. Los precios que se reciben de las búsquedas de precios en tiempo real con contexto se pueden almacenar en caché como un paquete de habitación si se trata de un precio para una ocupación específica y como una tarifa condicional si se trata de un precio para el país o el dispositivo del usuario.

Con consultas de contexto

Las búsquedas con contexto son solicitudes periódicas para actualizar nuestra base de datos con las combinaciones de propiedades o itinerarios especificados. Contienen una lista de contextos del usuario que son populares para esas combinaciones. Si se usan tarifas condicionales, enviar tarifas para todos los contextos posibles del usuario puede ser costoso, por lo que puedes usar esta lista de contextos del usuario para limitar tu respuesta. Devolver precios solo para los contextos de usuario especificados abarca la gran mayoría de las búsquedas relevantes de los usuarios.

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

Mensajes de consulta de metadatos

Los mensajes de consulta de metadatos contienen detalles sobre la información de habitaciones y paquetes para 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 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é propiedades y qué itinerarios pueden ser el tema de los mensajes de Query de Google.

Límites del itinerario

Determinas los límites posibles de las búsquedas de precios con <ItineraryCapabilities>. Defines reglas que determinan el rango de fechas y las duraciones máximas de estadía que admites.

Puedes establecer valores predeterminados para <MaxAdvancePurchase> y <MaxLengthOfStay> que se apliquen a todas las combinaciones de hoteles o itinerarios. También puedes definir estos parámetros de 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 consultas.

Itinerario de muestra

En el siguiente ejemplo, se muestra un objeto <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 búsqueda 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 el precio de un solo hotel:

6/23/23 - 6/25/23

En la Referencia de XML para inventario de habitaciones y precios (transacciones), puedes encontrar una respuesta de mensaje de transacción de muestra para esta búsqueda.

Ejemplos de consultas con contexto

A continuación, se muestran ejemplos de la búsqueda 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>

Con Context queries, solo se especifica el contexto del país del usuario. En el futuro, es posible que estas búsquedas también especifiquen el dispositivo 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 fechas de entrada, los itinerarios exactos o los itinerarios con rangos. Para obtener más información sobre cada uno de estos tipos de sugerencias, consulta Mensajes de respuesta de sugerencia.

En el siguiente ejemplo, se muestra un mensaje de precios <Query> 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 de precios <Query> para 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

Estadías con Plus 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 la habitación y el paquete 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 Query con un mensaje de Transaction 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.