Referencia de XML de consultas y sugerencias

En esta sección, se proporciona una referencia para los mensajes de solicitud de sugerencia, los mensajes de respuesta de sugerencia y los mensajes de consulta basados en XML de Google.

<Hint> (mensaje de respuesta con sugerencias)

Es el elemento raíz de un mensaje de respuesta con sugerencias. Los mensajes de respuesta de sugerencia especifican qué combinaciones de hoteles o itinerarios se deben volver a fijar. Son tu respuesta a un mensaje de solicitud de sugerencia de Google.

Un mensaje de Hint Response solo debe especificar aquellos hoteles cuyos precios hayan cambiado desde la última vez que Google recibió una respuesta Hint Response exitosa de tus servidores.

Los mensajes de respuesta de sugerencia usan uno de los siguientes métodos para especificar qué hoteles e itinerarios debe volver a fijar Google:

  • Itinerarios exactos: Es una combinación de la fecha de entrada y la duración de la estadía.

  • Rangos de fechas de entrada: Especifica un rango de fechas de entrada, que comienza con la primera fecha de entrada y finaliza con la última.

  • Estadías con rango (o itinerarios con rango)

Cada uno de estos métodos requiere una sintaxis diferente para el mensaje de respuesta de sugerencia.

Para obtener más información, consulta Mensajes de respuesta de sugerencias.

Sintaxis

El elemento <Hint> usa una sintaxis diferente según el tipo de mensaje de Hint Response:

Itinerarios exactos

A continuación, se muestra la sintaxis para los itinerarios exactos en un mensaje de respuesta de sugerencia:

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>hotel_ID</Property>
    ...
    <Stay>
      <CheckInDate>checkin_date</CheckInDate>
      <LengthOfStay>number_of_nights</LengthOfStay>
    </Stay>
  </Item>
  ...
</Hint>

Rangos de entrada

A continuación, se muestra la sintaxis de los rangos de entrada en un mensaje de respuesta de sugerencia:

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>hotel_ID</Property>
    [...]

    <!-- Required -->
    <FirstDate>first_checkin_date</FirstDate>
    <!-- Required -->
    <LastDate>last_checkin_date</LastDate>
  </Item>
  ...
</Hint>

Estadías con rango

A continuación, se muestra la sintaxis para las estadías con rango en un mensaje de respuesta de sugerencia:

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>1458700</Property>
    <Property>5418701</Property>
    <StaysIncludingRange>
      <!-- Required -->
      <FirstDate>2025-04-28</FirstDate>
      <!-- Optional -->
      <LastDate>2025-04-29</LastDate>
    </StaysIncludingRange>
  </Item>
  ...
</Hint>

Atributos

El elemento <Hint> contiene un atributo opcional: id. Cuando se proporciona, se incluye como el atributo hintId en los mensajes de <Query> que se envían según este <Hint>.

Elementos secundarios

El elemento <Hint> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Tipo de respuesta de sugerencia Descripción
<CheckInDate> Required Date Itinerarios exactos Es la fecha de entrada del itinerario.
<FirstDate> Required Date Intervalos de entrada y rangos de itinerarios Es la primera fecha del período para un rango de registro de entrada o un mensaje de respuesta de sugerencia de estadía con rango. Las fechas son inclusivas.
<Item> Required Object Todos Es un contenedor para el hotel o el itinerario que se actualizará.
<LastDate> Required* Date Intervalos de entrada y rangos de itinerarios

Es la última fecha del período para un mensaje de respuesta de sugerencia de período de registro de entrada o de estadía con rango. Las fechas son inclusivas.

* Este elemento es opcional para las estadías con rango de fechas.

<LengthOfStay> Required integer Itinerarios exactos Cantidad de noches del itinerario, expresada como un número entero positivo.
<Property> Required string Todos

