Le tariffe agevolate sono un tipo di regola tariffaria che consente di offrire tariffe diverse per gli itinerari, in base a criteri come il dispositivo o il paese dell'utente o al fatto che abbia eseguito l'accesso a Google.
Quando hai più di una tariffa pubblica o agevolata per un itinerario o un pacchetto camera, l'utente visualizzerà la tariffa più bassa. Google sceglie sempre la tariffa idonea più bassa per l'utente.
Panoramica
Le tariffe agevolate vengono visualizzate nella scheda dei prezzi standard e sono visibili solo agli utenti le cui ricerche soddisfano i criteri relativi alla tariffa agevolata associata. Questi criteri possono essere basati su:
- Dispositivo dell'utente finale
- Paese dell'utente finale
- Preferenza relativa alla lingua dell'utente finale
- Sottoinsieme ridotto di tutti gli utenti
- Accesso all'Account Google eseguito
Per abilitare le tariffe agevolate, modifica quanto segue:
File XML delle regole tariffarie: definisci le condizioni in cui vengono applicate le tariffe agevolate.
Feed del prezzo: utilizza l'elemento
<Rate>in un messaggio Transaction per impostare le tariffe.File delle pagine di destinazione: aggiungi valori specifici per la regola tariffaria ai link diretti.
Tariffe agevolate specifiche per dispositivo
Le tariffe specifiche per dispositivo sono tariffe dell'hotel visibili e prenotabili dagli utenti solo su dispositivi specifici come dispositivi mobili, tablet o computer. Le tariffe sono fornite dai partner di Google e gli utenti finali possono visualizzare e prenotare le stesse tariffe specifiche per dispositivo sul sito del partner.

