Descripción general
El mensaje Promotions define reglas para las tasas de descuento con OTA_HotelRateAmountNotifRQ. Para cada tarifa, se evalúan las promociones definidas y se aplica el mayor descuento permitido. Este tipo de mensaje es opcional y solo debes definir promociones si se usan en tu sistema para aplicar descuentos en las tarifas.
Puedes combinar promociones y aplicarlas a diferentes atributos del usuario, como tipos de dispositivos (móvil, tablet, computadora de escritorio) y códigos de país.
Para ver ejemplos de diversas situaciones relacionadas con las promociones, consulta la sección de instrucciones.
En las siguientes secciones, se explican las pautas generales, un ejemplo básico y situaciones prácticas para que comiences a agregar y actualizar promociones.
Lineamientos
En esta sección, se describen los lineamientos comunes y las instrucciones especiales para configurar promociones.
Usa los siguientes lineamientos para las promociones:
Acciones
- Borrar
- Usa una acción
deleteen el elemento<Promotion>para borrar una sola promoción por su ID. - Superposición
- Usa una acción
overlayen el elemento<HotelPromotions>para reemplazar todas las promociones de una propiedad. - Delta
- Si no se especifica ninguna acción, se agregan o reemplazan todas las promociones especificadas en
<HotelPromotions>. Si nunca se agregó una promoción con ese ID o se borró, se agregará la promoción. Si existe una promoción con ese ID, se reemplazará con la nueva definición.
General
Puede haber una o varias promociones para cada propiedad, y cada promoción tiene un conjunto de condiciones. Esa promoción solo se puede aplicar si se cumplen las condiciones.
Las promociones se aplican a la tarifa del itinerario. No es posible establecer un descuento máximo por ocupante.
Si quieres que una promoción solo se aplique a una fecha, un tipo de habitación o un plan de tarifas específicos, indícalo en las condiciones de la promoción. Si la promoción no se aplica a una fecha, un tipo de habitación o un plan de tarifas específicos, no es necesario establecerlos.
Cada promoción está vinculada a una propiedad específica. Si usas la misma promoción para varias propiedades, debes enviarla por separado para cada una de ellas. Para especificar el identificador de tu propiedad, usa el atributo
hotel_iddel elemento<HotelPromotions>.Puedes incluir hasta 99 promociones. Comunícate con tu TAM de Google si necesitas incluir más de lo indicado.
Usa el elemento
<Stacking>para especificar cómo se pueden combinar las promociones. De forma predeterminada, Google usa el tipo de apilamientobase, lo que significa que se selecciona y aplica primero la mejor promoción básica apta, antes que otras promociones. Ten en cuenta quebasesolo se puede combinar consecondoany, y no se puede combinar con otrobaseonone.Incluso si hay varias promociones que se pueden aplicar juntas, es posible que no se use ese conjunto si hay otra promoción única o conjunto de promociones que ofrezcan un descuento mayor. La promoción (combinación) con el mayor descuento se aplica a la reserva cuando hay varias promociones (combinaciones) aptas.
Envía una actualización del mensaje de promociones cada vez que se produzcan cambios que afecten tus promociones.
Relacionado con los impuestos
La mejor promoción (o pila de promociones) se aplica al importe de AmountAfterTax. Si solo se especifica AmountBeforeTax, las promociones se aplican a AmountBeforeTax.
Ejemplo
En esta sección, se proporciona un ejemplo básico de un mensaje de Promociones con elementos obligatorios y opcionales. Una vez que hayas preparado tu archivo, envíalo a Google a través de un mensaje POST a este endpoint:
https://www.google.com/travel/hotels/uploads/promotions
Para obtener más información sobre cómo enviar el mensaje con POST o push, consulta Envío de mensajes con push.
Para el atributo hotel_id de <HotelPromotions>, usa el ID único del hotel que usaste en tu sistema para identificar la propiedad. Este valor debe coincidir con el ID del hotel especificado con <id> en el elemento <listing> del feed de lista de hoteles. La coherencia con tu sistema es fundamental para garantizar que Google muestre tus datos correctamente.
UserCountry se usa para enumerar las ubicaciones del usuario (países) que son aptas para la promoción. Si se especifica, solo los usuarios de los países enumerados recibirán la tarifa con descuento.
En este ejemplo, se muestra cómo establecer un descuento del 15% para una estadía prolongada para los usuarios de Italia y Estados Unidos:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123_abc"
timestamp="2022-05-30T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<UserCountries>
<Country code="US"/>
<Country code="IT"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
Para obtener más ejemplos, consulta Ejemplos de promociones.
Instructivos
En esta sección, se proporcionan soluciones para las situaciones que puedes encontrar cuando configuras promociones.
Situación 1: Cómo agregar una promoción de descuento para estadías prolongadas
Descripción
Quieres ofrecer noches con descuento en ciertos días de una estadía prolongada.
Solución
Usa el parámetro de configuración FreeNights para personalizar el tipo de descuento que se aplica según la cantidad de noches de estadía.
Muestra
En este ejemplo, se muestra cómo agregar un descuento del 20% para dos noches por cada 7 noches de estadía en el rango especificado de fechas de reserva. En un itinerario de 15 noches, se aplica un descuento del 20% a un total de 4 noches.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-05T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-02-01" end="2022-06-30"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="7"
discount_nights="2"
discount_percentage="20"
night_selection="cheapest"
repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
Situación 2: Cómo configurar los tipos de dispositivos
Configuras devices para especificar los dispositivos del usuario que son aptos para la promoción. Si se especifica, solo se les ofrecerá la tarifa con descuento a los usuarios de los dispositivos enumerados.
Descripción
Quieres especificar qué tipo de dispositivo del usuario es apto para la promoción.
Solución
Establece el tipo de dispositivo en uno o más de los siguientes valores: desktop, tablet o mobile.
Muestra
En el siguiente ejemplo, se muestra cómo especificar un descuento del 25% para los usuarios de dispositivos móviles y tablets:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="25"/>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
</Promotion>
</HotelPromotions>
</Promotions>
Situación 3: Cómo reemplazar promociones antiguas por promociones nuevas
Descripción
El conjunto actual de promociones de una propiedad está desactualizado o es incorrecto, y debe reemplazarse por un conjunto completamente nuevo.
Solución
Usa la acción overlay para reemplazar las promociones.
Muestra
En el siguiente ejemplo, se muestran los dos descuentos originales del 20% y el 30% para la propiedad.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
<Promotion id="2">
<BookingDates>
<DateRange start="2022-08-01" end="2022-08-31"/>
</BookingDates>
<Discount percentage="30"/>
</Promotion>
</HotelPromotions>
</Promotions>
Luego, este ejemplo muestra cómo usar overlay para reemplazar las dos promociones existentes por una sola promoción con un 15% de descuento para la propiedad.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-25T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="15"/>
</Promotion>
</HotelPromotions>
</Promotions>
Situación 4: Cómo quitar una o todas las promociones
Descripción
Quieres quitar una o todas las promociones (sin reemplazarlas) porque la propiedad quitó todas sus promociones sin establecer nuevas, o bien cometiste un error y debes corregirlo.
Solución
Usa la acción delete si solo deseas borrar promociones individuales específicas para una propiedad y usa la acción overlay (no delete) para quitar todas las promociones existentes sin reemplazarlas.
Para obtener detalles sobre cómo reemplazar promociones con overlay, consulta el escenario 3.
Ejemplos
En el siguiente ejemplo, se muestra cómo borrar solo una promoción de una propiedad:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
En este ejemplo, se muestra cómo quitar todas las promociones de una propiedad sin reemplazarlas:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
Situación 5: Cómo combinar promociones
El apilamiento especifica cómo se pueden combinar las promociones. Si no se especifica, se supone que type es base, lo que significa que se selecciona y aplica primero la mejor promoción base apta, antes que otras promociones. Cuando el atributo type de Stacking es any, se puede combinar con cualquier otra promoción.
Descripción
Quieres que el usuario tenga la opción de usar varias promociones al mismo tiempo para la misma propiedad.
Solución
Usa la combinación para establecer varios descuentos por propiedad. Una pila puede tener, como máximo, un base y un second, pero una cantidad ilimitada de any. Además, any se puede combinar con los otros tipos, excepto con none.
Muestra
En este ejemplo, se muestra cómo apilar los tipos de apilamiento base, second y any. Para un descuento combinado del 15%, el 25% y el 10%, un precio de USD 100 equivale a un total de USD 57.38 (100 × 0 .85 × 0 .75 × 0 .9).
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="25"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="40"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
Ten en cuenta que el descuento combinado de las promociones acumulativas 1 a 3 es mejor que el descuento de la promoción 4. La promoción 4 no se puede combinar con otras promociones debido a su tipo de acumulación (none). Si la promoción 4 tuviera un descuento del 43% o más, se usaría en lugar de la combinación de las promociones 1 a 3.