Es el ID de un hotel, que usa el mismo ID que la lista de hoteles. La cantidad de elementos <Property> que puedes especificar en un solo bloque <Item> se determina según el tipo de mensaje de respuesta de sugerencia:

  • Itinerarios exactos: Hasta 100 hoteles
  • Intervalos de registro: Más de uno si estableces <MultipleItineraries> en "checkin_range" en tu mensaje <QueryControl>
  • Estadía con rango: Más de uno si configuras <MultipleItineraries> como "affected_dates" en tu mensaje de <QueryControl>
<Stay> Required Object Itinerarios exactos Es un contenedor para los elementos <CheckinDate> y <LengthOfStay> en un mensaje de respuesta de sugerencia de itinerario exacto. Cada <Item> solo puede contener un único <Stay>.
<StaysIncludingRange> Required Object Itinerarios con rangos Es un contenedor para los elementos <FirstDate> y <LastDate> en un mensaje de respuesta de sugerencia de estadía con rango.

Ejemplos

Itinerarios exactos

En el siguiente ejemplo, se definen varios itinerarios para una sola propiedad en un mensaje de respuesta de sugerencia:

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>4</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Rangos de entrada

En el siguiente ejemplo, se especifican dos hoteles cuyos precios cambiaron y deben recuperarse nuevamente. Google obtiene todos los itinerarios entre el 3 y el 6 de julio para las propiedades 12345 y 67890:

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Property>67890</Property>
    <FirstDate>2018-07-03</FirstDate>
    <LastDate>2018-07-06</LastDate>
  </Item>
</Hint>

Estadías con rango

En el siguiente ejemplo, se muestran dos usos diferentes de las estadías con rango, uno para un rango de noches y el otro para una sola noche:

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <!-- Google fetches prices for all itineraries (first and last date are set) -->
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
      <LastDate>2018-07-06</LastDate>
    </StaysIncludingRange>
  </Item>

  <!-- Google fetches prices for a single night (first date only) -->
  <Item>
    <Property>67890</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
    </StaysIncludingRange>
  </Item>
</Hint>

En cada uno de estos ejemplos, Google responde con un <Query>, y luego debes responder con un <Transaction> que incluya actualizaciones de precios para los hoteles o itinerarios especificados.

<HintRequest>

Es el elemento raíz de un mensaje de solicitud de sugerencias. Google envía un mensaje de solicitud de sugerencia a tu servidor y espera una respuesta que especifique los hoteles y los itinerarios cuyos precios cambiaron desde la última vez que Google recibió una respuesta de sugerencia exitosa de tu servidor.

Si hay cambios en los precios, Google envía un objeto <Query> que recupera los datos de precios actualizados para los hoteles y los itinerarios indicados.

Para obtener más información, consulta Mensajes de solicitud de sugerencia.

Sintaxis

El elemento <HintRequest> usa la siguiente sintaxis:

Sintaxis

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
  <LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>

Atributos

El elemento <HintRequest> no tiene atributos.

Elementos secundarios

El elemento <HintRequest> tiene los siguientes elementos secundarios:

Elemento secundario Tipo Descripción
<LastFetchTime> DateTime Es la última vez que Google logró enviar un mensaje de respuesta de sugerencia a un mensaje de solicitud de sugerencia.

Si esta fecha es anterior a la última vez que actualizaste los precios en tu servidor, debes responder con un mensaje de respuesta de sugerencia que especifique qué hoteles cambiaron.

Si no hubo una recuperación reciente exitosa, se establecerá en un valor de intervalo fijo (para evitar problemas más graves con grandes registros pendientes). El valor actual del intervalo fijo es de 1,000 segundos, pero está sujeto a cambios.

Para obtener más información, consulta Mensajes de respuesta de sugerencias.

Ejemplos

En el siguiente ejemplo, se muestra un mensaje de solicitud de sugerencia:

Mensaje de solicitud de sugerencia

En el siguiente ejemplo, se muestra un mensaje de solicitud de sugerencia:

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
  <LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>

<Query>

