TaxFeeInfo

Sintassi

La sintassi del messaggio TaxFeeInfo è la seguente:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_account_name">
  <Property>
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <StayDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <Type>[percent|amount]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <StayDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <Type>[percent|amount]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Elementi e attributi

Il messaggio TaxFeeInfo contiene i seguenti elementi e attributi:
Elemento / @attributo Occorrenze Tipo Descrizione
TaxFeeInfo 1 Complex element L'elemento principale di un messaggio che definisce le tasse e le commissioni di una singola proprietà.
TaxFeeInfo / @timestamp 1 DateTime La data e l'ora di creazione di questo messaggio.
TaxFeeInfo / @id 1 String Un identificatore univoco per ogni messaggio TaxFeeInfo.
TaxFeeInfo / @partner 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 ID specificato nell'elemento <RequestorID> dei messaggi <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ> per lo stesso account.

TaxFeeInfo / Property 1..n Property Un container per la definizione di tasse e commissioni di una singola proprietà.
TaxFeeInfo / Property / ID 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.
TaxFeeInfo / Property / Taxes 0..1 Taxes Container di uno o più elementi <Tax>.
TaxFeeInfo / Property / Taxes / Tax 1..n Tax Una tassa individuale applicabile alla proprietà.
TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

Un container di uno o più intervalli di date che definiscono il periodo in cui deve essere applicata la tassa (ad esempio, per rispecchiare le tasse stagionali):

  • Se <Period> è impostato su "stay" e <Type> su "percent", allora la percentuale della tassa viene applicata a tutte le notti nell'itinerario se c'è una sovrapposizione tra una data dell'itinerario e una data nell'intervallo (ad esempio, se la data di partenza è il 1° ottobre e la prima data nell'intervallo è il 1° ottobre, allora la tassa non viene applicata all'itinerario).
  • Se <Period> è impostato su "stay" e <Type> su "amount", allora la percentuale della tassa viene applicata come un importo fisso che copre l'intero itinerario se c'è una sovrapposizione tra una data dell'itinerario e una data nell'intervallo.
  • Se <Period> è impostato su "night" e <Type> su "amount", allora l'importo della tassa viene applicato a tutte le notti nell'itinerario in cui c'è una sovrapposizione tra tale data e una data nell'intervallo.

Nota: l'impostazione di <Period> su "night" e di <Type> su "percent" non è coperta perché si tratta di una combinazione generalmente non valida in un messaggio TaxFeeInfo.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Un intervallo di date che specifica le date in cui deve essere applicata la tassa.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start 0..1 Date La data di inizio dell'intervallo di date (in base al fuso orario della proprietà), incluso il giorno di inizio. Questa data deve essere precedente o uguale alla data di end. Se start non è specificato, l'intervallo di date risulta effettivamente illimitato in termini di data di inizio.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end 0..1 Date La data di fine dell'intervallo di date (in base al fuso orario della proprietà), incluso il giorno di fine. Questa data deve essere uguale o successiva alla data di start. Se end non è specificato, l'intervallo di date risulta effettivamente illimitato in termini di data di fine.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week 0..1 String

I giorni della settimana consentiti nell'intervallo di date. Se il valore non viene specificato, saranno consentiti tutti i giorni nell'intervallo di date. Ogni carattere nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica che nell'intervallo di date sono consentiti i giorni feriali.

I caratteri validi sono:

  • M per lunedì
  • T per martedì
  • W per mercoledì
  • H per giovedì
  • F per venerdì
  • S per sabato
  • U per domenica

Sono valide tutte le combinazioni di caratteri.

TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Container di un elenco dei tipi di camera a cui si applica la tassa. La tassa viene applicata a ogni <RoomType> specificato. Se <RoomTypes> non è specificato, la tassa si applica a tutte le camere.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType 1..n RoomType Specifica un tipo di camera. Il tipo di camera viene definito in un elemento <RoomData> all'interno di un messaggio Transaction (Property Data) e come identificato tramite il relativo valore RoomID (al valore <RoomID> viene fatto riferimento anche tramite l'attributo InvTypeCode nei messaggi OTA_HotelRateAmountNotifRQ).
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id 1 String L'identificatore univoco dell'inventario (tipo di camera). Questo valore è mappato a <RoomID> in un messaggio Transaction (Property Data). Il numero massimo di caratteri consentiti è 50.
TaxFeeInfo / Property / Taxes / Tax / RatePlans 0..1 RatePlans Container di un elenco dei piani tariffari a cui si applica la tassa. Se <RatePlans> non è specificato, la tassa si applica a tutti i piani tariffari.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan 1..n RatePlan Specifica un piano tariffario. Il piano tariffario viene definito da una combinazione di pacchetti, tariffe e disponibilità, come definito nei messaggi Transaction (Property Data), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ e come identificato da PackageID.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id 1 String L'identificatore univoco del piano tariffario. Questo valore è mappato al valore PackageID in <PackageData> all'interno di un messaggio Transaction (Property Data) e nell'attributo RatePlanCode in <StatusApplicationControl> nei messaggi <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ>. Il numero massimo di caratteri consentiti è 50.
TaxFeeInfo / Property / Taxes / Tax / Type 1 Enum

I valori validi sono:

  • percent: una percentuale della tariffa totale
  • amount: un importo fisso da aggiungere alla tariffa finale
TaxFeeInfo / Property / Taxes / Tax / Basis 1 Enum

I valori validi sono:

  • room: <Amount> viene applicato alla camera.
  • person: <Amount> viene applicato a persona. Questo valore si applica solo se <Type> è impostato sull'importo.
TaxFeeInfo / Property / Taxes / Tax / Period 1 Enum

Questo valore si applica solo se <Type> è impostato sull'importo.

I valori validi sono:

  • stay: <Amount> viene aggiunto alla tariffa totale del soggiorno.
  • night: <Amount> viene aggiunto a ogni notte del soggiorno.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 String Il codice valuta di tre lettere della tassa (ad esempio, USD).
TaxFeeInfo / Property / Taxes / Tax / Amount 1 Float Il valore dell'importo o della percentuale della tassa.
TaxFeeInfo / Property / Fees 0..1 Fees Container di uno o più elementi <Fee>.
TaxFeeInfo / Property / Fees / Fee 1..n Fee Una commissione individuale applicabile alla proprietà.
TaxFeeInfo / Property / Fees / Fee / StayDates 0..1 StayDates

Un container di uno o più intervalli di date che definiscono il periodo in cui deve essere applicata la commissione (ad esempio, per rispecchiare le commissioni stagionali):

  • Se <Period> è impostato su "stay" e <Type> su "percent", allora la percentuale della commissione viene applicata a tutte le notti nell'itinerario se c'è una sovrapposizione tra una data dell'itinerario e una data nell'intervallo (ad esempio, se la data di partenza è il 1° ottobre e la prima data nell'intervallo è il 1° ottobre, allora la commissione non viene applicata all'itinerario).
  • Se <Period> è impostato su "stay" e <Type> su "amount", allora la percentuale della commissione viene applicata come un importo fisso che copre l'intero itinerario se c'è una sovrapposizione tra una data dell'itinerario e una data nell'intervallo.
  • Se <Period> è impostato su "night" e <Type> su "amount", allora l'importo della commissione viene applicato a tutte le notti dell'itinerario in cui c'è una sovrapposizione tra tale data e una data nell'intervallo.

Nota: l'impostazione di <Period> su "night" e di <Type> su "percent" non è coperta perché si tratta di una combinazione generalmente non valida in un messaggio TaxFeeInfo.

TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange 1..20 DateRange Un intervallo di date che specifica le date in cui deve essere applicata la tariffa.
TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange / @start 0..1 Date La data di inizio dell'intervallo di date (in base al fuso orario della proprietà), incluso il giorno di inizio. Questa data deve essere precedente o uguale alla data di end. Se start non è specificato, l'intervallo di date risulta effettivamente illimitato in termini di data di inizio.
TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange / @end 0..1 Date La data di fine dell'intervallo di date (in base al fuso orario della proprietà), incluso il giorno di fine. Questa data deve essere uguale o successiva alla data di start. Se end non è specificato, l'intervallo di date risulta effettivamente illimitato in termini di data di fine.
TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange / @days_of_week 0..1 String

