Mensajes de respuesta con sugerencias

Cuando Google envía un mensaje de solicitud de sugerencia, tus servidores deben responder con un mensaje de respuesta de sugerencia que especifique los hoteles cuyos precios cambiaron desde la última vez que Google recibió una respuesta de sugerencia exitosa de esos mismos servidores. Si hay algún cambio de precio, Google entonces envía un <Query> que recupera los datos de precios actualizados para los hoteles y los itinerarios indicados.

Para obtener una descripción general del proceso de cambio de precios, consulta la Descripción general de precios.

Los mensajes de respuesta de sugerencia usan los siguientes métodos para cambiar los precios de los hoteles seleccionados y sus itinerarios:

El elemento raíz de un mensaje de respuesta de sugerencia es <Hint>. Para solicitar que se actualice un hotel o un itinerario, usa uno o más <Item> elementos. Un solo mensaje de respuesta de sugerencia puede definir cualquier cantidad de elementos <Item>.

Cada mensaje de respuesta de sugerencia debe especificar al menos un elemento <Property> para cada <Item>. El <Property> identifica un hotel con los mismos IDs que la lista de hoteles. De forma predeterminada, especificas un solo ID de hotel para cada <Item> bloque. Sin embargo, puedes indicarle a Google que permita varios hoteles en un bloque de elementos si usas períodos de fechas de entrada o estadías dentro de un período para cambiar los precios.

Flujo de solicitud y respuesta de itinerario exacto

Los mensajes de sugerencia pueden basarse en itinerarios individuales, como la combinación de la fecha de entrada y la duración de la estadía. En este caso, especificas una fecha de entrada y una duración de la estadía para tus hoteles, y Google recupera los datos de precios nuevos solo para ese itinerario.

Respuesta del socio

El siguiente mensaje de respuesta de sugerencia define una sola propiedad y un solo itinerario:

<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2023-05-20</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Respuesta de Google

Google responde a tu mensaje de respuesta de sugerencia con un <Query> similar a lo siguiente:

<Query>
  <Checkin>2023-05-20</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

Crea <Transaction>

Luego, debes crear un <Transaction> con las actualizaciones de precios del hotel para la siguiente estadía:

5/20/23 - 5/23/23

Flujo de solicitud y respuesta de períodos de fechas de entrada

Un mensaje de respuesta de sugerencia puede especificar un período de fechas de entrada, que comienza con la primera fecha de entrada y termina con la última. Cuando Google recupera datos de precios nuevos, extrae los itinerarios para cada fecha de entrada del hotel a partir de esas fechas y hasta la duración de la estadía que indiques.

Fechas dentro de un período del socio

En el siguiente ejemplo de mensaje de respuesta de sugerencia, se define una sola propiedad con un período de fechas para la entrada:

<Hint>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

Respuesta de Google

Google responde a este mensaje de respuesta de sugerencia con <Query> similar a lo siguiente:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <Nights>5</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

Crea <Transaction>

Luego, debes crear un <Transaction> con las actualizaciones de precios para las siguientes estadías de ese hotel:

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/20/23 - 5/24/23
5/20/23 - 5/25/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/21/23 - 5/25/23
5/21/23 - 5/26/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/22/23 - 5/26/23
5/22/23 - 5/27/23

En este ejemplo, se usa una duración de la estadía de 5 noches. La duración predeterminada de la estadía es de 30 días.

Flujo de solicitud y respuesta de estadías dentro de un período

Un mensaje de respuesta de sugerencia puede incluir un período de fechas que cambiaron. Esto le informa a Google que debe recuperar cualquier itinerario afectado por alguna de esas fechas. El conjunto real de itinerarios recuperados es una función del conjunto de fechas con cambios y de la duración máxima de la estadía.

Estadías dentro de un período del socio

En el siguiente ejemplo de mensaje de respuesta de sugerencia, se usan estadías dentro de un período:

<Hint>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Respuesta de Google

Google responde a tu mensaje de respuesta de sugerencia con un <Query> similar a lo siguiente:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>12345</Property>
    <Property>67891</Property>
  </PropertyList>
</Query>

Crea <Transaction>

Luego, debes crear un <Transaction> con las actualizaciones de precios del hotel para las siguientes estadías:

5/17/23 - 5/20/23

5/18/23 - 5/20/23
5/18/23 - 5/21/23

5/19/23 - 5/20/23
5/19/23 - 5/21/23
5/19/23 - 5/22/23

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23

5/21/23 - 5/22/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

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23

Estadías dentro de un período: Límites de procesamiento por lotes y división de consultas

Google limita cada consulta de extracción a un máximo de 10,000 combinaciones de pares de hotel-itinerario (un hotel, una fecha de entrada y una duración de la estadía). Para una sugerencia de estadía dentro de un período, la cantidad de combinaciones se calcula con la fórmula del trapecio para calcular la cantidad de combinaciones de pares de hotel-itinerario para las consultas de estadías dentro de un período:

$$ \text{Total Items} = \left( \text{Date Span} \times \text{LOS} + \frac{\text{LOS} \times (\text{LOS} + 1)}{2} \right) \times N_{\text{hotel_batch_size}} $$

Donde:

  • Date Span: Es la cantidad inclusiva de días entre <FirstDate> y <LastDate> (Date span = LastDate - FirstDate + 1).
  • LOS: Es la duración máxima de la estadía solicitada en la sugerencia (por ejemplo, <AffectedNights>14</AffectedNights>).
  • \(N_{\text{hotel_batch_size}}\): Es la cantidad de propiedades incluidas en el lote de consultas (configuradas a través de hotel_batch_size).

¿Qué sucede cuando una sugerencia supera los 10,000 elementos?

Si los elementos calculados superan los 10,000, Google divide automáticamente la carga de trabajo de la consulta:

  1. Intento inicial (Estadía dentro de un período): Se envía una ventana de fechas más pequeña que abarca el inicio de tu período con <AffectedNights>.
  2. Primer alternativa (si se admite, período de entrada): Intentaremos enviar los restos más pequeños de tu período como consultas de período de fechas de entrada con <Nights> (consulta a continuación).
  3. Alternativa final (itinerarios exactos): Volveremos a expandir el conjunto de consultas a los itinerarios exactos individuales.
<!-- Example: Remainder batch dispatched after a split -->
<Query>
  <FirstDate>2026-10-01</FirstDate>
  <LastDate>2026-10-31</LastDate>
  <Nights>14</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>
  • Mantén equilibrados los tamaños de los lotes de propiedades: Si actualizas ventanas de fechas grandes (como de 180 a 365 días) con duraciones de estadía de 14 noches o más, pídele a tu administrador de cuentas técnicas de Google que establezca tu hotel_batch_size en un valor más bajo para evitar que las sugerencias activen divisiones.
  • Delimita las sugerencias de forma precisa: Cuando le notifiques a Google los cambios de precios, restringe los períodos <FirstDate> y <LastDate> a los intervalos de fechas específicos en los que cambiaron las tarifas, en lugar de enviar un año calendario completo.
  • Si tus sugerencias abarcan períodos grandes: Asegúrate de que tu analizador acepte o dentro de los bloques que contienen <FirstDate> y <LastDate> para que se puedan usar varios tipos de consultas dentro de un período para satisfacer las solicitudes de extracción.