ModificacionesTarifas

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 ID valor del atributo especificado en el archivo <RequestorID> de tu <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ> mensajes para el mismo de servicio predeterminada.

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 action, las modificaciones dentro de este elemento se agregan o actualizan en este hotel. Si Se especifica action="overlay"; luego, se definen todos los valores previamente definidos las modificaciones de este hotel se borran primero. Luego, las modificaciones que se especifican aquí. Si se usa action="overlay" y no se especifican modificaciones en este elemento, entonces se borraron las modificaciones de este hotel.

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

Es una modificación única de la tarifa de una propiedad.

Nota: Las modificaciones de tarifa 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 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 id no se almacena, sino esta modificación de tarifa. De lo contrario, si no se especifica y una modificación de tarifa con el mismo Si se almacena id, se modificará la modificación de tarifa existente se actualicen.

Si se especifica, el valor debe ser "delete". Si se especifica "delete", se borra la modificación de la tarifa almacenada con el mismo id. Cuando uses "delete", no incluyas ningún elemento secundario en <ItineraryRateModification> Además, "delete" no es se permite junto con <HotelRateModifications action="overlay"/>.

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:

  • M para el lunes
  • T para el martes
  • W para el miércoles
  • H para el jueves
  • F para el viernes
  • S para el sábado
  • U para el domingo

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:

  • M para el lunes
  • T para el martes
  • W para el miércoles
  • H para el jueves
  • F para el viernes
  • S para el sábado
  • U para el domingo

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:

  • M para el lunes
  • T para el martes
  • W para el miércoles
  • H para el jueves
  • F para el viernes
  • S para el sábado
  • U para el domingo

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:
  • El límite de caracteres de este campo es de 40.
  • Cada tarifa solo se puede asociar con una sola regla de tarifas.
  • Si hay varias modificaciones que apliquen un ID de reglas de tarifas, el el ID de regla de tarifa que es lexicográficamente más pequeño se asigna a la tasa.
  • Si este ID no coincide con una regla de tarifas de tu definición de regla de tarifas no se considera apto.
Consulta este artículo para obtener información sobre las diferentes IU de tarifa privada. o tratamientos.
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:

  • Esta acción de modificación reescribe por completo el estado de reembolso de una tarifa apta no solo en los campos completados.
  • Si available o refundable_until_days es no se establece, la tarifa no se muestra como reembolsable.
  • Si available es 0 o false, se ignoran los demás atributos. La tarifa no se muestra como reembolsable incluso si se configuran uno o ambos de los otros atributos.
  • Se recomienda configurar refundable_until_time. si no es así establecido, se utiliza la hora más temprana (medianoche).
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (Obligatorio) Configúralo en 1 o true para indicar si la tarifa permite una refund; 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:

  • all: Aplica la modificación de la tarifa a cada noche de el itinerario si todas las fechas del itinerario se superponen con las fechas de la estadía.
  • any: Aplica la modificación de la tarifa a todas las noches de itinerario si alguna fecha del itinerario se superpone con una fecha en el período de la estadía.

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:

  • M para el lunes
  • T para el martes
  • W para el miércoles
  • H para el jueves
  • F para el viernes
  • S para el sábado
  • U para el domingo

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 include y exclude

Si UserCountry type está configurado como include, la modificación de la tarifa se aplica a usuarios de los países mencionados.

Si el valor de UserCountry type es exclude, la modificación de la tarifa se aplica a los usuarios que se encuentran fuera de los países mencionados.

Si no se establece el objeto type UserCountry, se considera como include y la modificación de la tarifa se aplica a los usuarios de los países mencionados.

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.

<Success> o <Issues> es presente en cada mensaje.

RateModificationsResponse / Issues 0..1 Issues Un contenedor para uno o más problemas encontrados durante el procesamiento del Mensaje RateModifications.

<Success> o <Issues> es presente en cada mensaje.

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 warning, error, y failure.

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>