Richieste
Sintassi
La sintassi del messaggio TaxFeeInfo
è la seguente:
<?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>
<!--"exclusive" parameter is optional -->
<Rank exclusive="[true|false]">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>
<!--"exclusive" parameter is optional -->
<Rank exclusive="[true|false]">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 |
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 come viene applicato l'aggiornamento. È supportato solo overlay e il valore predefinito è overlay . Tutti i Taxes e i Fees precedenti per questa proprietà verranno cancellati prima dell'applicazione di questo aggiornamento. |
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 | 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 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 nei
campi <PackageData> e
RatePlanCode 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
data di 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:
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 risulta 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:
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é venga applicata la tassa. |
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é venga applicata la tassa. |
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
data di 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:
Sono valide tutte le combinazioni di caratteri. |
TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | Un contenitore per 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:
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
data di 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:
Sono valide tutte le combinazioni di caratteri. |
TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | I valori validi sono:
|
TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | I valori validi sono:
|
TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum |
I valori validi sono:
|
TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | Il codice valuta di tre lettere della tassa (ad esempio, USD).
Nota:se |
TaxFeeInfo / Property / Taxes / Tax / Amount | 0..1 | float | Il valore dell'importo o della percentuale 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. Specifica |
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 è applicabile 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, le tasse GST con aliquote differenziate applicate in India.
Questo elemento è valido solo quando |
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 Uno scaglione d'imposta è attivo quando la tariffa per la notte è maggiore o uguale
al valore di 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 |
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 della tassa 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 una fascia d'età 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
|
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | L'importo fisso della tassa applicata ai bambini di questa fascia d'età. |
TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | Contenitore dell'elenco dei paesi degli utenti per i quali 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 Se UserCountries Se invece UserCountries Se UserCountries |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | Definisce un paese nell'elenco 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 a quello ISO di due lettere. Inoltre, non sono supportati i codici regione CLDR. |
TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | Un rango che specifica l'ordine di applicazione di una tassa o commissione.
Ad esempio, un valore di 2 indica che la tassa viene applicata per seconda.
Questo elemento deve essere sempre specificato se <Rank>2</Rank> I valori di classificazione duplicati sono consentiti tra tasse e commissioni, ma ciò può comportare un comportamento indefinito in cui tasse e commissioni vengono applicate in modo arbitrario e cumulativo. In alternativa, utilizza il parametro Se il parametro <Rank exclusive="true">1</Rank> Le tasse vengono applicate prima delle commissioni, pertanto, se
una tassa e una commissione hanno lo stesso rango e la commissione ha Per includere tutte le tasse e le commissioni dello stesso rango, evita di impostare
Le tasse e le commissioni senza ranking vengono applicate prima di tutte le voci classificate.
|
TaxFeeInfo / Property / Fees | 0..1 | Fees | Contenitore di uno o più elementi <Fee> . |
TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | Una commissione individuale applicabile alla proprietà. Tutti gli elementi secondari di |
Esempi
Esiste un limite di 300 tasse e commissioni per proprietà. Fai riferimento all'esempio "Elimina tasse" per rimuovere tasse e 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 tasse
Elimina tutte le tasse e le commissioni 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 uguale a 7500.
- Tassa del 18% se la tariffa per notte è maggiore di 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>
Tasse basate sull'età
Tasse applicate in base all'età degli occupanti:
- Tassa di 20 $ per gli adulti.
- Tassa di 10 $ per i bambini di età compresa tra 11 e 17 anni.
- Tassa 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>
Intervalli di date del soggiorno sovrapposti
Quando vengono definiti più intervalli di date del soggiorno che si sovrappongono tra loro, la data del soggiorno specificata deve soddisfare solo uno di questi intervalli e non tutti. Gli intervalli di date del soggiorno devono essere specificati in un unico intervallo di inizio e fine.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
id="12345678"
partner="partner_key">
<Property action="overlay">
<ID>987654</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="any">
<DateRange start="2025-06-16"/>
</StayDates>
<Currency>USD</Currency>
<Amount>50</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-12" end="2025-03-18"/>
</StayDates>
<Currency>USD</Currency>
<Amount>200</Amount>
</Fee>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-19"/>
</StayDates>
<Currency>USD</Currency>
<Amount>300</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
Tasse e commissioni multiple con classificazione esclusiva
Di seguito è riportato un esempio con più tasse e commissioni con
exclusive="true"
e ranghi diversi. Considera le seguenti tasse e
commissioni da applicare alla tariffa:
- Un'imposta di soggiorno del 5% con rango 1
exclusive="true"
. - Un'imposta sul servizio in camera di 10 $ con rango 1.
- Un costo di pulizia di 50 $ con il rango 2
exclusive="true"
. - Una commissione per i servizi del 2% con il livello 3.
L'ordine cronologico in cui vengono applicate le tasse e le commissioni in base a
<Rank>
è:
- Viene applicata per prima la tassa di occupazione con
exclusive="true"
e rango 1. - L'imposta sul servizio in camera con rango 1 non verrà applicata perché l'imposta sull'occupazione precedente è esclusiva.
- Successivamente, viene applicato il costo per le pulizie con
exclusive="true"
e il rango 2. - La tariffa per i servizi con rango 3 viene applicata dopo la tariffa per le pulizie con rango 2.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
id="tax-fee-id"
partner="partner_key">
<Property action="overlay">
<ID>765432</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Amount>5</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank exclusive="true">1</Rank>
</Tax>
<Tax>
<Type>amount</Type>
<Amount>10</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank>1</Rank>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Amount>50</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank exclusive="true">2</Rank>
</Fee>
<Fee>
<Type>percent</Type>
<Amount>2</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank>3</Rank>
</Fee>
</Fees>
</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 di questo messaggio. |
TaxFeeInfoResponse / Success | 0..1 | Success | Indica che il messaggio TaxFeeInfo è stato elaborato correttamente
senza avvisi, errori o problemi.
In ogni messaggio è
presente |
TaxFeeInfoResponse / Issues | 0..1 | Issues | Un contenitore per uno o più problemi riscontrati durante l'elaborazione del
messaggio TaxFeeInfo .
In ogni messaggio è
presente |
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 |
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>