Tariffe agevolate

Le tariffe agevolate sono un tipo di regola tariffaria che ti consente di offrire tariffe diverse per gli itinerari, in base a criteri quali il dispositivo o il paese dell'utente o se l'utente ha eseguito l'accesso a Google.

Se hai più di una tariffa pubblica o agevolata per un itinerario o un pacchetto camera, l'utente vedrà la tariffa più bassa. Google sceglie sempre la tariffa idonea più bassa per l'utente.

Panoramica

Le tariffe agevolate sono visibili nelle aree di prezzo standard e vengono mostrate solo agli utenti le cui ricerche soddisfano i criteri della tariffa agevolata associata. Questi criteri possono essere basati sui seguenti criteri:

Per attivare le tariffe agevolate, modifica quanto segue:

Tariffe agevolate specifiche per dispositivo

Le tariffe specifiche per dispositivo sono tariffe dell'hotel visibili e prenotabili solo dagli utenti su un dispositivo specifico, ad esempio un dispositivo mobile, un tablet o un 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.

fenced_rates

Tariffe agevolate specifiche per paese

Le tariffe specifiche per paese sono tariffe di hotel visibili e prenotabili solo dagli utenti che cercano hotel in un determinato paese. Google determina il paese utilizzando l'indirizzo IP dell'utente finale. Le tariffe sono fornite dai partner di Google e 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 un'impostazione di lingua specifica su Google. Le condizioni specifiche della lingua vengono definite utilizzando l'elemento <LanguageCode>.

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 con l'elemento <MaxUsersPercent> e calcolata utilizzando:

MaxUsersPercent = (number of users selected to view rate)/(total eligible users)

Tariffe agevolate con accesso eseguito

Le tariffe per gli accessi sono visibili solo agli utenti che hanno eseguito l'accesso con un Account Google. I partner di Google forniscono le tariffe e gli utenti possono visualizzarle e prenotarle sul sito del partner. Le tariffe per gli accessi vengono definite utilizzando l'elemento <UserSignedIn>.

Poiché Google seleziona sempre la tariffa agevolata, se una tariffa agevolata è superiore al prezzo impostato a livello di <Result>, la tariffa agevolata non verrà mai selezionata. Per evitare che ciò accada, rimuovi la tariffa a livello di <Result> e condiziona tutte le tariffe. In alternativa, chiedi al tuo Technical Account Manager di utilizzare 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 pagina 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 regola tariffaria definito nel file XML delle regole tariffarie.

Se non hai una tariffa pubblica predefinita per due persone, imposta l'elemento secondario <Baserate> del messaggio <Result> su -1. In questo caso, tutti gli elementi <Rates> condizionali 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>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

Singolo RoomBundle

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>

Più elementi RoomBundle

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. 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>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <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>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </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>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

Camera doppia pubblica non disponibile

L'esempio seguente mostra un messaggio Transaction che contiene la tariffa agevolata senza tariffa pubblica per due persone:

<?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 della pagina di destinazione

Per assicurarti che gli utenti finali idonei possano prenotare la tariffa scontata tramite un link diretto, modifica il file della pagina di destinazione. Potrebbe essere necessaria anche un'ulteriore implementazione sul sito web di prenotazione per mostrare e soddisfare correttamente le tariffe scontate.

Ci aspettiamo che i partner rispettino il prezzo mostrato nel link diretto alla tariffa agevolata.

In un link diretto dinamico, puoi includere la regola tariffaria tramite il nome, l'attributo id dell'elemento <RateRule>, con la variabile RATE-RULE-ID.

Nell'esempio seguente viene aggiunto l'ID regola tariffaria:

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

Il file delle pagine di destinazione supporta anche l'istruzione IF-RATE-RULE-ID, che consente di definire in modo condizionale le parti dell'URL, a seconda che esista o meno la regola tariffaria:

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)&currency=(USER-CURRENCY)

Questo esempio sceglie tra due pagine di destinazione, a seconda che l'ID regola tariffaria sia impostato o meno.

Per ulteriori informazioni, consulta la sezione Utilizzo di variabili e condizioni.