Es el elemento raíz de un mensaje Query. Los mensajes de Query son solicitudes de Google para actualizar los precios o los metadatos. Se usan con los modos de entrega Pull y Changed pricing.

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 Query:

  • Precios en tiempo real: Google responde a una solicitud específica del usuario y solicita una actualización de precios en tiempo real. Cuando los socios reciben un mensaje Live pricing query, deben responder con un mensaje <Transaction> que contenga la información de precios solicitada en elementos <Result>.

  • Con precios contextuales: Google actualiza su caché de precios en función de los contextos que históricamente son populares. Cuando recibas un mensaje With Context query, debes responder con un mensaje <Transaction> que contenga la información de precios solicitada en elementos <Result>.

    • Con Context Queries para una sola ocupación

      Cuando proporciones tarifas en respuesta a las búsquedas con contexto, solo debes enviar la tarifa correspondiente al contexto especificado. La tarifa base requiere un mínimo de 2 ocupantes, por lo que, si se pasa un solo ocupante en la tarifa base, se ignorará y se seguirá tratando como doble ocupación. En este caso, debes pasar la tarifa base como no disponible y usar la tarifa anidada dentro de la ocupación individual. Consulta el ejemplo de respuesta con contexto. Puedes usar Changed Pricing with Context para combinar tarifas configurando el atributo mergeable en "true". Obtén más información.

    • Precios modificados (antes, “Solicitud de precios a terceros con sugerencias”) con contexto

      Cuando envías una respuesta de mensaje <Transaction> a una búsqueda de precios modificados con contexto, Google la trata como un reemplazo completo de la información de precios y disponibilidad para un hotel o itinerario determinado, y todas las tarifas específicas del contexto se excluyen de la respuesta y se quitan de la caché.

      Para evitar el reemplazo, debes establecer el atributo mergeable en "true" dentro del elemento <Result> en el mensaje <Transaction>. Google agrega las tarifas a las tarifas almacenadas en caché existentes para el contexto proporcionado en la respuesta. Si no usas el atributo combinable, debes enviar todas las tarifas para todos los contextos aplicables en la respuesta.

    • Búsqueda de precios en tiempo real con contexto

      La búsqueda de precios en tiempo real con contexto tiene el comportamiento de atributo combinable de forma predeterminada, por lo que no es necesario configurar este atributo. Solo debes enviar las tarifas para los contextos específicos que solicitó Google si todos los demás contextos siguen siendo los mismos. Si cambiaron otros contextos, debes enviar los cambios de forma explícita para esos contextos. De lo contrario, las tarifas nuevas no se actualizarán en la caché de Google.

  • Metadatos: Google solicita actualizaciones de metadatos para las habitaciones y los paquetes de habitaciones de los hoteles especificados. Cuando recibas un mensaje Metadata Query, debes responder con un mensaje <Transaction> que especifique datos sobre las habitaciones y los paquetes de habitaciones en los elementos <PropertyDataSet>. Para obtener más información, consulta Metadatos de Room Bundle.

Sintaxis

El elemento <Query> usa la siguiente sintaxis:

Consulta de precios

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
</Query>

Precios en tiempo real

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
  <!-- See documentation below for <Context> -->
  <Context>
   ...
  </Context>
</Query>

Con consulta de contexto

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyContextList>
    <PropertyContext>
      <Property>hotel_id</Property>
      ...
      <!-- See documentation below for <Context> -->
      <Context>
      ...
      </Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

Metadatos

<HotelInfoProperties>
  <Property>property_ID</Property>
  ...
</HotelInfoProperties>

Atributos

El elemento <Query> puede contener un atributo: latencySensitive.

El atributo latencySensitive es opcional. Cuando se proporciona y se establece en true, indica que la búsqueda es de Live Pricing Query. Para que Google envíe búsquedas con el atributo latencySensitive, comunícate con tu administrador técnico de cuentas (TAM).

Elementos secundarios

El elemento <Query> tiene los siguientes elementos secundarios:

