Visão geral
Com essa API, é possível definir maneiras de aplicar ações dinamicamente a uma taxa sempre que as condições forem atendidas, como ajustar o preço ou ativar a reembolsabilidade. Ao contrário da API Promotions, que só pode aplicar promoções qualificadas com os maiores descontos, essa API aplica ações quando determinadas condições são atendidas, incluindo ajustes de preço que podem aumentar o preço final.
Solicitações
Sintaxe
A mensagem RateModifications usa a seguinte sintaxe:
<?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 e atributos
A mensagem RateModifications tem os seguintes elementos e atributos:
| Elemento / @Attribute | Ocorrências | Tipo | Descrição |
|---|---|---|---|
| RateModifications | 1 | Complex element | O elemento raiz de uma mensagem de modificações de taxa. |
| RateModifications / @partner | 1 | string | A conta do parceiro para esta mensagem. Esse valor de string é a "Chave do parceiro" listada na
página "Configurações da conta" da Central para Hotéis.
Observação:se você tiver um back-end que forneça feeds para várias contas, esse valor precisará corresponder ao valor do atributo |
| RateModifications / @id | 1 | string | Um identificador exclusivo para esta mensagem de solicitação. Esse valor é retornado na mensagem de resposta. Os caracteres permitidos são a-z, A-Z, 0-9, _ (sublinhado) e - (traço). |
| RateModifications / @timestamp | 1 | DateTime | A data e a hora de criação desta mensagem. |
| RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Modificações de tarifas para uma propriedade. Cada modificação de taxa se aplica a uma única propriedade. Observação:se várias modificações de tarifa puderem ser aplicadas à mesma tarifa, todas as modificações serão aplicadas. Não há garantia de uma ordem específica. |
| RateModifications / HotelRateModifications / @hotel_id | 1 | string | O identificador exclusivo da propriedade. Esse valor precisa corresponder ao ID do hotel especificado usando
<id> no elemento <listing> do feed de lista de hotéis. O ID do hotel também está listado na Central para Hotéis. |
| RateModifications / HotelRateModifications / @action | 0..1 | enum | Se |
| RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Uma única modificação de tarifa para uma propriedade. Observação:as modificações de taxa são difíceis de depurar, e recomendamos usá-las com moderação. Entre em contato com seu gerente técnico de contas (TAM) para casos de uso que exigem mais de 200 modificações de taxa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Um identificador exclusivo da modificação de tarifa. O número máximo de caracteres permitidos é 40. Os caracteres permitidos são a-z, A-Z, 0-9, _ (sublinhado), - (traço) e . (ponto final). |
| RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Se não for especificado e uma modificação de taxa com o mesmo
Se especificado, o valor precisa ser |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Um contêiner para um ou mais períodos que definem quando a reserva precisa ser feita para que a modificação da tarifa seja aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Um período que especifica quando a reserva precisa ser feita para que a modificação de tarifa seja aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end. Se start não for especificado, o período será ilimitado em termos de data de início. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start. Se end não for especificado, o período será efetivamente ilimitado em termos de data de término. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Especifica o período em que a reserva precisa ocorrer em relação à data de check-in (com base no fuso horário da propriedade). Por exemplo, a janela de reserva pode ser definida para pelo menos 7 dias, mas não mais de 180 dias, antes do check-in. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | O número mínimo de dias antes do check-in em que a reserva precisa ser feita para que a modificação da tarifa seja aplicada. Se não for especificado, não haverá valor mínimo. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | O número máximo de dias antes do check-in em que a reserva precisa ser feita para que a modificação da tarifa seja aplicada. Se não for especificado, não haverá valor máximo. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Um contêiner para um ou mais períodos que definem quando o check-in precisa ocorrer para que a modificação da tarifa seja aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Um período especificando quando o check-in precisa ocorrer para que a modificação de tarifa seja aplicada. Esse elemento não é obrigatório se você estiver excluindo uma ou mais modificações de tarifa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end. Se start não for especificado, o período será ilimitado em termos de data de início. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start. Se end não for especificado, o período será efetivamente ilimitado em termos de data de término. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Um contêiner para um ou mais períodos que definem quando o check-out precisa ocorrer para que a modificação da tarifa seja aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Um período que especifica quando o check-out precisa ocorrer para que a modificação de tarifa seja aplicada. Esse elemento não é obrigatório se você estiver excluindo uma ou mais modificações de tarifa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end. Se start não for especificado, o período será ilimitado em termos de data de início. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start. Se end não for especificado, o período será efetivamente ilimitado em termos de data de término. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Contêiner para listar os dispositivos do usuário qualificados para a modificação da taxa. Se especificado, a modificação da taxa só será aplicada se o usuário corresponder a um dos dispositivos listados. Se não for especificado, isso não vai restringir a aplicação da modificação da taxa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Define um tipo de dispositivo do usuário que está qualificado para a modificação da taxa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Um tipo de dispositivo. O valor precisa ser desktop,
tablet ou mobile. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Ações aplicadas à taxa se todas as condições especificadas forem atendidas. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Modifica a taxa multiplicando AmountBeforeTax e AmountAfterTax pelo multiplicador especificado. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Ambos AmountBeforeTax e AmountAfterTax são multiplicados por esse valor. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Modifica a tarifa aplicando o ID da regra de tarifação especificado. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Esse ID corresponde a uma tarifa e a uma definição no arquivo Definição da regra de tarifação.
Observação:
|
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Substitui a reembolsabilidade da tarifa pelo valor especificado.
Ao definir os atributos, observe o seguinte:
|
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Obrigatório) Defina como 1 ou
true para indicar se a taxa permite um reembolso
total. Caso contrário, defina como 0 ou false. |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obrigatório se available for true) Especifica o número de dias antes do check-in em que um reembolso total pode ser solicitado. O valor de refundable_until_days
precisa ser um número inteiro entre 0 e 330. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Recomendado se available for true) Especifica o horário mais recente do dia, no horário local do hotel, em que uma solicitação de reembolso total é atendida. Isso pode ser combinado com
refundable_until_days para especificar, por
exemplo, que "os reembolsos estão disponíveis até as 16h dois dias antes do
check-in". Se refundable_until_time não estiver definido, o valor padrão será meia-noite. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Substitui a disponibilidade da tarifa pelo valor especificado.
Só é possível definir a taxa como unavailable. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Se status="unavailable", a taxa será tratada
como se estivesse indisponível, independente de haver um preço válido para
ela. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Define os limites de duração da estadia em que essa modificação de tarifa pode ser aplicada. A modificação da tarifa não é aplicada quando a duração da estadia está fora dos limites mínimo e máximo. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | O número mínimo de noites permitidas na estadia para que a modificação da tarifa seja aplicada. Se não for especificado, não haverá valor mínimo. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | O número máximo de noites permitidas na estadia para que a modificação da tarifa seja aplicada. Se não for especificado, não haverá valor máximo. |
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Especifica a soma mínima das tarifas diárias dos quartos (usando o maior valor de AmountBeforeTax ou AmountAfterTax) que precisa ser excedida para que a modificação da tarifa seja aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | O valor que precisa ser excedido para que a modificação da tarifa seja aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Contêiner para uma lista de planos de tarifação a que a modificação da tarifa se aplica. Se <RatePlans> não for especificado, a modificação da taxa será aplicada a todos os planos de taxas. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Especifica um plano de taxa. Um plano de tarifa é definido por uma combinação de pacote, tarifas e disponibilidade, conforme definido nas mensagens Transaction (Property Data), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ, e identificado pelo PackageID. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | O identificador exclusivo do plano de tarifas. Esse valor é mapeado para o valor PackageID em <PackageData> em uma mensagem de transação (dados da propriedade) e no atributo RatePlanCode em <StatusApplicationControl> nas mensagens <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ>.
O número máximo de caracteres permitidos é 50. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Contêiner para uma lista de tipos de quarto a que a modificação da tarifa se aplica.
A modificação de tarifa é aplicada a cada <RoomType> especificado. Se <RoomTypes> não for especificado, a modificação da taxa será aplicada a todas as salas. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Especifica um tipo de quarto. Um tipo de quarto é definido em um elemento <RoomData> em uma mensagem Transação (dados da propriedade) e é referenciado usando o valor <RoomID>. O valor <RoomID> também é referenciado pelo atributo InvTypeCode nas mensagens OTA_HotelRateAmountNotifRQ. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | O identificador exclusivo do inventário (tipo de quarto). Esse valor é mapeado para <RoomID> em uma mensagem de transação (dados da propriedade).
O número máximo de caracteres permitidos é 50. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Um contêiner para um ou mais períodos que determinam como a modificação de tarifa é aplicada, como para acomodar a precificação sazonal. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Descreve como a modificação da tarifa deve ser aplicada. Os valores válidos são:
Esse atributo precisa ser sempre especificado. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Um período que especifica as datas em que a modificação da tarifa será aplicada. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end. Se start não for especificado, o período será ilimitado em termos de data de início. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start. Se end não for especificado, o período será efetivamente ilimitado em termos de data de término. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Se especificada, a modificação da taxa só será aplicada se o usuário estiver localizado em um dos países especificados. Se não for especificada, a modificação da taxa será aplicada independente da localização do usuário. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | O tipo de especificação UserCountries.
Os valores válidos são Se o UserCountries Se UserCountries Se o UserCountries |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Especifica um país permitido para a modificação da taxa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Um código de país CLDR,
como DE ou FR. Em alguns países, o código do país CLDR não é o mesmo que o código ISO de duas letras. Além disso, os códigos de região CLDR não são aceitos. |
Exemplos
Mensagem básica
O exemplo a seguir mostra uma mensagem RateModifications básica:
<?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>
Excluir uma modificação de taxa
O exemplo a seguir mostra como excluir uma modificação de taxa para uma propriedade:
<?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>
Excluir todas as modificações de taxa
O exemplo a seguir mostra como excluir todas as modificações de taxa de uma propriedade:
<?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>
Sobrepor todas as modificações de taxa
O exemplo a seguir mostra como substituir <HotelRateModifications> para
propriedade com uma ou mais novas modificações de taxa. Quando action="overlay", todas as modificações de tarifa armazenadas são excluídas antes de armazenar as modificações especificadas na mensagem atual:
<?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>
Várias ações de modificação
O exemplo a seguir mostra como realizar várias ações de modificação de uma só 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>
Desativar um plano de tarifas para países de usuários
O exemplo a seguir mostra como limitar um plano de tarifas apenas a usuários
japoneses (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>
Respostas
Sintaxe
A mensagem RateModificationsResponse usa a seguinte sintaxe:
<?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 e atributos
A mensagem RateModificationsResponse tem os seguintes
elementos e atributos:
| Elemento / @Attribute | Ocorrências | Tipo | Descrição |
|---|---|---|---|
| RateModifications | 1 | Complex element | O elemento raiz que indica o sucesso ou os problemas de uma mensagem de solicitação RateModifications recebida. |
| RateModificationsResponse / @timestamp | 1 | DateTime | A data e a hora de criação desta mensagem. |
| RateModificationsResponse / @id | 1 | string | O identificador exclusivo da mensagem RateModifications associada. |
| RateModificationsResponse / @partner | 1 | string | A conta do parceiro para esta mensagem. |
| RateModificationsResponse / Success | 0..1 | Success | Indica que a mensagem "RateModifications" foi processada sem avisos, erros ou falhas.
|
| RateModificationsResponse / Issues | 0..1 | Issues | Um contêiner para um ou mais problemas encontrados ao processar a mensagem
RateModifications.
|
| RateModificationsResponse / Issues / Issue | 1..n | Issue | A descrição de um aviso, erro ou falha encontrada ao processar a mensagem RateModifications. Confira os detalhes desses problemas em Mensagens de erro de status do feed. |
| RateModificationsResponse / Issues / Issue / @code | 1 | integer | O identificador do problema. |
| RateModificationsResponse / Issues / Issue / @status | 1 | enum | O tipo de problema encontrado. Os valores válidos são |
Exemplos
Sucesso
Confira a seguir uma resposta a uma mensagem RateModifications processada com sucesso.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Problemas
A seguir, uma resposta a uma mensagem RateModifications não processada devido a erros.
<?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>