Panoramica
Questa API consente di definire modalità per applicare dinamicamente azioni a una tariffa ogni volta vengano soddisfatte determinate condizioni, ad esempio l'adeguamento del prezzo o l'attivazione del rimborso. A differenza dell'API Promotions, che può essere applicata le promozioni idonee con gli sconti più alti, questa API applica qualsiasi azione quando vengono soddisfatte determinate condizioni, tra cui gli aggiustamenti dei prezzi che potrebbero aumentare il prezzo finale.
Richieste
Sintassi
Il messaggio RateModifications
utilizza la seguente sintassi:
<?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>
Elementi e attributi
Il messaggio RateModifications
contiene i seguenti elementi e
attributi:
Elemento / @attributo | Occorrenze | Tipo | Descrizione |
---|---|---|---|
RateModifications | 1 | Complex element | L'elemento principale di un messaggio di modifiche alle tariffe. |
RateModifications / @partner | 1 | string | L'account partner per questo messaggio. Questo valore di stringa corrisponde alla
"Chiave del partner" valore indicato il
Impostazioni account in Hotel Center.
Nota: se hai un backend che fornisce feed per
più account, questo valore deve corrispondere a |
RateModifications / @id | 1 | string | Un identificatore univoco per questo messaggio di richiesta. Questo valore viene restituito nel messaggio di risposta. I caratteri consentiti sono a-z, A-Z, 0-9, _ (trattino basso) e - (trattino). |
RateModifications / @timestamp | 1 | DateTime | La data e l'ora di creazione di questo messaggio. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Modifiche alle tariffe di una proprietà. Viene applicata ogni modifica alla tariffa a una singola proprietà. Nota: se è possibile apportare più modifiche alle tariffe con la stessa tariffa, vengono applicate tutte le modifiche. Nessun ordine specifico è garantito. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | L'identificatore univoco della struttura. Questo valore deve corrispondere alla
ID hotel specificato utilizzando
<id> nell'elemento <listing>
nel feed elenco hotel. L'ID hotel è indicato anche in Hotel Center. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | Se |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Una singola modifica alla tariffa per una proprietà. Nota. È difficile eseguire il debug delle modifiche alle tariffe e consigliano di usarli con parsimonia. Contatta il tuo Technical Account Manager (TAM) per i casi d'uso che richiedono più di 200 modifiche alle tariffe. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Un identificatore univoco per la modifica della tariffa. Il numero massimo di è pari a 40 caratteri. I caratteri consentiti sono a-z, A-Z, 0-9, _ (trattino basso), - (trattino) e . (punto). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Se non specificato e una modifica della tariffa con lo stesso
Se specificato, il valore deve essere |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Un contenitore di uno o più intervalli di date che definiscono il momento in cui la prenotazione deve essere per applicare la modifica della tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica quando deve essere effettuata la prenotazione per la tariffa la modifica da applicare. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | La data di inizio (in base al fuso orario della proprietà), inclusa, di
l'intervallo di date. Questa data deve essere precedente o uguale alla data
Data end . Se start non è specificato, la data
è di fatto illimitato in termini di data di inizio. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | La data di fine (in base al fuso orario della proprietà), inclusa, della data
intervallo di date. Questa data deve essere uguale o successiva alla data
Data start . Se end non è specificato, la data
è effettivamente illimitato in termini di data di fine. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. In caso contrario specificato, sono consentiti tutti i giorni nell'intervallo di date. Ciascuna nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica determinati giorni della settimana sono consentiti nell'intervallo di date. I caratteri validi sono:
È valida qualsiasi combinazione di caratteri. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Specifica il periodo di tempo in cui deve essere effettuata la prenotazione rispetto al data del check-in (in base al fuso orario della proprietà). Ad esempio, la finestra di prenotazione può essere impostata su un minimo di 7 giorni, ma non di più di 180 giorni. prima del check-in. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Il numero minimo di giorni prima del check-in in cui deve essere effettuata la prenotazione della modifica della tariffa. Se non specificato, non è un minimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Il numero massimo di giorni prima del check-in in cui deve essere effettuata la prenotazione della modifica della tariffa. Se non specificato, non è un limite massimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Un contenitore di uno o più intervalli di date che definiscono il momento in cui deve essere effettuato il check-in affinché venga applicata la modifica della tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica quando deve essere effettuato il check-in per la tariffa la modifica da applicare. Questo elemento non è obbligatorio se l'eliminazione di una o più modifiche alla tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | La data di inizio (in base al fuso orario della proprietà), inclusa, di
l'intervallo di date. Questa data deve essere precedente o uguale alla data
Data end . Se start non è specificato, la data
è di fatto illimitato in termini di data di inizio. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | La data di fine (in base al fuso orario della proprietà), inclusa, della data
intervallo di date. Questa data deve essere uguale o successiva alla data
Data start . Se end non è specificato, la data
è effettivamente illimitato in termini di data di fine. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. In caso contrario specificato, sono consentiti tutti i giorni nell'intervallo di date. Ciascuna nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica determinati giorni della settimana sono consentiti nell'intervallo di date. I caratteri validi sono:
È valida qualsiasi combinazione di caratteri. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Un contenitore di uno o più intervalli di date che definiscono il momento del pagamento affinché venga applicata la modifica della tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica il periodo in cui deve essere effettuato il check-out per la tariffa la modifica da applicare. Questo elemento non è obbligatorio se l'eliminazione di una o più modifiche alla tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | La data di inizio (in base al fuso orario della proprietà), inclusa, di
l'intervallo di date. Questa data deve essere precedente o uguale alla data
Data end . Se start non è specificato, la data
è di fatto illimitato in termini di data di inizio. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | La data di fine (in base al fuso orario della proprietà), inclusa, della data
intervallo di date. Questa data deve essere uguale o successiva alla data
Data start . Se end non è specificato, la data
è effettivamente illimitato in termini di data di fine. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. In caso contrario specificato, sono consentiti tutti i giorni nell'intervallo di date. Ciascuna nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica determinati giorni della settimana sono consentiti nell'intervallo di date. I caratteri validi sono:
È valida qualsiasi combinazione di caratteri. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Contenitore dell'elenco dei dispositivi utente idonei per il della modifica della tariffa. Se specificato, la modifica della tariffa viene applicata applicata se l'utente corrisponde a uno dei dispositivi elencati. Se non specificato, ciò non limita l'applicazione della modifica della tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Definisce un tipo di dispositivo dell'utente idoneo alla tariffa modifica. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Un tipo di dispositivo. Il valore deve essere desktop ,
tablet o mobile . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Azioni applicate alla tariffa se tutte le condizioni specificate sono soddisfatti. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Modifica la tariffa moltiplicando AmountBeforeTax e
AmountAfterTax per il moltiplicatore specificato |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Sia AmountBeforeTax che AmountAfterTax sono
moltiplicato per questo valore. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Modifica la tariffa applicando l'ID regola tariffaria specificato. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Questo ID associa una tariffa a una definizione in
File di definizione delle regole tariffarie.
Nota:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Sovrascrive la rimborsabilità della tariffa con il valore specificato.
Quando imposti gli attributi, tieni presente quanto segue:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Obbligatorio) Impostato su 1 o
true per indicare se la tariffa consente un addebito completo
rimborso; altrimenti impostato su 0 o false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obbligatorio se
available è true ) Specifica
il numero di giorni prima del check-in entro cui è possibile ricevere un rimborso totale
richiesto. Il valore di refundable_until_days
deve essere un numero intero compreso tra 0 e 330 inclusi. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Consigliato se available è true ) Specifica
l'ultima ora del giorno, nell'ora locale dell'hotel, che
la richiesta di rimborso viene soddisfatta. Questo può essere combinato con
refundable_until_days da specificare, per
ad esempio "i rimborsi sono disponibili fino alle 16:00 di due giorni prima
controllo". Se refundable_until_time non è impostato, il valore
il valore predefinito è mezzanotte. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Sovrascrive la disponibilità della tariffa con il valore specificato.
Supportiamo solo l'impostazione della tariffa su unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Se status="unavailable" , la tariffa viene trattata
come se non fosse disponibile, indipendentemente dal fatto che esista un prezzo valido per
li annotino. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Definisce i limiti di durata del soggiorno entro i quali è possibile modificare la tariffa . La modifica della tariffa non viene applicata se la durata del soggiorno è al di fuori dei limiti minimo e massimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Il numero minimo di notti consentito per il soggiorno affinché la modifica della tariffa sia applicata applicati. Se non specificato, non è previsto un limite minimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Il numero massimo di notti consentito per il soggiorno affinché la modifica della tariffa sia applicata applicati. Se non specificato, non è previsto un limite massimo. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Specifica la somma minima delle tariffe giornaliere della camera (utilizzando il valore maggiore tra
AmountBeforeTax o AmountAfterTax ) che deve
per applicare la modifica della tariffa. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Il valore che deve essere superato affinché la modifica della tariffa venga applicati. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Contenitore di un elenco di piani tariffari a cui viene applicata la modifica della tariffa
. Se <RatePlans> non è specificato, la tariffa
la modifica si applica a tutti i piani tariffari. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Specifica un piano tariffario. Un piano tariffario è definito da una combinazione di pacchetto, tariffe e disponibilità, come definiti nella sezione Transazione (Dati della proprietà), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ e come identificato dal valore |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | L'identificatore univoco del piano tariffario. Questo valore viene mappato
Valore PackageID in <PackageData>
in un messaggio Transaction (Property Data) e
Attributo RatePlanCode in
<StatusApplicationControl> in entrambi
<OTA_HotelRateAmountNotifRQ> e
<OTA_HotelAvailNotifRQ> messaggi.
Il numero massimo di caratteri consentiti è 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Contenitore di un elenco di tipi di camera a cui si applica la modifica della tariffa.
La modifica delle tariffe viene applicata a ogni <RoomType>
specificato. Se <RoomTypes> non è specificato,
la modifica della tariffa si applica a tutte le camere. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Specifica un tipo di camera. Il tipo di camera è definito in
<RoomData> elemento in un
Transaction (Property Data) e viene
a cui viene fatto riferimento usando il suo valore <RoomID> . (È
Il valore <RoomID> fa riferimento anche dal
Attributo InvTypeCode in OTA_HotelRateAmountNotifRQ
messages.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | L'identificatore univoco dell'inventario (tipo di camera). Questo valore viene mappato
a <RoomID> in un messaggio Transaction (Property Data).
Il numero massimo di caratteri consentiti è 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Un contenitore di uno o più intervalli di date che determinano il modo in cui modifiche alle tariffe, ad esempio per adeguarsi ai prezzi stagionali. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Descrive come deve essere applicata la modifica dell'aliquota. I valori validi sono:
Questo attributo deve essere sempre specificato. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica le date in cui deve essere apportata la modifica dell'indice applicati. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | La data di inizio (in base al fuso orario della proprietà), inclusa, di
l'intervallo di date. Questa data deve essere precedente o uguale alla data
Data end . Se start non è specificato, la data
è di fatto illimitato in termini di data di inizio. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | La data di fine (in base al fuso orario della proprietà), inclusa, della data
intervallo di date. Questa data deve essere uguale o successiva alla data start
data. Se end non è specificato, la data
è effettivamente illimitato in termini di data di fine. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. In caso contrario specificato, sono consentiti tutti i giorni nell'intervallo di date. Ciascuna nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica determinati giorni della settimana sono consentiti nell'intervallo di date. I caratteri validi sono:
È valida qualsiasi combinazione di caratteri. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Se specificato, la modifica delle tariffe viene applicata solo se l'utente che si trovano in uno dei paesi specificati. Se non specificato, la tariffa la modifica sia applicata indipendentemente dalla località in cui si trova l'utente. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Il tipo di specifica UserCountries.
I valori validi sono Se il valore Se il valore Se il valore |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Specifica un paese dell'utente consentito per la modifica delle tariffe. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Un codice paese CLDR
come DE o FR . Tieni presente che, per alcuni
paesi, il codice paese CLDR non corrisponde all'ISO di due lettere
il prefisso internazionale del paese. Inoltre, i codici regione CLDR non sono supportati. |
Esempi
Messaggio di base
L'esempio seguente mostra un messaggio RateModifications
di base:
<?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>
Elimina una modifica alla tariffa
L'esempio seguente mostra come eliminare una modifica della tariffa per un proprietà:
<?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>
Elimina tutte le modifiche alle tariffe
L'esempio seguente mostra come eliminare tutte le modifiche alle tariffe per un proprietà:
<?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>
Sovrapponi tutte le modifiche tariffarie
L'esempio seguente mostra come sovrapporre <HotelRateModifications>
per
con una o più nuove modifiche alle tariffe. Quando
action="overlay"
, tutte le modifiche alle tariffe memorizzate vengono eliminate prima del giorno
memorizzando le modifiche di tariffa specificate nel messaggio corrente:
<?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>
Più azioni di modifica
L'esempio seguente mostra come eseguire più azioni di modifica contemporaneamente:
<?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>
Disattivare un piano tariffario per i paesi degli utenti
L'esempio seguente mostra come limitare un piano tariffario solo a
Utenti giapponesi (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>
Risposte
Sintassi
Il messaggio RateModificationsResponse
utilizza la seguente sintassi:
<?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>
Elementi e attributi
Il messaggio RateModificationsResponse
contiene quanto segue
elementi e attributi:
Elemento / @attributo | Occorrenze | Tipo | Descrizione |
---|---|---|---|
RateModifications | 1 | Complex element | L'elemento principale che indica l'esito positivo o negativo di un Messaggio di richiesta RateModifications. |
RateModificationsResponse / @timestamp | 1 | DateTime | La data e l'ora di creazione di questo messaggio. |
RateModificationsResponse / @id | 1 | string | L'identificatore univoco del messaggio RateModifications associato. |
RateModificationsResponse / @partner | 1 | string | L'account partner per questo messaggio. |
RateModificationsResponse / Success | 0..1 | Success | Indica che il messaggio RateModifications è stato elaborato correttamente
senza avvisi o errori.
|
RateModificationsResponse / Issues | 0..1 | Issues | Un container per uno o più problemi riscontrati durante l'elaborazione
Messaggio RateModifications.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | La descrizione di un avviso, un errore o un errore riscontrato durante durante l'elaborazione del messaggio RateModifications. I dettagli su questi problemi possono essere trovato in Errore di stato dei feed Messaggi. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | L'identificatore del problema. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | Il tipo di problema riscontrato. I valori validi sono |
Esempi
Operazione riuscita
Di seguito è riportata una risposta a una modifica di RateModifica elaborata correttamente .
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Problemi
Di seguito è riportata una risposta a un messaggio RateModifications non elaborato a causa di errori.
<?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>