Richieste
Sintassi
La sintassi del messaggio OTA_HotelRateAmountNotifRQ
è la seguente:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Elementi e attributi
Il messaggio OTA_HotelRateAmountNotifRQ
contiene i seguenti elementi e
attributi:
Elemento / @attributo | Occorrenze | Tipo | Descrizione |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | L'elemento principale di un messaggio relativo alle tariffe. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | Lo spazio dei nomi XML. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 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 , _ (underscore) e - (dash) . |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | La data e l'ora di creazione di questo messaggio. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | La versione del messaggio OpenTravel. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Il tipo di notifica da applicare a ogni
I valori validi sono: Per comprendere il funzionamento degli attributi, consulta gli esempi.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | L'ambito di I valori validi sono:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Un contenitore per specificare l'account partner di questo messaggio (in genere è utilizzato se il backend fornisce feed dei prezzi per più account partner). |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | Obbligatorio se è presente <POS> . Un contenitore per
<RequestorID> . |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | Obbligatorio se è presente <POS> . Definisce l'account
partner. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | L'account partner di questo messaggio. Il valore della stringa è
il valore "Chiave del partner" presente
nella
pagina Impostazioni account in Hotel Center.
Nota: se hai un backend che fornisce feed per più account, questo valore deve corrispondere al valore dell'attributo |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Una raccolta di elementi <RateAmountMessage> che
definiscono le tariffe. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | L'identificatore univoco della struttura. Questo valore deve corrispondere all'ID hotel specificato utilizzando <id> nell'elemento <listing> nel feed elenco hotel. L'ID hotel è indicato anche in Hotel Center. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Un contenitore per l'impostazione dei prezzi di una tariffa della camera (una combinazione composta da tipo di camera e piano tariffario in un intervallo di date). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Definisce l'intervallo di date, oltre agli identificatori per tipo di camera
(InvTypeCode ) e piano tariffario (RatePlanCode ). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Deve essere maggiore o uguale al valore start .
Se start e end sono uguali, l'aggiornamento verrà applicato
a quella data. Tieni presente che Google supporta fino a tre anni di dati. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente i lunedì.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente i martedì.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente i mercoledì.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente i giovedì.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente i venerdì.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente
i sabati.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Imposta su true o 1 per includere esplicitamente le
domeniche.
Se è impostato su |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | L'identificatore univoco dell'inventario (tipo di camera). Questo valore è mappato
a <RoomID> in un messaggio Transaction (Property Data). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | Un identificatore univoco per il piano tariffario. Questo identificatore è mappato
a <PackageID> in un messaggio Transaction (Property Data). Il piano tariffario è ulteriormente definito e vi viene fatto riferimento
in <StatusApplicationControl> nei
messaggi <OTA_HotelRateAmountNotifRQ> e
<OTA_HotelAvailNotifRQ> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | Un identificatore che indica il tipo di modello di prezzi ARI applicato a questo aggiornamento dei prezzi. Questo valore deve essere specificato solo utilizzando un valore di 26 quando si utilizza il modello di determinazione dei prezzi basato sulla lunghezza del soggiorno. L'esclusione
di questo attributo indica che si tratta di un aggiornamento dei prezzi per data. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | Contenitore di una raccolta di elementi <Rate> . Se
NotifType è "Remove" , questo elemento non deve essere specificato. In caso contrario, questo elemento deve essere specificato solo una volta. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | Contenitore di una raccolta di elementi
<BaseByGuestAmts> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | L'unità in cui è specificata la durata del soggiorno. L'unico valore supportato
è "Day" , il che significa che la durata del soggiorno verrà
specificata in giorni.
Per utilizzare i prezzi basati sulla lunghezza del soggiorno,
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Il numero di RateTimeUnits che compongono la durata
del soggiorno per questa tariffa.
Ad esempio, se il valore di Le tariffe per il numero di persone specificate in questo oggetto Per utilizzare i prezzi basati sulla lunghezza del soggiorno,
è necessario specificare |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Contenitore di una raccolta dei costi di base. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Specifica i prezzi delle camere in una determinata valuta. Il prezzo può essere
in base al numero di persone utilizzando più elementi
<BaseByGuestAmt> , ognuno dei quali con un valore diverso per NumberOfGuests .
In caso contrario, il prezzo è applicabile a un numero massimo di persone
definito da NumberOfGuests . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
La tariffa giornaliera della camera al netto di tasse e commissioni. È possibile specificare sia Se utilizzi le promozioni, lo
sconto viene applicato a |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | La tariffa giornaliera della camera al lordo di tasse e
commissioni applicabili. Se AmountAfterTax è specificato, non devono essere inviati separatamente messaggi
<TaxFeeInfo> per ogni proprietà. Questo
attributo può essere utilizzato in combinazione con AmountBeforeTax
per fornire tariffe di base e totali che possono essere mostrate agli utenti in
alcune aree geografiche.
Avviso: se utilizzi le promozioni, sconsigliamo
vivamente di utilizzare importi
Nota: se |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Il codice ISO 4217 alpha-3 di una specifica unità monetaria.
Consulta l'elenco delle valute supportate. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Numero massimo di ospiti che possono essere ospitati con questa tariffa.
Se non viene fornito, il valore predefinito è 2 persone.
Tieni presente che se |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Contenitore di una raccolta di addebiti per ospiti aggiuntivi.
Questa sintassi è utile se le tariffe aggiuntive per ospiti o bambini cambiano in base alla data. Valuta la possibilità di utilizzare il messaggio
Ad esempio, supponiamo che le tariffe base siano specificate per 1 e 2 adulti.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Specifica i prezzi in base al tipo di ospite, specificato tramite
AgeQualifyingCode e, se applicabile, all'età dell'ospite, specificata tramite MaxAge .
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Definisce il tipo di ospite aggiuntivo, adulto o bambino. Le opzioni valide sono:
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | MaxAge deve essere specificato quando
AgeQualifyingCode è 8 . Non deve essere
specificato quando AgeQualifyingCode è 10 .
Se specifichi un valore I valori superiori a È possibile specificare più fasce d'età per bambini tramite elementi |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Importo al netto di tasse e commissioni aggiunto alla tariffa di base per ogni
ospite aggiuntivo.
Le tasse e le commissioni che dipendono dall'età degli occupanti devono essere specificate tramite
l'elemento |
Esempi
Questa sezione fornisce esempi di codice che evidenziano come:
- Configurare tariffe di base e tariffe totali
- Aggiungere, sostituire e rimuovere tariffe
- Aggiungere, sovrapporre e rimuovere importi per gli ospiti aggiuntivi
- Configurare le tariffe basate sulla lunghezza del soggiorno
- Aggiungere, sostituire e rimuovere tariffe basate sulla lunghezza del soggiorno
Quando imposti i valori add
, overlay
o remove
, gli intervalli di date possono essere uguali o diversi a seconda dei tuoi obiettivi. Ad esempio, puoi utilizzare overlay
per impostare solo alcune settimane per le festività di dicembre anziché l'intero intervallo impostato per il messaggio "Aggiungi tariffa". In questo modo, le tariffe per il numero di persone verranno sostituite solo per questo periodo.
Prezzi per data
Per una determinata camera e un determinato piano tariffario, è possibile avere un massimo di 50 tariffe per numero di persone per proprietà. Se le tariffe sono uguali per tutte le persone, devi solo inviare il numero massimo di persone con il prezzo richiesto. In questo modo, Google deduce che anche le tariffe base per il numero di persone inferiore sono uguali.
Configurare tariffe di base e tariffe totali
Esempio 1
Tariffa di base (senza tasse o commissioni) per il numero di persone predefinito (camera doppia). In questo
modello, tasse e commissioni della proprietà devono essere definite utilizzando un messaggio
<TaxFeeInfo>
. La tariffa di base sarà maggiormente in evidenza per gli utenti che effettuano ricerche da determinate regioni.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Esempio 2
Tariffa di base e totale per il numero di persone predefinito (camera doppia). In questo modello, tasse
e commissioni non devono essere definite separatamente utilizzando messaggi <TaxFeeInfo>
. La tariffa di base sarà maggiormente in evidenza per gli utenti che effettuano ricerche da determinate
aree geografiche.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Esempio 3
Tariffa totale (con tasse e commissioni) per più valori di numero di persone. In questo modello,
tasse e commissioni non devono essere definite separatamente utilizzando messaggi <TaxFeeInfo>
.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Esempio 4
Tariffa di base e totale per più tipi di camera e piani tariffari in intervalli di date diversi.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Aggiungere, sostituire e rimuovere tariffe
Esiste un limite di 5000 prodotti (combinazioni di tipo di camera e pacchetto) per proprietà. Utilizza i tipi di notifica Overlay
o Remove
per rimuovere i prodotti definiti in precedenza.
Aggiungere tariffe
Imposta NotifType
su Delta
per aggiungere tariffe in base al numero di persone per
RoomID_1 e PackageID_1 tra il 20-10-2021 e il 31-12-2021. Tieni presente che
Google supporta fino a tre anni di dati.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Sostituire tariffe
Imposta NotifType
su Overlay
per eliminare tutte le tariffe
in base al numero di persone per RoomID_1 e PackageID_1 tra il 20-10-2021 e il 31-12-2021
e sostituirle con le nuove tariffe specificate in base al numero di persone.
Ad esempio, se questo messaggio è stato inviato dopo il messaggio per l'aggiunta di tariffe, le tariffe per 1, 2 e 3 persone verranno eliminate e verrà archiviata solo la nuova tariffa per 1 persona. Puoi anche impostare un intervallo di date più breve (ad es. 2021-12-20 e 2021-12-31) per sostituire solo alcune delle tariffe per il numero di persone in determinate date, ad esempio per le festività.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Rimuovere le tariffe
Imposta NotifType
su Remove
per eliminare tutte le tariffe
in base al numero di persone per RoomID_1 e PackageID_1 tra il 20-10-2021 e il 31-12-2021.
Ad esempio, se questo messaggio è stato inviato dopo uno degli altri messaggi di esempio, non verrà archiviata nessuna tariffa in base al numero di persone.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Aggiungere, sovrapporre e rimuovere importi aggiuntivi per gli ospiti
Aggiungere importi
Imposta NotifType
su Delta
per aggiungere le tariffe base per il numero di persone 1 e 2 e gli importi aggiuntivi per gli ospiti per RoomID_1 e PackageID_1 tra il 20/10/2021 e il 31/12/2021.
Gli importi aggiuntivi per gli ospiti verranno applicati a una tariffa di base che verrà determinata in base al numero di persone in una ricerca dell'utente. Il numero di persone specificato dall'utente deve rientrare nella capienza di RoomID_1.
In questo esempio, gli importi aggiuntivi per gli ospiti verranno applicati come segue:
- 5 $ per i bambini di età compresa tra 0 e 10 anni (inclusi).
- 10 $ per i bambini di età compresa tra 11 e 17 anni (inclusi).
- 20 $ per gli adulti.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Importi degli overlay
Imposta NotifType
su Overlay
per eliminare tutte le tariffe
in base al numero di persone e tutti gli importi aggiuntivi per gli ospiti per RoomID_1 e PackageID_1
tra il 20-10-2021 e il 31-12-2021 e sostituirli con le nuove tariffe
in base al numero di persone e gli importi aggiuntivi.
Ad esempio, se questo messaggio è stato inviato dopo il messaggio per l'aggiunta di tariffe, le tariffe base per 1 e 2 persone verranno eliminate e verrà archiviata solo la nuova tariffa base per 1 persona. L'insieme precedente di importi per gli ospiti aggiuntivi verrà eliminato e verrà archiviato solo il nuovo insieme di importi. Gli importi per gli ospiti aggiuntivi ora utilizzeranno la nuova tariffa per 1 persona come tariffa base. Tieni presente che dopo questo aggiornamento non sono previsti costi aggiuntivi per gli ospiti bambini.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Rimuovere importi
Imposta NotifType
su Delete
per eliminare tutte le tariffe di base
in base al numero di persone e tutti gli importi aggiuntivi per gli ospiti per RoomID_1 e PackageID_1
tra il 20-10-2021 e il 31-12-2021.
Ad esempio, se questo messaggio è stato inviato dopo uno degli altri messaggi di esempio, non verranno archiviate tariffe base per il numero di persone o importi aggiuntivi per gli ospiti.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Rimuovi solo gli importi relativi agli ospiti aggiuntivi
Imposta NotifType
su Delta
con un elemento
<AdditionalGuestAmounts>
vuoto per eliminare tutti
gli importi aggiuntivi per gli ospiti per RoomID_1 e PackageID_1 senza influire sulle
tariffe base tra il 20/10/2021 e il 31/12/2021.
Ad esempio, se questo messaggio è stato inviato dopo uno degli altri messaggi di esempio, verranno archiviati solo gli importi base.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Prezzi basati sulla lunghezza del soggiorno
Configurare le tariffe basate sulla lunghezza del soggiorno
Esempio 1
Imposta le tariffe per soggiorni di 1, 2 e 3 notti a partire dal 18-05-2020. La tariffa totale per soggiorni di 1, 2 e 3 notti in questo esempio sarebbe rispettivamente di 100 €, 180 € e 240 €.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Aggiungere, sostituire e rimuovere tariffe basate su LOS
Aggiungi le durate del soggiorno
Con i prezzi basati sulla durata del soggiorno, un'operazione Delta
consente di aggiornare in modo incrementale le tariffe per gli intervalli di date di check-in indicati in <StatusApplicationControl>
e per tutte le durate del soggiorno indicate da UnitMultiplier
di ogni elemento secondario Rate
.
Per ogni data di check-in e durata del soggiorno applicabili, devono essere specificate tutte le tariffe per il numero di persone.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Sostituire le durate del soggiorno
Con i prezzi basati sulla durata del soggiorno, un'operazione Overlay
sostituisce le tariffe per tutte le durate del soggiorno del prodotto e l'intervallo di date di check-in indicate in <StatusApplicationControl>
.
Con questo messaggio, le tariffe per il numero di persone per tutte le durate del soggiorno nelle date di arrivo specificate verranno rimosse e sostituite da una tariffa per due persone definita solo per la durata del soggiorno 3.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Rimuovere le durate del soggiorno
Con i prezzi basati sulla durata del soggiorno, un'operazione Remove
rimuove le tariffe per tutte le durate del soggiorno del prodotto e l'intervallo di date di check-in indicato in <StatusApplicationControl>
.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Risposte
Sintassi
La sintassi del messaggio OTA_HotelRateAmountNotifRS
è la seguente:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
Elementi e attributi
Il messaggio OTA_HotelRateAmountNotifRS
contiene i seguenti elementi e attributi:
Elemento / @attributo | Occorrenze | Tipo | Descrizione |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | L'elemento principale per una risposta a un messaggio di disponibilità. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | La data e l'ora di creazione di questo messaggio. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | L'identificatore univoco del messaggio
OTA_HotelRateAmountNotifRQ associato. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Indica che il messaggio OTA_HotelRateAmountNotifRQ è stato
elaborato correttamente.
In ogni messaggio è
presente |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Un contenitore per uno o più problemi riscontrati durante l'elaborazione del
messaggio OTA_HotelRateAmountNotifRQ .
In ogni messaggio è
presente |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | La descrizione di un errore riscontrato durante l'elaborazione del messaggio
OTA_HotelRateAmountNotifRQ . Per informazioni dettagliate su questi
errori, consulta la sezione Messaggi di errore relativi allo stato dei feed. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | EWT (Error Warning Type) OpenTravel Alliance associato all'errore. Viene utilizzato solo il valore 12 (Processing exception) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | ERR (codice di errore) OpenTravel Alliance associato all'errore.
Viene utilizzato solo il valore 450 (Unable to process) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | Lo stato della richiesta originale. Viene utilizzato solo il valore
NotProcessed . |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | Identificatore Google del problema. Per informazioni dettagliate su questi errori, consulta la sezione Messaggi di errore relativi allo stato dei feed. |
Esempi
Operazione riuscita
Di seguito è riportata una risposta a un messaggio OTA_HotelRateAmountNotifRQ elaborato correttamente.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
Errori
Di seguito è riportata una risposta a un messaggio OTA_HotelRateAmountNotifRQ non elaborato a causa di errori.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>