I giorni della settimana consentiti nell'intervallo di date. Se il valore non viene specificato, saranno consentiti tutti i giorni nell'intervallo di date. Ogni carattere nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica che nell'intervallo di date sono consentiti i giorni feriali.

I caratteri validi sono:

  • M per lunedì
  • T per martedì
  • W per mercoledì
  • H per giovedì
  • F per venerdì
  • S per sabato
  • U per domenica

Sono valide tutte le combinazioni di caratteri.

TaxFeeInfo / Property / Fees / Fee / RoomTypes 0..1 RoomTypes Container di un elenco dei tipi di camera a cui si applica la commissione. La commissione viene applicata a ogni <RoomType> specificato. Se <RoomTypes> non è specificato, la commissione si applica a tutte le camere.
TaxFeeInfo / Property / Fees / Fee / RoomTypes / RoomType 1..n RoomType Specifica un tipo di camera. Il tipo di camera viene definito in un elemento <RoomData> all'interno di un messaggio Transaction (Property Data) e vi viene fatto riferimento tramite il relativo valore <RoomID> (al valore <RoomID> viene fatto riferimento anche tramite l'attributo InvTypeCode nei messaggi OTA_HotelRateAmountNotifRQ).
TaxFeeInfo / Property / Fees / Fee / RoomTypes / RoomType / @id 1 String L'identificatore univoco dell'inventario (tipo di camera). Questo valore è mappato a <RoomID> in un messaggio Transaction (Property Data). Il numero massimo di caratteri consentiti è 50.
TaxFeeInfo / Property / Fees / Fee / RatePlans 0..1 RatePlans Container di un elenco dei piani tariffari a cui si applica la commissione. Se <RatePlans> non è specificato, la commissione si applica a tutti i piani tariffari.
TaxFeeInfo / Property / Fees / Fee / RatePlans / RatePlan 1..n RatePlan Specifica un piano tariffario. Il piano tariffario viene definito da una combinazione di pacchetti, tariffe e disponibilità, come definito nei messaggi Transaction (Property Data), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ e come identificato da PackageID.
TaxFeeInfo / Property / Fees / Fee / RatePlans / RatePlan / @id 1 String L'identificatore univoco del piano tariffario. Questo valore è mappato al valore PackageID in <PackageData> all'interno di un messaggio Transaction (Property Data) e nell'attributo RatePlanCode in <StatusApplicationControl> nei messaggi <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ>. Il numero massimo di caratteri consentiti è 50.
TaxFeeInfo / Property / Fees / Fee / Type 1 Enum

I valori validi sono:

  • percent: una percentuale della tariffa totale
  • amount: un importo fisso da aggiungere alla tariffa finale
TaxFeeInfo / Property / Fees / Fee / Basis 1 Enum

I valori validi sono:

  • room: <Amount> viene applicato alla camera.
  • person: <Amount> viene applicato a persona. Questo valore si applica solo se <Type> è impostato sull'importo.
TaxFeeInfo / Property / Fees / Fee / Period 1 Enum

Questo valore si applica solo se <Type> è impostato sull'importo.

I valori validi sono:

  • stay: <Amount> viene aggiunto alla tariffa totale del soggiorno.
  • night: <Amount> viene aggiunto a ogni notte del soggiorno.
TaxFeeInfo / Property / Fees / Fee / Currency 0..1 String Il codice valuta di tre lettere della commissione (ad esempio, USD).
TaxFeeInfo / Property / Fees / Fee Amount 1 Float Il valore dell'importo o della percentuale della commissione.

Esempi

Esempio 1

L'esempio seguente mostra un messaggio TaxFeeInfo di base:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo  timestamp="2020-05-18T16:20:00-04:00"
             id="12345678">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Currency>USD</Currency>
        <Amount>10.00</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Currency>USD</Currency>
        <Amount>5.00</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>