Tariffe agevolate specifiche per paese
Le tariffe specifiche per paese sono tariffe dell'hotel visibili e prenotabili solo dagli utenti che cercano hotel di un determinato paese. Google determina il paese utilizzando l'indirizzo IP dell'utente finale. Le tariffe sono fornite dai partner di Google; gli utenti possono visualizzare e prenotare le stesse tariffe specifiche per paese sul sito del partner specifico per il paese.
Tariffe agevolate specifiche per lingua
Le tariffe specifiche per lingua sono visibili solo agli utenti che cercano hotel e utilizzano una specifica impostazione di lingua su Google. Le condizioni specifiche per lingua
vengono definite utilizzando l'elemento <LanguageCode>.
La lingua non è specificata nei messaggi di richiesta delle query With Context. Pertanto, se specifichi <LanguageCode> nelle regole tariffarie, allora
la risposta With Context deve includere tutte le tariffe specifiche per lingua pertinenti.
Tariffe agevolate per campione ridotto
Le tariffe agevolate per campione ridotto sono visibili solo a un sottoinsieme casuale di tutti gli utenti idonei. La frequenza di campionamento viene definita utilizzando l'elemento <MaxUsersPercent>
e calcolata utilizzando quanto segue:
MaxUsersPercent = (number of users selected to view rate)/(total eligible users)
Tariffe agevolate con accesso eseguito
Le tariffe con accesso eseguito sono visibili solo agli utenti che hanno eseguito l'accesso con un Account Google. Le tariffe sono fornite dai partner di Google e gli utenti possono visualizzarle e prenotarle sul sito del partner stesso. Le tariffe con accesso eseguito vengono definite utilizzando l'elemento
<UserSignedIn>.
Poiché Google seleziona sempre la tariffa idonea più bassa, se una tariffa agevolata
è superiore al prezzo impostato a livello di <Result>, la tariffa agevolata
non verrà mai selezionata. Per evitare questo problema, rimuovi la
tariffa a livello di <Result>
e applica le condizioni a tutte le tariffe. In alternativa, chiedi informazioni al tuo Technical Account Manager
sull'uso di una regola tariffaria predefinita per i prezzi impostati a livello di <Result>.
Creare un file XML delle regole tariffarie
Le regole tariffarie per le tariffe agevolate vengono definite utilizzando un file XML delle regole tariffarie. Per ulteriori informazioni, consulta la sezione Riferimento XML per le regole tariffarie.
Aggiornare il feed del prezzo
Le tariffe agevolate vengono impostate utilizzando l'elemento in un messaggio Transaction.
L'elemento <Rate> può essere utilizzato anche come più elementi secondari di <Rates>
all'interno degli elementi <RoomBundle> o <Result>. Per utilizzarlo come tariffa agevolata, devi impostare il valore dell'attributo rate_rule_id in modo che corrisponda all'ID della regola tariffaria definito nel file XML delle regole tariffarie.
Se non hai una tariffa pubblica predefinita per camera doppia, imposta l'elemento secondario <Baserate>
del messaggio <Result> su -1. In questo caso, tutte le condizionali
<Rates> inviate a Google verranno considerate valide.
Esempi
Base + condizionale
L'esempio seguente mostra un messaggio Transaction che contiene una tariffa di base e una tariffa agevolata:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">200.00</Baserate>
<Tax currency="USD">20.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates -->
<Rate rate_rule_id="mobile">
<!-- Override base rate and taxes for conditional rates -->
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
</Rate>
</Rates>
</Result>
</Transaction>
RoomBundle singolo
L'esempio seguente mostra un messaggio Transaction che contiene una singingo
tariffa in un elemento <RoomBundle>:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">300.00</Baserate>
<Tax currency="USD">30.00</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RoomBundle>
<RoomID>single</RoomID>
<Baserate currency="USD">300.00</Baserate>
<Tax currency="USD">30.00</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</RoomBundle>
<RoomBundle>
<RoomID>3</RoomID> <!-- Links to data in metadata -->
<RatePlanID>basic</RatePlanID>
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<ChargeCurrency>web</ChargeCurrency>
<BreakfastIncluded>1</BreakfastIncluded>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">269.00</Baserate>
<Tax currency="USD">2.69</Tax>
<OtherFees currency="USD">1.00</OtherFees>
</Rates>
</Rates>
</RoomBundle>
</Result>
</Transaction>
RoomBundle multiplo
L'esempio seguente mostra un messaggio Transaction che contiene più
tariffe in un elemento <RoomBundle>:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<!-- When Google receives new room bundle information for an itinerary, all
previous room bundle pricing is dropped from Google's cache. Thus, if you
want to delete a specific room bundle from Google's cache, you may do so
by simply not providing that specific room bundle in subsequent transaction
messages. -->
<RoomBundle>
...
<!-- RoomID is required, PackageID is recommended. -->
<RoomID>5</RoomID>
<PackageID>ABC</PackageID>
<!-- Baserate is required. -->
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL and it should be within 50 characters in length for optimal
performance. For details, see Using Variables and Conditions. -->
<RatePlanID>5-ABC</RatePlanID>
<!-- Occupancy is mandatory for RoomBundle elements. -->
<!-- Elements below will get inherited to nested rate elements. -->
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
</OccupancyDetails>
<InternetIncluded>1</InternetIncluded>
<!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
<ChargeCurrency>web</ChargeCurrency>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">258.33</Baserate>
<Tax currency="USD">25.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides ChargeCurrency from roombundle. -->
<ChargeCurrency>hotel</ChargeCurrency>
</Rate>
<Rate rate_rule_id="us_or_gb">
<Baserate currency="USD">268.33</Baserate>
<Tax currency="USD">26.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>
Nessuna tariffa pubblica per camera doppia
L'esempio seguente mostra un messaggio Transaction che contiene una tariffa agevolata senza tariffa pubblica per camera doppia:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<!-- <Unavailable/> should not be specified when available nested rates
exist. -->
<Baserate currency="USD">-1</Baserate>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates. -->
<Rate rate_rule_id="mobile">
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Custom1>ratecode123</Custom1>
</Rate>
</Rates>
</Result>
</Transaction>
Aggiornare il file delle pagine di destinazione
Per garantire che gli utenti finali idonei possano prenotare la tariffa scontata tramite un link diretto, modifica il file delle pagine di destinazione. Potrebbe essere necessaria un'implementazione aggiuntiva anche sul sito web di prenotazione per mostrare e applicare correttamente le tariffe scontate.
Ci aspettiamo che i partner rispettino il prezzo mostrato nel link diretto della tariffa agevolata.
In un link diretto dinamico, puoi includere la regola tariffaria in base al nome, all'
id attributo dell'elemento <RateRule> con la variabile RATE-RULE-ID.
L'esempio seguente mostra l'aggiunta dell'ID regola tariffaria.
https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)¤cy=(USER-CURRENCY)&prid=(RATE-RULE-ID)
Il file delle pagine di destinazione supporta anche l'istruzione IF-RATE-RULE-ID, che consente di definire le parti dell'URL tramite condizioni, a seconda che la regola tariffaria esista o meno:
https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)¤cy=(USER-CURRENCY)
Questo esempio mostra la scelta tra due pagine di destinazione, a seconda che l'ID regola tariffaria sia impostato o meno.
Per ulteriori informazioni, consulta la sezione Utilizzare variabili e condizioni.