Tariffe agevolate

Le tariffe agevolate sono un tipo di regola tariffaria che consente di offrire tariffe diverse per gli itinerari, in base a criteri quali il dispositivo, il paese o il fatto che l'utente 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 sono visibili nelle aree di prezzo standard e vengono mostrate solo agli utenti le cui ricerche soddisfano i criteri relativi alla tariffa agevolata associata. Questi criteri possono essere basati su quanto segue:

Per abilitare le tariffe agevolate, modifica quanto segue:

Tariffe agevolate specifiche per dispositivo

Le tariffe specifiche per dispositivo sono tariffe di hotel visibili e prenotabili dagli utenti solo 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 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 di tariffa, la risposta Con contesto deve includere tutte le tariffe pertinenti specifiche per lingua.

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>, non verrà mai selezionata. Per evitare che questo accada, rimuovi la tariffa a livello di <Result> e applica una condizione a 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 sono 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 di <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, 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 + condizione

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

Per garantire che gli utenti finali idonei possano prenotare la tariffa scontata tramite un link diretto, modifica il tuo file della pagina 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, ovvero 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)&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 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)&currency=(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.