TaxFeeInfo

Richieste

Sintassi

Il messaggio TaxFeeInfo utilizza la seguente sintassi:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_key">
  <Property action="[overlay]">
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <Rank>integer</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <Rank>integer</Rank>
      </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 questo messaggio di richiesta. Questo valore viene restituito nel messaggio di risposta. I caratteri consentiti sono a-z, A-Z, 0-9, _ (trattino basso) e - (trattino).
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 contenitore per la definizione di tasse e commissioni di una singola proprietà.
TaxFeeInfo / Property / @action 0..1 string Specifica il modo in cui viene applicato l'aggiornamento. È supportato solo overlay e il valore predefinito è overlay. Eventuali Taxes e Fees precedenti per questa proprietà verranno cancellati prima dell'applicazione dell'aggiornamento.
TaxFeeInfo / Property / ID 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.
TaxFeeInfo / Property / Taxes 0..1 Taxes Contenitore di uno o più elementi <Tax>.
TaxFeeInfo / Property / Taxes / Tax 1..n Tax Una tassa individuale applicabile alla proprietà.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Contenitore 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 Contenitore di un elenco di 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> del messaggio Transaction (Property Data) e al valore RatePlanCode impostato nell'attributo <StatusApplicationControl> nei messaggi <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ>. Il numero massimo di caratteri consentiti è 50.
TaxFeeInfo / Property / Taxes / Tax / BookingDates 0..1 BookingDates Un contenitore di uno o più intervalli di date che definiscono il periodo in cui deve essere effettuata la prenotazione perché venga applicata la tassa.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange 1..99 DateRange Un intervallo di date che specifica il periodo in cui deve essere effettuata la prenotazione affinché venga applicata la tassa.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start 0..1 Date La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Se start non è specificato, l'intervallo di date risulta a tutti gli effetti illimitato in termini di data di inizio.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end 0..1 Date La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla data di start. Se end non è specificato, l'intervallo di date risulta a tutti gli effetti illimitato in termini di data di fine.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / 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 / CheckinDates 0..1 CheckinDates Un contenitore per uno o più intervalli di date che definiscono il periodo in cui deve essere effettuato il check-in perché venga applicata la tassa.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Un intervallo di date che specifica il periodo in cui deve essere effettuato il check-in perché venga applicata la tassa.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start 0..1 Date La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla data di end. Se start non è specificato, l'intervallo di date è a tutti gli effetti illimitato in termini di data di inizio.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end 0..1 Date La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla data di start. Se end non è specificato, l'intervallo di date risulta a tutti gli effetti illimitato in termini di data di fine.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / 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 / CheckoutDates 0..1 CheckoutDates Un contenitore di uno o più intervalli di date che definiscono il periodo in cui deve essere effettuato il check-out perché la tassa venga applicata.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Un intervallo di date che specifica il periodo in cui deve essere effettuato il check-out perché la tassa venga applicata.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start 0..1 Date La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Se start non è specificato, l'intervallo di date risulta a tutti gli effetti illimitato in termini di data di inizio.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end 0..1 Date La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla data di start. Se end non è specificato, l'intervallo di date risulta a tutti gli effetti illimitato in termini di data di fine.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / 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

È valida qualsiasi combinazione di caratteri.

TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

Un contenitore di uno o più intervalli di date che determinano se viene applicata la tassa, ad esempio per rispecchiare gli sconti stagionali.

TaxFeeInfo / Property / Taxes / Tax / StayDates / @application 1 enum

Descrive in che modo deve essere applicata l'imposta.

I valori validi sono:

  • all: applica la tassa a ogni notte nell'itinerario se tutte le date nell'itinerario si sovrappongono alle date del soggiorno.
  • any: applica la tassa a tutte le notti nell'itinerario se una qualsiasi data nell'itinerario si sovrappone a una data nell'intervallo di date del soggiorno.
  • overlap: applica la tassa solo alle notti dell'itinerario che si sovrappongono a una data compresa nell'intervallo di date del soggiorno.

    Nota: overlap è valido solo quando <Period> è impostato su night.

Questo attributo deve essere sempre specificato.

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 (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Se start non è specificato, l'intervallo di date risulta a tutti gli effetti illimitato in termini di data di inizio.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end 0..1 Date La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla data di start. Se end non è specificato, l'intervallo di date risulta a tutti gli effetti 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 / Type 1 enum

I valori validi sono:

  • percent: Una percentuale della tariffa totale
  • amount: Un importo fisso da aggiungere alla tariffa finale
  • cumulative_percent: Una percentuale dell'aliquota totale, delle tasse e delle commissioni accumulate prima del calcolo di questa imposta o commissione. Se questo valore viene specificato, è necessario specificare anche <Rank>.
  • <Brackets> e <AgeBrackets> non possono essere specificati con cumulative_percent come tipo.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

I valori validi sono:

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

I valori validi sono:

  • stay: L'importo di <Amount> viene aggiunto alla tariffa totale del soggiorno.
  • night: 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).

