Descripción general
Esta API te permite definir formas de aplicar de forma dinámica acciones a una tarifa siempre que se cumplan ciertas condiciones, como ajustar el precio o habilitar el reembolso. A diferencia de la API de Promociones, que solo puede aplicar promociones aptas con los descuentos más altos, esta API aplica cualquier acción cuando se cumplen ciertas condiciones, incluidos los ajustes de precios que, en última instancia, podrían aumentar el precio final.
Solicitudes
Sintaxis
El mensaje RateModifications
usa la siguiente sintaxis:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckoutDates>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Elementos y atributos
El mensaje RateModifications
tiene los siguientes elementos y atributos:
Elemento / @Attribute | Occurrences | Tipo | Descripción |
---|---|---|---|
RateModifications | 1 | Complex element | Es el elemento raíz de un mensaje de modificaciones de tarifas. |
RateModifications / @partner | 1 | string | La cuenta de socio de este mensaje. Este valor de string es el valor de “Clave de socio” que aparece en la
página Configuración de la cuenta de Hotel Center.
Nota: Si tienes un backend que proporciona feeds para varias cuentas, este valor debe coincidir con el valor del atributo |
RateModifications / @id | 1 | string | Un identificador único para este mensaje de solicitud. Este valor se muestra en el mensaje de respuesta. Los caracteres permitidos son a-z, A-Z, 0-9, _ (guion bajo) y - (guion). |
RateModifications / @timestamp | 1 | DateTime | La fecha y hora de creación de este mensaje. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Modificaciones en las tarifas de una propiedad Cada modificación de tarifa se aplica a una sola propiedad. Nota: Si se pueden aplicar varias modificaciones de tarifa a la misma tarifa, se aplicarán todas. No se garantiza ningún orden específico. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | Es el identificador único de la propiedad. Este valor debe coincidir con el ID de hotel especificado con
<id> en el elemento <listing> del feed de lista de hoteles. El ID de hotel también aparece en Hotel Center. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | Si no se especifica |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Una modificación de la tarifa única de una propiedad. Nota: Las modificaciones de tarifa son difíciles de depurar, por lo que te recomendamos que las uses con moderación. Comunícate con tu administrador técnico de cuentas (TAM) para los casos de uso que requieren más de 200 modificaciones de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Un identificador único para la modificación de la tarifa. La cantidad máxima de caracteres permitida es 40. Los caracteres permitidos son a-z, A-Z, 0-9, _ (guion bajo), - (guion) y . (punto). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Si no se especifica y no se almacena una modificación de tarifa con el mismo Si se especifica, el valor debe ser |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Es un contenedor de uno o más períodos que definen cuándo se debe realizar la reserva para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Es un período que especifica cuándo debe realizarse la reserva para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Indica la fecha de inicio (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser anterior o igual a la fecha end . Si no se especifica start , el período es realmente ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | La fecha de finalización (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser igual a la fecha start o posterior a ella. Si no se especifica end , el período es efectivamente ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | Indica los días de la semana que se permiten en el período. Si no se especifica, se permiten todos los días del período. Cada carácter de la string especifica un día. Por ejemplo, “MTWHF” especifica que los días de semana se permiten en el período. Los caracteres válidos son los siguientes:
Cualquier combinación de caracteres es válida. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Especifica el período durante el que se debe realizar la reserva en relación con la fecha de entrada (según la zona horaria de la propiedad). Por ejemplo, el período de reserva se puede establecer en 7 días como mínimo, pero no más de 180 días, antes de la entrada. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Es la cantidad mínima de días previos al registro de entrada en el que se debe realizar la reserva para que se aplique la modificación de la tarifa. Si no se especifica, no hay un mínimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Es la cantidad máxima de días previos al registro de entrada en los que se debe realizar la reserva para que se aplique la modificación de la tarifa. Si no se especifica, no hay un máximo. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Es un contenedor de uno o más períodos que define cuándo se debe registrar la entrada para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Es un período que especifica cuándo debe registrarse para que se aplique la modificación de la tarifa. Este elemento no es obligatorio si borras una o más modificaciones de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Indica la fecha de inicio (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser anterior o igual a la fecha end . Si no se especifica start , el período es realmente ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | La fecha de finalización (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser igual a la fecha start o posterior a ella. Si no se especifica end , el período es efectivamente ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | Indica los días de la semana que se permiten en el período. Si no se especifica, se permiten todos los días del período. Cada carácter de la string especifica un día. Por ejemplo, “MTWHF” especifica que los días de semana se permiten en el período. Los caracteres válidos son los siguientes:
Cualquier combinación de caracteres es válida. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Es un contenedor de uno o más períodos que definen cuándo debe realizarse la confirmación de la compra para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Es un período que especifica cuándo debe efectuarse la salida para que se aplique la modificación de la tarifa. Este elemento no es obligatorio si borras una o más modificaciones de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Indica la fecha de inicio (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser anterior o igual a la fecha end . Si no se especifica start , el período es realmente ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | La fecha de finalización (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser igual a la fecha start o posterior a ella. Si no se especifica end , el período es efectivamente ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Indica los días de la semana que se permiten en el período. Si no se especifica, se permiten todos los días del período. Cada carácter de la string especifica un día. Por ejemplo, “MTWHF” especifica que los días de semana se permiten en el período. Los caracteres válidos son los siguientes:
Cualquier combinación de caracteres es válida. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Contenedor para enumerar los dispositivos de los usuarios que son aptos para la modificación de la tarifa. Si se especifica, la modificación de la tarifa solo se aplica si el usuario coincide con uno de los dispositivos de la lista. Si no se especifica, no restringe la aplicación de la modificación de tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Define un tipo de dispositivo de usuario apto para la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Es un tipo de dispositivo. El valor debe ser desktop , tablet o mobile . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Acciones que se aplican a la tarifa si se cumplen todas las condiciones especificadas. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Modifica la tarifa multiplicando AmountBeforeTax y AmountAfterTax por el multiplicador especificado |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Tanto AmountBeforeTax como AmountAfterTax se multiplican por este valor. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Modifica la tarifa mediante la aplicación del ID de regla de tarifas especificado. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Este ID hace coincidir una tarifa con una definición del archivo de definición de reglas de tarifas.
Nota:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Reemplaza el reembolso de la tarifa al valor especificado.
Cuando configures los atributos, ten en cuenta lo siguiente:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | Configúralo como 1 o true para indicar si la tarifa permite un reembolso total; de lo contrario, configúralo como 0 o false (obligatorio). |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obligatorio si available es true ). Especifica la cantidad de días antes de la entrada en los que se puede solicitar un reembolso total. El valor de refundable_until_days debe ser un número entero entre 0 y 330, inclusive. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Recomendado si available es true ). Especifica
la última hora del día (en la hora local del hotel) en la que se acepta una solicitud
de reembolso total. Se puede combinar con
refundable_until_days para especificar, por
ejemplo, que “los reembolsos están disponibles hasta las 4:00 p.m. dos días antes de la
entrada”. Si no se configura refundable_until_time , el valor se establece de forma predeterminada en la medianoche. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Reemplaza la disponibilidad de la tarifa al valor especificado.
Solo se admite la configuración de la tarifa en unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Si es status="unavailable" , la tarifa se trata como si no estuviera disponible, independientemente de si existe un precio válido para ella. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Define los límites de la duración de la estadía dentro de los que se puede aplicar esta modificación de la tarifa. La modificación de la tarifa no se aplica cuando la duración de la estadía se encuentra fuera de los límites mínimos y máximos. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Es la cantidad mínima de noches permitidas en la estadía para que se aplique la modificación de la tarifa. Si no se especifica, no hay un mínimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Indica la cantidad máxima de noches permitidas en la estadía para que se aplique la modificación de la tarifa. Si no se especifica, no hay un máximo. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Especifica la suma mínima de las tarifas diarias de la habitación (con la tarifa más alta de
AmountBeforeTax o AmountAfterTax ) que se debe
superar para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Es el valor que se debe superar para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Contenedor de una lista de planes de tarifas a los que se aplica la modificación de tarifas. Si no se especifica <RatePlans> , la modificación de la tarifa se aplicará a todos los planes de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Especifica un plan de tarifas. Un plan de tarifas se define mediante una combinación de paquetes, tarifas y disponibilidad, como se define en los mensajes de transacción (datos de propiedad), OTA_HotelRateAmountNotifRQ y OTA_HotelAvailNotifRQ, y según lo identificado por el PackageID. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Es el identificador único del plan de tarifas. Este valor se asigna al valor de PackageID en <PackageData> en un mensaje de transacción (datos de propiedad) y en el atributo RatePlanCode en <StatusApplicationControl> en los mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ> .
La cantidad máxima de caracteres permitida es 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Contenedor de una lista de los tipos de habitaciones a los que se aplica la modificación de la tarifa.
La modificación de la tarifa se aplica a cada <RoomType> especificado. Si no se especifica <RoomTypes> , la modificación de la tarifa se aplicará a todas las habitaciones. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Especifica un tipo de habitación. Un tipo de habitación se define en un elemento <RoomData> en un mensaje de transacción (datos de propiedad) y se hace referencia a él mediante su valor <RoomID> . (el atributo InvTypeCode también hace referencia a su valor <RoomID> en los mensajes OTA_HotelRateAmountNotifRQ). |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | Es el identificador único del inventario (tipo de habitación). Este valor se asigna a <RoomID> en un mensaje de transacción (datos de propiedad).
La cantidad máxima de caracteres permitida es 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Es un contenedor para uno o más períodos que determinan cómo se aplica la modificación de la tarifa, por ejemplo, para ajustar los precios de temporada. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Describe cómo se debe aplicar la modificación de la tarifa. Estos son los valores válidos:
Este atributo siempre se debe especificar. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Es un período que especifica las fechas en las que se debe aplicar la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Indica la fecha de inicio (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser anterior o igual a la fecha end . Si no se especifica start , el período es realmente ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | La fecha de finalización (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser igual a la fecha start o posterior a ella. Si no se especifica end , el período es efectivamente ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | Indica los días de la semana que se permiten en el período. Si no se especifica, se permiten todos los días del período. Cada carácter de la string especifica un día. Por ejemplo, “MTWHF” especifica que los días de semana se permiten en el período. Los caracteres válidos son los siguientes:
Cualquier combinación de caracteres es válida. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Si se especifica, la modificación de la tarifa solo se aplica si el usuario se encuentra en uno de los países especificados. Si no se especifica, se aplica la modificación de la tarifa sin importar la ubicación del usuario. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Es el tipo de especificación UserPaíses.
Los valores válidos son Si Si el Si no estableces el |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Especifica un país del usuario permitido para la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Un código de país de CLDR, como DE o FR Ten en cuenta que, para algunos países, el código de país de CLDR no es el mismo que el código de país ISO de 2 letras. Tampoco se admiten los códigos regionales de CLDR. |
Ejemplos
Mensaje básico
En el siguiente ejemplo, se muestra un mensaje básico RateModifications
:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Borrar una modificación de tarifa
En el siguiente ejemplo, se muestra cómo borrar una modificación de tarifa de una propiedad:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
Borrar todas las modificaciones de tarifas
En el siguiente ejemplo, se muestra cómo borrar todas las modificaciones de tarifas de una propiedad:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
Superponer todas las modificaciones de tarifas
En el siguiente ejemplo, se muestra cómo superponer <HotelRateModifications>
para la propiedad con una o más modificaciones de tarifa nuevas. Cuando se action="overlay"
, todas las modificaciones de tarifa almacenadas se borran antes de almacenar las modificaciones de tarifa especificadas en el mensaje actual:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Varias acciones de modificación
En el siguiente ejemplo, se muestra cómo realizar varias acciones de modificación a la vez:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Cómo desactivar un plan de tarifas para los países de los usuarios
En el siguiente ejemplo, se muestra cómo limitar un plan de tarifas solo a los usuarios de japonés (JP
):
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Respuestas
Sintaxis
El mensaje RateModificationsResponse
usa la siguiente sintaxis:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
Elementos y atributos
El mensaje RateModificationsResponse
tiene los siguientes elementos y atributos:
Elemento / @Attribute | Occurrences | Tipo | Descripción |
---|---|---|---|
RateModifications | 1 | Complex element | Es el elemento raíz que indica el éxito o los problemas de un mensaje de solicitud de RateModifications recibido. |
RateModificationsResponse / @timestamp | 1 | DateTime | La fecha y hora de creación de este mensaje. |
RateModificationsResponse / @id | 1 | string | Es el identificador único del mensaje de RateModifications asociado. |
RateModificationsResponse / @partner | 1 | string | La cuenta de socio de este mensaje. |
RateModificationsResponse / Success | 0..1 | Success | Indica que el mensaje RateModifications se procesó correctamente sin advertencias, errores ni fallas.
Cada mensaje contiene |
RateModificationsResponse / Issues | 0..1 | Issues | Un contenedor para uno o más problemas encontrados durante el procesamiento del mensaje RateModifications.
Cada mensaje contiene |
RateModificationsResponse / Issues / Issue | 1..n | Issue | Es la descripción de una advertencia, un error o una falla que se encontró mientras se procesaba el mensaje de RateModifications. Puedes encontrar detalles sobre estos problemas en el artículo Mensajes de error sobre el estado del feed. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | Es el identificador del problema. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | El tipo de problema detectado. Los valores válidos son |
Ejemplos
Completado correctamente
La siguiente es una respuesta a un mensaje de RateModifications que se procesó correctamente.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Issues
La siguiente es una respuesta a un mensaje de RateModifications que no se procesó debido a errores.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>