Elemento secundario Tipo de consulta Tipo Descripción
<AffectedNights> Pricing integer Es la cantidad de noches de una estadía con rango. Este elemento solo se usa para las búsquedas de precios de estadías con rango que se utilizan con los precios modificados.
<Checkin> Pricing Date Son las fechas de un cambio de precio específico.
<Context> Pricing (Live Pricing Queries only) <Context> En el caso de las búsquedas de precios en tiempo real, especifica ciertos parámetros según los cuales se realiza la búsqueda. Los elementos secundarios incluyen los siguientes:
  • <Occupancy>: La cantidad total de invitados
  • <OccupancyDetails>: El tipo de invitados, como adultos o niños
  • <UserCountry>: Es el país en el que se encuentra el usuario.
  • <UserDevice>: Es el tipo de dispositivo que usó el huésped para buscar un hotel, como "mobile," "tablet" o "desktop".

El elemento <Context> se puede repetir en una misma solicitud, lo que permite realizar búsquedas para diferentes ocupaciones. Consulta <Context> para obtener una lista de elementos secundarios, sintaxis y ejemplos.

<FirstDate> Pricing Date Es la fecha de inicio de un rango de itinerarios a los que se aplica el precio. Este elemento solo se usa para las consultas de precios de rango de fechas de entrada que se usan con precios modificados.
<HotelInfoProperties> Metadata string Una o más propiedades para las que Google desea metadatos actualizados de habitaciones y paquetes de habitaciones en un mensaje de metadatos Query. Este elemento puede contener uno o más elementos <Property> que especifican los IDs de las propiedades de hoteles.
<LastDate> Pricing Date Es la fecha de finalización de un período de itinerarios al que se aplica el precio. Este elemento solo se usa para las búsquedas de precios de rangos de fechas de entrada que se utilizan con Pull + Hints.
<Nights> Pricing integer Cantidad de noches de un itinerario en particular, hasta 30.
<PropertyList> Pricing Object

Son uno o más IDs de hoteles que requieren actualizaciones de precios.

Define cada hotel en un elemento <Property>. El valor es una cadena que coincide con un ID de hotel en tu lista de hoteles. Por ejemplo:

<PropertyList>
  <Property>pid1</Property>
  <Property>pid2</Property>
</PropertyList>

Ejemplos

Consulta de precios

En el siguiente ejemplo, se muestra un mensaje de consulta de precios que solicita actualizaciones de precios para un conjunto de hoteles, disponibles para 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>

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">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="8"/>
        <Child age="5"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

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

Con respuesta con contexto

En el siguiente ejemplo, se explica cómo establecer la tarifa base en unavailable(-1) para una sola ocupación y anidar las tarifas en el elemento <Occupancy>.

<?xml version="1.0" encoding="UTF-8"
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2025-11-19T18:36:48Z">
<Result>
  <Property>6781291</Property>
  <Checkin>2026-01-15</Checkin>
  <Nights>1</Nights>
  <!-- Base rate is set to -1 to indicate unavailability for the default (2-person) occupancy -->
  <Baserate currency="USD">-1</Baserate>
  <Tax currency="USD">0</Tax>
  <OtherFees currency="USD">0</OtherFees>
  <Rates>
    <!-- Nested Rate for Single Occupancy -->
    <Rate rate_rule_id="rule-951">
      <Occupancy>1</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
      </OccupancyDetails>
      <Baserate currency="USD">150.00</Baserate>
      <Tax currency="USD">15.00</Tax>
      <OtherFees currency="USD">5.00</OtherFees>
    </Rate>
  <!-- Other nested rates for different occupancies or room types could be included here if available -->
  </Rates>
</Result>
</Transaction>

Consulta de metadatos

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

Para ver más ejemplos, incluidas las consultas de precios de estadías con rangos y rangos de fechas de entrada, consulta los ejemplos de mensajes de Query.

<Context>

El elemento <Context> describe la información de un Live pricing query, incluidos la cantidad y el tipo de huéspedes, el país del usuario y el dispositivo del usuario.