Nota: se <Currency> non è specificato, ma è specificato <Amount>, il valore <Currency> predefinito è la valuta del tasso di base.

TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float Il valore della percentuale o dell'importo della tassa.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights Questo valore si applica solo se <Type> è impostato su amount e <Period> è impostato su night.

Limita il numero di notti a cui è possibile applicare una tassa.

Puoi specificare max o excluded, ma non entrambi.

TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max 0..1 integer <ApplicableNights max="N"> indica che le notti successive alle prime N notti devono essere escluse.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded 0..1 integer <ApplicableNights excluded="N"> indica che le prime N notti devono essere escluse.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay 0..1 LengthOfStay Definisce i limiti di durata del soggiorno entro i quali può essere applicata questa tassa. La tassa non viene applicata quando la durata del soggiorno non è compresa tra il limite minimo e massimo.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min 0..1 integer Il numero minimo di notti consentito per il soggiorno perché venga applicata la tassa. Se non specificato, non è previsto un limite minimo.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max 0..1 integer Il numero massimo di notti consentito per il soggiorno perché venga applicata la tassa. Se non specificato, non è previsto un limite massimo.
TaxFeeInfo / Property / Taxes / Tax / Brackets 0..1 Brackets Contenitore di uno o più elementi <Bracket>. Definisce un insieme di scaglioni d'imposta contigui e non sovrapposti. Ad esempio: imposte GST indiana (GST).

Questo elemento è valido solo quando <Period> è impostato su night e <Amount> non è specificato.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float Il valore della percentuale o dell'importo della tassa, applicato alle tariffe per notte al di sotto del valore starts_at del primo scaglione.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Definisce uno scaglione d'imposta in base alle tariffe per notte.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Definisce il limite inferiore di uno scaglione d'imposta. Il limite superiore è specificato nel campo starts_at della parentesi graffa successiva. L'ultimo scaglione non prevede un limite superiore.

Uno scaglione d'imposta è attivo quando la tariffa per la notte è maggiore o uguale al valore di starts_at dello scaglione stesso e rigorosamente minore del valore di starts_at dello scaglione successivo.

Questo valore deve essere necessariamente maggiore di 0.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Il valore della percentuale o dell'importo della tassa applicato a questo scaglione d'imposta.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Consente di specificare un insieme di imposte in base all'età degli occupanti.

Questo elemento è valido solo quando <Brackets> e <Amount> non sono specificati, <Basis> è impostato su person e <Type> è impostato su amount.

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Contenitore per specificare le tasse per gli adulti.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float L'importo fisso dell'imposta applicata agli adulti.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Contenitore per uno o più elementi <ChildAgeBracket>.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Definisce un'età minima e massima per i bambini e l'importo dell'imposta corrispondente.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Definisce il limite superiore dell'età di un bambino. Il limite inferiore è specificato nel campo max_age dello scaglione precedente + 1. I limiti superiore e inferiore sono entrambi inclusi. Il limite inferiore per la prima parentesi è 0.

Il valore di max_age deve essere compreso tra 0 e 17 (inclusi).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float L'importo fisso dell'imposta applicato ai bambini di questa fascia d'età.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Contenitore per l'elenco dei paesi in cui la tassa è inclusa o esclusa. Se presente, la tassa verrà inclusa o esclusa solo per gli utenti dei paesi specificati.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Il tipo di specifica UserCountries.

I valori validi sono include e exclude.

Se type UserCountries è impostato su include, l'imposta verrà applicata solo agli utenti dei paesi elencati.

Se invece type UserCountries è exclude, l'imposta verrà applicata solo agli utenti al di fuori dei paesi elencati.

Se type UserCountries non è impostato, lo considereremo come include e l'imposta verrà applicata solo agli utenti dei paesi elencati.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country Definisce un paese nell'elenco di UserCountries.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string Un codice paese CLDR, ad esempio DE o FR. Tieni presente che, per alcuni paesi, il codice paese CLDR non corrisponde al codice paese ISO di due lettere. Inoltre, non sono supportati i codici regione CLDR.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

