OTA_HotelRateAmountNotifRQ

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 <RateAmountMessage>.

I valori validi sono:

Per comprendere il funzionamento degli attributi, consulta gli esempi.

  • Overlay: Elimina tutte le tariffe in base al numero di persone per tipo di camera, piano tariffario e date specificati in <StatusApplicationControl> e sostituiscile con nuove tariffe.
  • Remove: Elimina tutte le tariffe esistenti in base al numero di persone per tipo di camera, piano tariffario e date specificati in <StatusApplicationControl>.
  • Delta: (il valore predefinito se NotifType non è specificato) aggiungi o aggiorna le tariffe esistenti in base al numero di persone per tipo di camera, piano tariffario e date specificate in <StatusApplicationControl>.
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

L'ambito di NotifType da applicare a ogni <RateAmountMessage>.

I valori validi sono:

  • ProductRate: (il valore predefinito se NotifScopeType non è specificato) NotifType si applica ai prodotti, ovvero combinazioni composte da tipo di camera (InvTypeCode) e piano tariffario (RatePlanCode).
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 partner del messaggio Transazione (dati della proprietà) e al valore dell'attributo ID nell'elemento <RequestorID> del messaggio <OTA_HotelAvailNotifRQ> per lo stesso account.

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages Una raccolta di elementi <RateAmountMessage> che definiscono le tariffe.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 1 string L'identificatore univoco della proprietà. 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 di start. Se start e end sono uguali, l'aggiornamento verrà applicato a tale 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 true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Imposta su true o 1 per includere esplicitamente i martedì.

Se è impostato su true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Imposta su true o 1 per includere esplicitamente i mercoledì.

Se è impostato su true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Imposta su true o 1 per includere esplicitamente i giovedì.

Se è impostato su true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean Imposta su true o 1 per includere esplicitamente i venerdì.

Se è impostato su true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean Imposta su true o 1 per includere esplicitamente i sabati.

Se è impostato su true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Imposta su true o 1 per includere esplicitamente le domeniche.

