Le tariffe agevolate sono un tipo di regola tariffaria che ti consente di offrire tariffe diverse per gli itinerari, in base a criteri come il dispositivo, il paese dell'utente o se l'utente ha 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 più bassa idonea per l'utente.
Panoramica
Le tariffe agevolate sono visibili nelle schede dei prezzi standard e vengono mostrate 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 di 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 di 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 finali 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
della lingua vengono definite tramite l'elemento <LanguageCode>.
La lingua non è specificata nei messaggi di richiesta delle query con contesto. Pertanto, se specifichi <LanguageCode> nelle regole tariffarie, la risposta Con contesto deve includere tutte le tariffe specifiche per la 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 condizionale
è superiore al prezzo impostato a livello di <Result>, la tariffa condizionale
non verrà mai selezionata. Per evitare questo problema, rimuovi la
tariffa a livello di <Result>
e applica una condizione a tutte le tariffe. In alternativa, chiedi al tuo Technical Account Manager
informazioni sull'utilizzo 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 maggiori 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 utilizzarla 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 per camera doppia predefinita, imposta l'elemento secondario <Baserate>
del messaggio <Result> su -1. In questo caso,
tutti gli elementi <Rates> con tariffe agevolate inviati a Google saranno considerati validi.
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 singola
tariffa in un <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 multiple
L'esempio seguente mostra un messaggio Transaction che contiene più
tariffe in un <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 camera doppia pubblica
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 sul sito web per la prenotazione al fine di mostrare e soddisfare correttamente le tariffe scontate.
Ci aspettiamo che i partner rispettino il prezzo indicato nel link diretto alla tariffa agevolata.
In un link diretto dinamico, puoi includere la regola tariffaria in base al nome, l'attributo
id 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.