Nunca se usarán varios <Context> con diferentes países o dispositivos de usuario. Cuando se usan varios <Context> para consultar varias ocupaciones, proporciona el precio de cada ocupación como un paquete de habitaciones adicional para la propiedad o el itinerario correspondiente. Cada propiedad o itinerario debe tener un solo bloque <Result> con los precios para múltiples ocupaciones incluidos.

Para obtener detalles sobre la respuesta de la búsqueda <Context>, consulta <OccupancyDetails>.

Sintaxis

El elemento <Context> usa la siguiente sintaxis:

Sintaxis

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>date</Checkin>
  <Nights>number_of_nights</Nights>
  <DeadlineMs>number_of_milliseconds</DeadlineMs>
  <PropertyList>
    <Property>property_ID</Property>
  </PropertyList>
  <Context>
    <Occupancy>total_number_of_guests</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
    <UserCountry>end_user_country</UserCountry>
    <UserDevice>user_device_type</UserDevice>
  </Context>
</Query>

Elementos secundarios

El elemento <Context> tiene los siguientes elementos secundarios:

Elemento secundario Tipo de consulta Tipo Descripción
<Occupancy> Pricing integer Especifica la cantidad total de invitados.

Si bien no es obligatorio, las búsquedas con <Occupancy> deberían generar un mensaje de transacción con los paquetes de habitaciones adecuados definidos para cada <Occupancy>, pero si los paquetes de habitaciones no están disponibles, se recomienda que especifiques el elemento <Occupancy>.

Nota: Es posible que <Occupancy> no siempre aparezca en una búsqueda. En esos casos, debes devolver los precios de todas las ocupaciones.

<OccupancyDetails> Pricing Object Está precedido por <Occupancy>. Especifica los invitados por tipo, incluidos los siguientes:
  • <NumAdults>: Cantidad de invitados adultos
  • <Children> y <Child="age">: Especifica qué invitados son niños (por lo general, de 0 a 17 años) y, de manera opcional, incluye la edad de cada niño.

Si bien no es obligatorio, las búsquedas con <OccupancyDetails> deben generar un mensaje de transacción con los paquetes de habitaciones adecuados definidos para cada <Occupancy>, pero si los paquetes de habitaciones no están disponibles, se recomienda que especifiques el elemento <OccupancyDetails>.

Nota: Es posible que <OccupancyDetails> no siempre aparezca en una búsqueda. En esos casos, debes suponer que todos los invitados son adultos.

<UserCountry> Pricing string

Filtra las tarifas según el país en el que se encuentra el usuario. El valor es un código de país de 2 letras, como "US" para Estados Unidos, o un código de región, como "EU" para "Europa".

Las búsquedas con <UserCountry> definido deben generar un mensaje de transacción con el bloque <Rates> adecuado definido para el país consultado.

<UserDevice> Pricing string

Filtra las tarifas según el tipo de dispositivo desde el que realiza la búsqueda el usuario. Valores posibles:

  • mobile
  • desktop
  • tablet

Las búsquedas con <UserDevice> definido deben generar un mensaje de transacción con el bloque <Rates> adecuado definido para el tipo de dispositivo consultado.

Ejemplos

Ocupación

En el siguiente ejemplo, se muestra una búsqueda de precios en tiempo real para <Occupancy> dentro de <Context>. La búsqueda de precios en tiempo real es para 3 huéspedes adultos.

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Detalles de ocupación

En el siguiente ejemplo, se muestra una búsqueda de precios en tiempo real con <OccupancyDetails> dentro de <Context>. La búsqueda de precios en tiempo real es para 4 huéspedes, 2 de los cuales son niños, y busca una tarifa aplicable a una reserva de un huésped de EE.UU. desde un dispositivo móvil:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="4"/>
        <Child age="12"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Varios contextos

En el siguiente ejemplo, se muestra el uso de un elemento <Context> adicional en una consulta de precios en tiempo real.

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
  <Context>
    <Occupancy>6</Occupancy>
    <OccupancyDetails>
      <NumAdults>4</NumAdults>
      <Children>
        <Child age="6"/>
        <Child age="10"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>