Se è impostato su true, vengono esclusi gli altri giorni della settimana che non sono esplicitamente impostati su true (in effetti, non vengono inclusi nell'intervallo di date comprese tra Start e End).

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 che si applica 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 base alla quale viene specificata la durata del soggiorno. L'unico valore supportato è "Day", il che significa che la durata del soggiorno sarà specificata in giorni.

Per utilizzare i prezzi basati sulla lunghezza del soggiorno, RateTimeUnit e UnitMultiplier devono essere specificati. In caso contrario, non deve essere specificato nessuno dei due.

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 RateTimeUnits è "Day", un UnitMultiplier di 5 indica che le tariffe specificate in questo oggetto Rate si applicano a ogni notte di un soggiorno di 5 notti.

Il tasso o i tassi di occupazione specificati in questo oggetto Rate verranno moltiplicati per UnitMultiplier (durata del soggiorno) per ottenere il prezzo totale del soggiorno.

Per utilizzare i prezzi basati sulla lunghezza del soggiorno, devono essere specificati RateTimeUnit e UnitMultiplier. In caso contrario, non deve essere specificato nessuno dei due.

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 AmountBeforeTax che AmountAfterTax. Se AmountBeforeTax non è specificato, è necessario specificare AmountAfterTax. Se AmountBeforeTax è specificato e AmountAfterTax non lo è, le tasse e le commissioni devono essere specificate in un messaggio <TaxFeeInfo>.

Se utilizzi le promozioni, lo sconto viene applicato a AmountBeforeTax; inoltre, le percentuali di sconto vengono applicate a AmountAfterTax. Poiché questa operazione non funziona con alcune strutture fiscali, consigliamo vivamente di specificare AmountBeforeTax solo qui e di utilizzare <TaxFeeInfo> per specificare tasse e commissioni.

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 regioni.

Avviso: se utilizzi le promozioni, sconsigliamo vivamente di utilizzare importi AmountAfterTax. Se vuoi utilizzare gli sconti, specifica tasse e commissioni utilizzando il messaggio <TaxFeeInfo>. I tuoi sconti saranno applicati agli importi AmountBeforeTax.

Nota: se AmountBeforeTax non è specificato, è necessario specificare AmountAfterTax.

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 ospiti.

Tieni presente che se <AdditionalGuestAmounts> contiene addebiti per i bambini, NumberOfGuests si riferisce solo agli adulti. Se <AdditionalGuestAmounts> non è specificato o non contiene costi per i bambini, NumberOfGuests si riferisce al numero totale di occupanti, inclusi adulti e bambini.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts Contenitore di una raccolta di addebiti per gli 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 ExtraGuestCharges più efficiente se questi importi possono essere definiti staticamente a livello di proprietà.

Gli importi aggiuntivi per gli ospiti vengono applicati come segue:
  • Vengono applicati in aggiunta al tasso di occupazione di base. Il tasso di occupazione di base è il tasso di occupazione più alto, specificato in <BaseByGuestAmts>, che è inferiore o uguale al numero di adulti in una ricerca utente.
  • Vengono applicati purché l'occupazione in una ricerca utente rientri nella capacità della stanza.
  • <AdditionalGuestAmounts> sostituisce sempre gli importi aggiuntivi specificati in precedenza con quelli nuovi quando NotifType è Delta o Overlay.
  • <AdditionalGuestAmounts> può essere inviato indipendentemente dalle tariffe base solo quando NotifType è Delta. <BaseByGuestAmts>deve essere specificato quando NotifType è Overlay.
  • Un elemento <AdditionalGuestAmounts> vuoto con NotifType impostato su Delta rimuove gli importi aggiuntivi esistenti senza influire sulle tariffe base.
  • Vengono applicati utilizzando la valuta specificata in <BaseByGuestAmt>.

Ad esempio, supponiamo che le tariffe base siano specificate per 1 e 2 adulti.

  • Se un utente cerca 3 adulti, la tariffa per due persone verrà selezionata come tariffa base e verrà applicato un importo aggiuntivo per 1 adulto.
  • Se l'utente cerca 1 adulto e 2 bambini, la tariffa per una persona viene selezionata come tariffa base e vengono applicati importi aggiuntivi per i due bambini.
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, l'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:
  • 10: Adulti.
  • 8: Bambino.

AgeQualifyingCode può essere impostato su 10 per al massimo un elemento AdditionalGuestAmount.

MaxAge deve essere specificato quando AgeQualifyingCode è 8.

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.

MaxAge deve essere un numero intero compreso tra 0 e 17.

Se specifichi un valore di 0, i bambini non possono essere occupanti.

I valori superiori a 17 verranno trattati come il valore massimo accettato di 17.

È possibile specificare più fasce d'età per i bambini tramite elementi AdditionalGuestAmount separati. Le fasce d'età devono essere contigue e non sovrapposte.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Importo al netto di tasse e commissioni aggiunto alla tariffa base per ogni ospite aggiuntivo.

Le tasse e le commissioni che dipendono dall'età degli occupanti devono essere specificate tramite l'elemento <AgeBrackets> in un messaggio <TaxFeeInfo>.

Esempi

Questa sezione fornisce esempi di codice che evidenziano come:

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 verranno sostituite le percentuali di occupazione solo per questo periodo.

Prezzi per data

Per una determinata camera e un determinato piano tariffario, possono essere presenti un massimo di 50 tariffe di occupazione per proprietà. Se le tariffe sono le stesse per tutti i valori di numero di persone, devi inviare solo il numero massimo di persone con il prezzo richiesto. In questo modo, Google deduce che anche le occupazioni inferiori ricevono la stessa tariffa base.

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 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"
                            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, ovvero combinazioni di pacchetto e tipo di camera, 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 quindi 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 alcuni tassi di occupazione 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 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, sostituire e rimuovere importi per ospiti aggiuntivi

Aggiungere importi

Imposta NotifType su Delta per aggiungere le tariffe base per 1 e 2 persone e gli importi per gli ospiti aggiuntivi per RoomID_1 e PackageID_1 tra il 20/10/2021 e il 31/12/2021.

Gli importi aggiuntivi per gli ospiti verranno applicati in aggiunta a una tariffa di base che verrà determinata dall'occupazione in una ricerca utente. L'occupazione specificata dall'utente deve rientrare nella capacità di RoomID_1.

In questo esempio, gli importi aggiuntivi per gli ospiti verranno applicati come segue:

  • 5 $ per i bambini nella fascia d'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 di sovrapposizione

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 specificati.

Ad esempio, se questo messaggio è stato inviato dopo il messaggio per l'aggiunta di tariffe, le tariffe per 1 e 2 persone verranno eliminate e verrà archiviata solo la nuova tariffa per 1 persona. Il precedente insieme di importi aggiuntivi per gli ospiti verrà eliminato e verrà memorizzato solo il nuovo insieme di importi. Gli importi per gli ospiti aggiuntivi ora utilizzano la nuova tariffa per 1 persona come tariffa base. Tieni presente che dopo questo aggiornamento non sono definiti costi aggiuntivi per gli ospiti per i 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 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 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>

Rimuovere solo gli importi degli 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 durata del soggiorno

Configurare le tariffe basate sulla durata del soggiorno

Esempio 1

Imposta le tariffe per i soggiorni di 1, 2 e 3 notti a partire dal 18-05-2020. La tariffa totale per i 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 sulla durata del soggiorno

Aggiungi la durata o 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 ogni elemento secondario Rate UnitMultiplier.

Per ogni data di check-in e durata del soggiorno applicabili, devono essere specificate tutte le tariffe di occupazione.

<?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>

Sovrapponi durata/e 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 indicato in <StatusApplicationControl>.

Con questo messaggio, le tariffe in base al 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 di 3 giorni.

<?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 <Success> o <Errors>.

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 <Success> o <Errors>.

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 (Error Code) 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 L'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>