OTA_HotelRateAmountNotifRQ

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"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_account_name"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
        </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 / @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:

  • Overlay: elimina tutte le tariffe esistenti in base al numero di persone per tipo di camera, piano tariffario e date specificate 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 specificate 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 container 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 container 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 Transaction (Property Data) e a quello dell'attributo ID nell'elemento <RequestorID> del tuo 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 container 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 dell'intervallo di date.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date La data di fine dell'intervallo di date. Deve essere maggiore o uguale al valore di start. Se start e end sono uguali, l'aggiornamento verrà applicato a tale data.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / 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 / Rates 0..1 Rates Container 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 Container di una raccolta di elementi <BaseByGuestAmts>.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts 1 BaseByGuestAmts Container di una raccolta dei costi di base.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / 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 / BaseGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 Float

Il prezzo giornaliero della tariffa della camera prima dell'applicazione di tasse e commissioni.

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 / BaseGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 Float Il prezzo giornaliero della tariffa della camera dopo l'inclusione 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 AmountAfterTax. Se vuoi utilizzare gli sconti, specifica tasse e commissioni utilizzando il messaggio TaxFeeInfo. In questo modo, i tuoi sconti saranno applicati agli importi AmountBeforeTax.

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

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @CurrencyCode 1 Enum Il codice alpha-3 ISO 4217 di una specifica unità monetaria.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 Integer Numero massimo di ospiti previsto per una camera. Se non viene fornito, il valore predefinito è 2.

Esempi

Questa sezione fornisce esempi di codice che evidenziano come:

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 aree geografiche.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            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"
                            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 un numero di persone maggiore rispetto a quello predefinito. 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"
                            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"
                            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, sovrapporre e rimuovere tariffe

Aggiungere tariffe

Imposta NotifType su Delta per aggiungere tariffe in base al numero di persone per RoomID_1 e PackageID_1 tra il 18-05-2020 e il 23-05-2020.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            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-23"
                                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>

Sovrapporre tariffe

Imposta NotifType su Overlay per eliminare tutte le tariffe in base al numero di persone per RoomID_1 e PackageID_1 tra il 18-05-2020 e il 23-05-2020, quindi sostituiscilo 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.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            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-23"
                                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 Delete per eliminare tutte le tariffe in base al numero di persone per RoomID_1 e PackageID_1 tra il 18-05-2020 e il 23-05-2020.

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"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>