Un ranking che specifica l'ordine di applicazione di questa tassa o commissione. Ad esempio, il valore 2 indica che questa imposta verrà applicata per seconda. Questo elemento deve sempre essere specificato se <Type> è impostato su cumulative_percent. In generale, questo ordine viene applicato sia alle tasse sia alle commissioni. Sono consentiti valori di ranking duplicati tra tasse e commissioni, ma ciò può comportare un comportamento indefinito in cui tasse e commissioni verranno applicate in modo arbitrario e cumulativo. Le tasse e le commissioni senza ranking vengono applicate prima di tutte le voci con ranking.

<Rank> deve essere compreso nell'intervallo da 1 a 99 (inclusi).

TaxFeeInfo / Property / Fees 0..1 Fees Contenitore per uno o più elementi <Fee>.
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Una commissione individuale applicabile alla proprietà.

Tutti gli elementi secondari di <Tax> sono supportati anche per <Fee> con la stessa sintassi.

Esempi

Esiste un limite di 300 tasse e commissioni per proprietà. Fai riferimento all'esempio "Eliminare le tasse" per rimuovere le tasse e le commissioni da una proprietà.

Messaggio di base

Un messaggio TaxFeeInfo di base:

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

Eliminare le imposte

Questo codice elimina tutte le tasse e le tariffe a livello di proprietà per l'hotel specificato:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-06-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay"/>
    <ID>Property_1</ID>
  </Property>
</TaxFeeInfo>

Imposta con aliquote differenziate

Imposta GST con aliquote differenziate applicata in India in base alle tariffe per notte. Gli scaglioni d'imposta sono:

  • Nessuna tassa se la tariffa per notte è minore o uguale a 1000.
  • Tassa del 12% se la tariffa per notte è maggiore di 1000 e minore o égale a 7500.
  • Tassa del 18% se la tariffa per notte è superiore a 7500.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Brackets base_amount="0">
          <Bracket starts_at="1000.01" amount="12"/>
          <Bracket starts_at="7500.01" amount="18"/>
        </Brackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Imposte basate sull'età

Tasse applicate in base all'età degli ospiti:

  • Imposte di 20 $ per gli occupanti adulti.
  • Imposta di 10 $ per i bambini di età compresa tra 11 e 17 anni.
  • Imposta di 5 $ per i bambini di età compresa tra 0 e 10 anni.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>person</Basis>
        <Period>night</Period>
        <AgeBrackets>
          <AdultCharge amount="20"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="10" amount="5"/>
            <ChildAgeBracket max_age="17" amount="10"/>
          </ChildAgeBrackets>
        </AgeBrackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Risposte

Sintassi

La sintassi del messaggio TaxFeeInfoResponse è la seguente:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TaxFeeInfoResponse>

Elementi e attributi

Il messaggio TaxFeeInfoResponse contiene i seguenti elementi e attributi:

Elemento / @attributo Occorrenze Tipo Descrizione
TaxFeeInfoResponse 1 Complex element L'elemento principale che indica se l'esito è positivo o negativo per un messaggio di richiesta TaxFeeInfo ricevuto.
TaxFeeInfoResponse / @timestamp 1 DateTime La data e l'ora di creazione di questo messaggio.
TaxFeeInfoResponse / @id 1 string L'identificatore univoco del messaggio TaxFeeInfo associato.
TaxFeeInfoResponse / @partner 1 string L'account partner per questo messaggio.
TaxFeeInfoResponse / Success 0..1 Success Indica che il messaggio TaxFeeInfo è stato elaborato correttamente senza avvisi, errori o problemi.

In ogni messaggio è presente <Success> o <Issues>.

TaxFeeInfoResponse / Issues 0..1 Issues Un contenitore per uno o più problemi riscontrati durante l'elaborazione del messaggio TaxFeeInfo.

In ogni messaggio è presente <Success> o <Issues>.

TaxFeeInfoResponse / Issues / Issue 1..n Issue La descrizione di un avviso, un errore o un problema riscontrato durante l'elaborazione del messaggio TaxFeeInfo. Per informazioni dettagliate su questi problemi, consulta la sezione Messaggi di errore relativi allo stato dei feed.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer L'identificatore del problema.
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

Il tipo di problema riscontrato.

I valori validi sono warning, error e failure.

Esempi

Operazione riuscita

Di seguito è riportata una risposta a un messaggio TaxFeeInfo elaborato correttamente.

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</TaxFeeInfoResponse>

Problemi

Di seguito è riportata una risposta a un messaggio TaxFeeInfo non elaborato a causa di errori.

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TaxFeeInfoResponse>