Descripción general
Esta API te permite definir formas de aplicar acciones de forma dinámica a una tarifa cada vez que se cumplen las condiciones, como ajustar el precio o habilitar la capacidad de reembolso. A diferencia de la API de Promociones, que solo puede aplicar promociones aptas con los descuentos más bajos, esta API aplica cualquier acción cuando se cumplen ciertas condiciones, incluidos los ajustes de precios que podrían aumentar el precio final.
Solicitudes
Sintaxis
El mensaje RateModifications
usa la siguiente sintaxis:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key"
id="message_ID"
> < timestamp="timestamp"
HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
<ItineraryRat>eModifica<tion id="ModificationID" action="[delete]"
BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
/>Booking<Dates
B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
CheckinDates
DateRange start=">;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
< /CheckinDates
CheckoutDates
> Dat<eRange start="YYYY-MM-DD" end=>"Y<YYY-MM-DD>" da<ys_of_week=""MTW>HFSU_or_s<ubset""/
/>Checkou<tDates
> Devi<ces
> Device< type="[desktop|ta>blet|mobi<le]"/
/Devic>es
< L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
MinimumAmount before_discount="integer"/
RatePlans
> Ra<tePlan id=>"P<ackageID_1"/
RatePlan id=>"Pac<kageID_2"/
/RateP>lans
< Roo>mTypes
< RoomType id=">RoomID_1&<quot;/
RoomType id="Ro>omID_2&qu<ot;/
/RoomTypes
> StayDa<tes application="[all|any]"
DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
/StayDates
User>Countri<es type="[inclu>de|ex<clude]"
Count>ry <code="country_code>&<quot;/
/User>C
ountries
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 o @Attribute | Casos | 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 cadena 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 | Es 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 de tarifas de una propiedad Cada modificación de tarifa se aplica a una sola propiedad. Nota: Si se pueden aplicar varias modificaciones de tarifas a la misma tarifa, se aplican 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 del hotel también se muestra en Hotel Center. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | Si no se especifica |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Es una modificación de tarifa única para una propiedad. Nota: Las modificaciones de tarifas son difíciles de depurar y te recomendamos que las uses con moderación. Comunícate con tu administrador técnico de cuentas (TAM) para casos de uso que requieran más de 200 modificaciones de tarifas. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Es 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 para 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 se debe realizar la reserva para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Es 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 de end . Si no se especifica start , el rango de fechas es, en realidad, ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | Es la fecha de finalización (según la zona horaria de la propiedad) inclusive del período. Esta fecha debe ser la misma que la fecha de start o una posterior. Si no se especifica end , el período es ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | Son los días de la semana permitidos en el período. Si no se especifica, se permiten todos los días en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "L-V" especifica que se permiten 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 en 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 al menos 7 días, pero no más de 180 días, antes del registro de entrada. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Es la cantidad mínima de días antes de la entrada en la que se debe realizar la reserva para que se aplique la modificación de la tarifa. Si no se especifica, no hay mínimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Es la cantidad máxima de días antes de la fecha de entrada en la que se debe realizar la reserva para que se aplique la modificación de la tarifa. Si no se especifica, no hay máximo. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Es un contenedor para uno o más períodos que definen cuándo debe ocurrir el registro para que se aplique la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Un período que especifique cuándo debe ocurrir el registro 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 | Es 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 de end . Si no se especifica start , el rango de fechas es, en realidad, ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | Es la fecha de finalización (según la zona horaria de la propiedad) inclusive del período. Esta fecha debe ser la misma que la fecha de start o una posterior. Si no se especifica end , el período es ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | Son los días de la semana permitidos en el período. Si no se especifica, se permiten todos los días en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "L-V" especifica que se permiten 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 | Es un contenedor para uno o más períodos que definen cuándo se debe realizar el registro de salida 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 ocurrir 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 | Es 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 de end . Si no se especifica start , el rango de fechas es, en realidad, ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | Es la fecha de finalización (según la zona horaria de la propiedad) inclusive del período. Esta fecha debe ser la misma que la fecha de start o una posterior. Si no se especifica end , el período es ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Son los días de la semana permitidos en el período. Si no se especifica, se permiten todos los días en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "L-V" especifica que se permiten 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 | Es un contenedor para enumerar los dispositivos del usuario 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 enumerados. Si no se especifica, esto no restringe la aplicación de la modificación de la tarifa. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Define un tipo de dispositivo del usuario que es 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 | Son las 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 | AmountBeforeTax y AmountAfterTax se multiplican por este valor. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Modifica la tarifa aplicando el ID de la regla de tarifa especificado. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Este ID hace coincidir una tarifa con una definición en el archivo Rate Rule Definition.
Nota:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Reemplaza la capacidad de 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) Establece 1 o true para indicar si la tarifa permite un reembolso total. De lo contrario, establece 0 o false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obligatorio si available es true ). Especifica la cantidad de días de anticipación con los que se puede solicitar un reembolso total antes del registro. 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 hora del día más reciente, en la hora local del hotel, en la que se acepta una solicitud de reembolso total. Esto 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 del registro de entrada". Si no se establece refundable_until_time , el valor predeterminado es la medianoche. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Anula la disponibilidad de la tarifa por el valor especificado.
Solo admitimos establecer la tarifa en unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Si es status="unavailable" , la tarifa se considera 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 duración de la estadía dentro de los cuales se puede aplicar esta modificación de tarifa. La modificación de la tarifa no se aplica cuando la duración de la estadía está 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 valor mínimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Es 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 las habitaciones (con el valor más alto 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 | Es un contenedor para 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 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 paquete, tarifas y disponibilidad, como se define en los mensajes Transaction (Property Data), OTA_HotelRateAmountNotifRQ y OTA_HotelAvailNotifRQ, y como lo identifica 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 | Es un contenedor para una lista de 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 aplica 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 Transaction (Property Data) y se hace referencia a él con 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 Transaction (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 adaptarse a los precios de temporada. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Describe cómo se debe aplicar la modificación de tarifa. Estos son los valores válidos:
Siempre se debe especificar este atributo. |
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 | Es 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 de end . Si no se especifica start , el rango de fechas es, en realidad, ilimitado en términos de una fecha de inicio. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | Es la fecha de finalización (según la zona horaria de la propiedad) inclusive del período. Esta fecha debe ser la misma que la fecha de start o posterior. Si no se especifica end , el período es ilimitado en términos de una fecha de finalización. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | Son los días de la semana permitidos en el período. Si no se especifica, se permiten todos los días en el período. Cada carácter de la cadena especifica un día. Por ejemplo, "L-V" especifica que se permiten 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 se encuentra en uno de los países especificados. Si no se especifica, la modificación de la tarifa se aplica independientemente de la ubicación del usuario. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Es el tipo de especificación de UserCountries.
Los valores válidos son Si el Si el Si no se establece el |
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 CLDR, como DE o FR . Ten en cuenta que, para algunos países, el código de país del CLDR no es el mismo que el código de país ISO de 2 letras. Además, no se admiten los códigos de región de CLDR. |
Ejemplos
Mensaje básico
En el siguiente ejemplo, se muestra un mensaje RateModifications
básico:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_1&q>uot;
I<tineraryRateModification id="1"
BookingDates
> DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
/BookingDates
Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
< CheckinDates
DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
/Ch>eckinDate<s
CheckoutDates>
< DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
< /CheckoutDat>es
< D>evices
< Device t>ype="<mobile"/
> Device< type="tablet>"/<
/De>vices
< L>engthOfStay min=<"2" max=>"14&<quot;/
RateP>lans
< >RatePlan id=&q<uot;234"/
> Rate<Plan id="567"/
/R>atePlan<s
RoomTypes
> < RoomType id="123&qu>ot;</
RoomType id=>&<quot;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 para una propiedad:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id="Property_1>&qu<ot;
ItineraryRateMo>d<ification id=">;1
" action="delete"/
/HotelRateModifications
/RateModifications
Borra 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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00"
HotelRateMod>i<fications hotel_id>=&q
uot;Property_1" action="overlay"/
/RateModifications
Superposición de 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 tarifas nuevas. Cuando action="overlay"
, se borran todas las modificaciones de tarifas almacenadas antes de almacenar las modificaciones de tarifas especificadas en el mensaje actual:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00"
HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
ItineraryRateModification id="1&>quot;
< B>ookingDates
< DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
/Booking>Dates
< ModificationAc<tions
Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
> /Modif<icationAc>tions
< RoomTypes
> RoomTyp<e id="123&quo>t;/
< RoomType <id="456"/
>/Ro<omTypes
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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_1&q>uot;
I<tineraryRateModification id="1"
> Booki<ngDates
> Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
</BookingDates
ModificationActions
PriceAdjustment multiplier=".95"/
Refundable available=">true&qu<ot;
> r<efundable_until_days=">;1&<quot;
> < refundabl>e_until_ti
me="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 japoneses (JP
):
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_>1"
< ItineraryRate>Modification i<d="1&>quot;
< RatePlans
Rate>Plan id=&<quot;jp_only">/
< /RatePlans
> Use<rCountries type=&qu>ot;exclud<e"
Country code=">;JP&quo<t;/
/UserCount>ries
< ModificationActions
> < Availability statu>s<="unavailable>&qu
ot;/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
Respuestas
Sintaxis
El mensaje RateModificationsResponse
usa la siguiente sintaxis:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp"
id="message_ID"
> < partner="partner_key"
>!--< Either >Suc<cess o>r Iss<ues will be populated. --
Success/
Issu><es
> Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>o
t;varissue_description/var/Issue
/Issues
/RateModificationsResponse
Elementos y atributos
El mensaje RateModificationsResponse
tiene los siguientes elementos y atributos:
Elemento o @Attribute | Casos | 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 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 | Es un contenedor para uno o más problemas que se encontraron durante el procesamiento del mensaje RateModifications.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | Es la descripción de una advertencia, un error o una falla que se encontró durante el procesamiento del mensaje RateModifications. Puedes encontrar detalles sobre estos problemas en 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 que se encontró Los valores válidos son |
Ejemplos
Listo
La siguiente es una respuesta a un mensaje RateModifications procesado correctamente.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
> < > < partner=&quo>t;partner
_key"
Success/
/RateModificationsResponse
Problemas
La siguiente es una respuesta a un mensaje de RateModifications que no se procesó debido a errores.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
> < > < partner="partne>r_key"
<Issues>
< Issue <code="1001" stat>us
="error"Example/Issue
/Issues
/RateModificationsResponse