Descripción general
Esta API te permite definir formas de aplicar acciones de manera dinámica a una tarifa cuando se cumplan las condiciones, como ajustar el precio o habilitar el reembolso. A diferencia de la API de promociones, que solo se puede aplicar con los descuentos más grandes, esta API aplica todas las acciones cuando se cumplen ciertas condiciones, incluidos los ajustes de precio que podrían en última instancia, 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 | Casos | Tipo | Descripción |
---|---|---|---|
RateModifications | 1 | Complex element | Es el elemento raíz de un mensaje de modificaciones de tarifa. |
RateModifications / @partner | 1 | string | La cuenta de socio de este mensaje. Este valor de cadena es el
"Clave de socio" valor que aparece en
el
Página Configuración de la cuenta en Hotel Center.
Nota: Si tienes un backend que proporciona feeds para
varias cuentas, este valor debe coincidir con el |
RateModifications / @id | 1 | string | Un identificador único para este mensaje de solicitud. Se muestra este valor 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 de tarifas de una propiedad. Se aplica cada modificación de tarifa en una sola propiedad. Nota: Si se pueden aplicar varias modificaciones de tarifa a la misma tarifa, se aplican todas las modificaciones. No se muestra ningún orden específico garantizada. |
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>
en el 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 sola modificación de la tarifa de una propiedad. Nota: Las modificaciones de tarifa son difíciles de depurar y, recomendamos usarlas 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 tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Es un identificador único para la modificación de la tarifa. El número máximo de caracteres permitidos es de 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 una modificación de tarifa con el mismo
Si se especifica, el valor debe ser |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Un contenedor para uno o más períodos que definen cuándo se debe hacer la reserva para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Un período que especifique cuándo debe ocurrir una reserva para la tarifa con la que se aplicará la modificación. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | La fecha de inicio (según la zona horaria de la propiedad), inclusive, de
el período. Esta fecha debe ser anterior o igual a la del
end fecha. Si no se especifica start , la fecha
el rango es eficazmente 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, de los
durante un período específico. Esta fecha debe ser igual o posterior a la
start fecha. Si no se especifica end , la fecha
el rango es eficazmente 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 es así especificado, todos los días están permitidos en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "MTWHF" especifica que están permitidos los días de la semana 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 cual la reserva debe ocurrir en relación con la fecha de entrada (según la zona horaria de la propiedad). Por ejemplo, el El período de reserva se puede establecer en 7 días como mínimo, pero no en más de 180 días antes de la entrada. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | La cantidad mínima de días antes del registro de entrada cuando debe realizarse la reserva para que se aplique la modificación de la tarifa. Si no se especifica, habrá no es un mínimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | La cantidad máxima de días antes del registro de entrada cuando debe realizarse la reserva para que se aplique la modificación de la tarifa. Si no se especifica, habrá no hay un máximo. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Un contenedor para uno o más períodos que definen 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 | Un período que especifica cuándo se debe registrar la entrada para la tarifa con la que se aplicará la modificación. Este elemento no es obligatorio si tienes borrar una o más modificaciones de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | La fecha de inicio (según la zona horaria de la propiedad), inclusive, de
el período. Esta fecha debe ser anterior o igual a la del
end fecha. Si no se especifica start , la fecha
el rango es eficazmente 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, de los
durante un período específico. Esta fecha debe ser igual o posterior a la
start fecha. Si no se especifica end , la fecha
el rango es eficazmente 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 es así especificado, todos los días están permitidos en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "MTWHF" especifica que están permitidos los días de la semana 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 | Un contenedor para uno o más períodos que definen la fecha de salida debe ocurrir para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Un período que especifica cuándo debe ocurrir la salida para la tarifa con la que se aplicará la modificación. Este elemento no es obligatorio si tienes borrar una o más modificaciones de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | La fecha de inicio (según la zona horaria de la propiedad), inclusive, de
el período. Esta fecha debe ser anterior o igual a la del
end fecha. Si no se especifica start , la fecha
el rango es eficazmente 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, de los
durante un período específico. Esta fecha debe ser igual o posterior a la
start fecha. Si no se especifica end , la fecha
el rango es eficazmente 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 es así especificado, todos los días están permitidos en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "MTWHF" especifica que están permitidos los días de la semana 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 mostrar una lista de los dispositivos de los usuarios que son aptos para el la modificación de la tarifa. Si se especifica, la modificación de la tarifa solo se aplica se aplican si el usuario coincide con uno de los dispositivos de la lista. Si no se especifica, esto 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 que es apto para la tarifa en caso de que haya modificaciones. |
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 especifican todas las condiciones los objetivos de la empresa. |
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 son
multiplicado 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 de tu
archivo Rate Rule Definition.
Nota:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Reemplaza el reembolso de la tarifa por el valor especificado.
Cuando configures los atributos, ten en cuenta lo siguiente:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Obligatorio) Configúralo en 1 o
true para indicar si la tarifa permite una
reembolso; De lo contrario, se establecería en 0 o false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obligatorio si
available es true ). Especifica
la cantidad de días antes del registro de entrada en los que se puede obtener un reembolso total
solicitado. El valor de refundable_until_days
debe ser un número entero entre 0 y 330, ambos incluidos. |
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, que se requiere
se respetó la solicitud de reembolso. Esto se puede combinar con
refundable_until_days para especificar, por
ejemplo, "los reembolsos están disponibles hasta las 4:00 p.m. dos días antes
check-in". Si no se establece 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 en el valor especificado.
Solo se admite establecer la tarifa en unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Si es status="unavailable" , se trata la tasa
como si no estuviera disponible, sin importar si existe un precio válido para
que la modifica. |
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 tarifa. si se aplican. La modificación de la tarifa no se aplica cuando la duración de la estadía es fuera de los límites mínimos y máximos. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | La cantidad mínima de noches permitidas en la estadía para que se aplique la modificación de la tarifa se aplicó. Si no se especifica, no hay un mínimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | La cantidad máxima de noches permitidas en la estadía para que se aplique la modificación de la tarifa se aplicó. 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 las habitaciones (usando la tarifa más grande de
AmountBeforeTax o AmountAfterTax ) que deben
superar para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | El valor que se debe superar para que se aplique la modificación de la tarifa se aplicó. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Contenedor de una lista de los planes de tarifas a los que se aplica la modificación de la tarifa
aplica. Si no se especifica <RatePlans> , la tarifa
la modificación se aplica 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 el paquete, las tarifas y la disponibilidad, tal como se define en Transacción (Property Data), OTA_HotelRateAmountNotifRQ y OTA_HotelAvailNotifRQ y los mensajes identificados por PackageID. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | El identificador único del plan de tarifas. Este valor se asigna
Valor de PackageID en <PackageData>
en un mensaje de transacción (datos de propiedad) y en la
Atributo RatePlanCode en
<StatusApplicationControl> en ambos
<OTA_HotelRateAmountNotifRQ> y
<OTA_HotelAvailNotifRQ> mensajes.
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>
especificada. Si no se especifica <RoomTypes> , el valor
la modificación de la tarifa se aplica a todas las habitaciones. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Especifica un tipo de habitación. El tipo de habitación se define en
elemento <RoomData> en un
Transaction (Property Data) y se
a la que se hace referencia con su valor <RoomID> . (Su
El valor de <RoomID> también hace referencia a
Atributo InvTypeCode en OTA_HotelRateAmountNotifRQ
messages.) |
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 | Un contenedor para uno o más períodos que determinan la forma se aplica una modificación en la tarifa, por ejemplo, para ajustar el precio 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:
Siempre se debe especificar este atributo. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Un período que especifica las fechas en las que se modificará la tarifa se aplicó. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | La fecha de inicio (según la zona horaria de la propiedad), inclusive, de
el período. Esta fecha debe ser anterior o igual a la del
end fecha. Si no se especifica start , la fecha
el rango es eficazmente 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, de los
durante un período específico. La fecha debe ser igual o posterior a la start .
fecha. Si no se especifica end , la fecha
el rango es eficazmente 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 es así especificado, todos los días están permitidos en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "MTWHF" especifica que están permitidos los días de la semana 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 ubicados en uno de los países especificados. Si no se especifica, la tasa se aplica independientemente de la ubicación del usuario. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Es el tipo de especificación de UserCountry.
Los valores válidos son Si UserCountry Si el valor de UserCountry Si no se establece el objeto |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Especifica un país de 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
el código de país de CLDR no es el mismo que el ISO
el código de país. Además, los códigos regionales CLDR no son compatibles. |
Ejemplos
Mensaje básico
En el siguiente ejemplo, se muestra un mensaje RateModifications
básico:
<?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>
Cómo 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 un 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
propiedad con una o más modificaciones de tarifa nuevas. Cuándo
action="overlay"
, todas las modificaciones de tarifa almacenadas se borran antes de
almacenar las modificaciones de frecuencia 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 una 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>
Desactiva un plan de tarifas para los países de los usuarios
En el siguiente ejemplo, se muestra cómo limitar un plan de tarifas para que solo
Usuarios en 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 lo siguiente
y atributos:
Elemento / @Attribute | Casos | Tipo | Descripción |
---|---|---|---|
RateModifications | 1 | Complex element | El elemento raíz que indica el éxito o los problemas de una solicitud Mensaje de solicitud de RateModifications. |
RateModificationsResponse / @timestamp | 1 | DateTime | La fecha y hora de creación de este mensaje. |
RateModificationsResponse / @id | 1 | string | El identificador único del mensaje 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.
|
RateModificationsResponse / Issues | 0..1 | Issues | Un contenedor para uno o más problemas encontrados durante el procesamiento del
Mensaje RateModifications.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | La descripción de una advertencia, un error o una falla que se encontró mientras procesar el mensaje RateModifications. Puedes encontrar detalles sobre estos problemas encontrado en Error de estado del feed Mensajes |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | Es el identificador del problema. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | El tipo de problema encontrado. Los valores válidos son |
Ejemplos
Listo
La siguiente es una respuesta a una operación RateModifications procesada correctamente mensaje.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Problemas
La siguiente es una respuesta a un mensaje de RateModifications no procesado 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>