Pacchetti camera

I pacchetti camera ti consentono di definire più tipi di camera per una singola struttura o combinare un itinerario con una tariffa, ovvero servizi aggiuntivi che includono una tariffa e condizioni di vendita, oltre il prezzo standard.

Concetti chiave e flusso di lavoro

Con i pacchetti camera, puoi offrire combinazioni aggiuntive di tipi di camere fisiche con pacchetti di servizi diversi.

La seguente immagine mostra esempi di pacchetti camera:

In questo esempio, il primo pacchetto è la camera base, con uno sconto per un solo adulto. La seconda è un tipo di camera diverso che può ospitare fino a tre persone adulte. Il terzo è un altro tipo di camera all'interno della stessa proprietà. La quarta è un pacchetto "premium" della camera base, che potrebbe includere la colazione inclusa o un check-out successivo.

Le seguenti immagini mostrano esempi di caratteristiche delle tariffe:

La visualizzazione dei pacchetti camera e delle caratteristiche delle tariffe nei risultati di ricerca è regolata dalla stessa procedura di selezione delle tariffe delle camere standard.

Pacchetti camera

Puoi definire i pacchetti camera e le caratteristiche delle tariffe nei messaggi Transaction. L'elemento principale di un messaggio Transaction è <Transaction>.

La struttura del messaggio Transaction dipende da cosa stai facendo: definire i metadati del pacchetto camera o della tariffa, oppure aggiornare i prezzi o la disponibilità del pacchetto camera.

Metadati
Definisci i metadati del pacchetto camera e della tariffa con <PackageData> in un elemento <PropertyDataSet>. Per ulteriori informazioni, consulta la sezione Definire i metadati di camere e pacchetti. I pacchetti camera utilizzano gli elementi <RoomData> esistenti per le descrizioni fisiche delle camere.
Prezzi e disponibilità
Definisci il prezzo e la disponibilità del pacchetto camera con l'elemento <RoomBundle> in un <Result> per ogni combinazione di pacchetto e itinerario. Per ulteriori informazioni, consulta la sezione Definire prezzi e disponibilità.

La tariffa di base, le tasse e altre commissioni della camera di base sono obbligatorie ai sensi del <Result> se non vengono utilizzate con i pacchetti camera e possono essere rimosse se utilizzate con i pacchetti camera. Se implementi i pacchetti camera utilizzando un account attivo, segui questi passaggi:

  1. Includi la tariffa, le tasse e altre commissioni della camera base con prezzo inferiore a <Result> e aggiungi un pacchetto camera che corrisponda al pacchetto camera base.

  2. Se necessario, definisci pacchetti di camere aggiuntivi nello stesso blocco <Result> per altri tipi di camere in quella proprietà o pacchetti di servizi diversi.

  3. Dopo il lancio del pacchetto camera, rimuovi la tariffa, le tasse e le altre commissioni della camera base.

Metadati dei pacchetti camera

Quando definisci i pacchetti camera e le caratteristiche della tariffa, di solito definisci la descrizione, i servizi aggiuntivi inclusi nella tariffa e altre informazioni sul pacchetto camera in anticipo. Queste informazioni sono note come metadati dei pacchetti camera. Dovrai quindi fare riferimento a questi metadati negli aggiornamenti dei prezzi, ma non includerli nei messaggi di aggiornamento dei prezzi.

Quando definisci i pacchetti camera, utilizza gli elementi <RoomData> esistenti per le descrizioni fisiche delle camere e gli elementi <PackageData> per le caratteristiche e i termini delle tariffe che non fanno parte della descrizione fisica della camera.

L'uso degli elementi <RoomData> e <PackageData> può ridurre notevolmente le dimensioni dell'elenco hotel e del feed prezzo dell'hotel perché riduce la quantità di dati ripetitivi inviati nei messaggi Transaction.

Ad esempio, i dati come il nome e la descrizione della camera vengono ripetuti in genere per ogni itinerario. Puoi utilizzare gli elementi <RoomData> e <PackageData> per definire questo tipo di dati una sola volta. I dati dei pacchetti camera specifici per l'itinerario vengono poi uniti alle definizioni di camere e pacchetti archiviate per essere mostrate all'utente finale.

Per abbinare i contenuti dei tuoi annunci, Google abbina i tuoi metadati ai dati specifici per il tuo itinerario. È disponibile un'elaborazione speciale per combinare i nomi e le descrizioni degli elementi <RoomData> e <PackageData>, consentendo di descrivere la camera fisica in <RoomData> e di valutare le funzionalità e i dettagli del pacchetto in <PackageData>.

Se definisci sia i dati della camera che i dati del pacchetto per una singola camera o un pacchetto camera, Google includerà entrambi nell'output dell'annuncio, separati da un trattino.

Linee guida relative alle foto

Ecco alcune linee guida da seguire per assicurarti che le tue foto vengano mostrate agli utenti:

  • Invia foto per ogni tipo di camera, comprese quelle delle camere accessibili, ad esempio le camere accessibili con diversi accessori, come la doccia con accesso per disabili.

  • Includi almeno quattro foto della camera e almeno una foto del bagno.

  • Le foto devono mostrare la stanza stessa anziché la proprietà. Le foto più importanti sono il letto, l'intera stanza, il bagno, lo spazio abitativo e la vista dalla stanza (con il resto della stanza nella stessa foto) e, se applicabile, il balcone, il patio o la terrazza.

    È utile anche per scattare foto alle scrivanie, alla cucina, alle macchine per il caffè e al tè e alle caratteristiche distintive delle stanze.

  • Evita foto di persone e proprietà, ad esempio comfort esterni o proprietà, informazioni turistiche o cibo.

  • Evita primi piani di oggetti, ad esempio primi piani di calici.

  • Evita il branding e i brand, anche se è consigliabile includere set di cortesia con brand o in etichetta all'interno di una foto che ritrae l'intera area del bagno. Le foto non devono contenere grandi blocchi di testo, loghi o filigrane.

  • Fornisci foto standard (orizzontali) con un ampio campo visivo; evita foto di fisheye e distorsioni. Scatta foto alla massima risoluzione per un ranking migliore. Non è necessario inviare la stessa foto in varie risoluzioni.

Precedenza dati

I dati del pacchetto camera vengono raccolti da tutte le fonti e combinati, utilizzando le regole di precedenza, per produrre i dati finali per un determinato hotel, itinerario e pacchetto camera. L'ordine è il seguente, dalla priorità più bassa a quella più alta:

  1. Dati dei partner (più bassi)
  2. Dati della proprietà
  3. <RoomData>, dove <RoomID> corrisponde a <RoomID> nel blocco <RoomBundle>
  4. <PackageData>, dove <PackageID> corrisponde a <PackageID> nel blocco <RoomBundle>
  5. (Massima) <RoomBundle>

Definisci i prezzi e la disponibilità

Per definire i prezzi e la disponibilità del pacchetto camera, utilizza un elemento <RoomBundle> in un messaggio Transaction per ogni combinazione di pacchetto o itinerario. L'elemento <RoomBundle> deve trovarsi all'interno dell'elemento <Result>. Di seguito è riportato il codice campione per due elementi <RoomBundle>. Tieni presente che, in questo esempio, i due elementi <RoomBundle> fanno riferimento ai metadati di camera e pacchetto utilizzando <RoomID> e <PackageID>.

Per ogni <Result>, l'insieme di pacchetti camera incluso sovrascrive il set esistente per quella proprietà o combinazione di itinerario. Se non definisci alcun pacchetto camera o caratteristica della tariffa nell'elemento <Result>, tutti i pacchetti camera vengono rimossi e solo la camera di base per l'hotel o l'itinerario viene visualizzata nei risultati di ricerca.

Assicurati di utilizzare elementi come <Name> per rendere i pacchetti camera più allettanti per i potenziali clienti e assicurati che corrispondano alla pagina di destinazione dell'hotel. In questo esempio definirai i nomi e altre informazioni descrittive nei metadati.

<RatePlanID> è facoltativo e rappresenta l'identificatore univoco di una combinazione di camera e pacchetto. Consigliamo vivamente di utilizzare RatePlanID come variabile per creare l'URL pagina di destinazione dinamico (in precedenza Point of Sale). Per i dettagli, consulta la pagina Utilizzo di variabili e condizioni.

I seguenti elementi sono facoltativi nei pacchetti camera:

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

Quando implementi il pacchetto camera in un account attivo, rimuovi <Baserate> dopo aver attivato il pacchetto camera.

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</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>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

Definire i metadati di camere e pacchetti

Per definire i metadati del pacchetto camera, utilizza gli elementi <PackageData> e <RoomData> all'interno dell'elemento <PropertyDataSet> di un messaggio Transaction.

Puoi definire i metadati di camere e pacchetti in un messaggio Transaction separato dai dati su prezzi e disponibilità. Definire questi dati in anticipo, non deve includere informazioni ripetitive come descrizioni, URL di foto, comfort e altri dati su ogni camera o pacchetto per ogni itinerario.

Google memorizza i metadati per te e li inserisce negli annunci quando vengono visualizzati. Puoi aggiornare i metadati di camere e pacchetti in qualsiasi momento con un nuovo messaggio Transaction.

Nel messaggio Transaction, devi impostare un ID pacchetto e un ID camera in ciascun blocco a cui fare riferimento nei blocchi <Result> di aggiornamenti dei prezzi.

Se i dati di camere e pacchetti cambiano, ad esempio se aggiungi un nuovo tipo di camera in una proprietà, invia un nuovo messaggio Transaction che contiene i dati aggiornati sulla camera e sul pacchetto, Google sostituisce i metadati esistenti relativi a una camera o a un pacchetto con i nuovi dati.

Google consiglia di definire i metadati durante la configurazione iniziale. Dopo aver predefinito i metadati, devi fare riferimento ai valori <RoomID> e <PackageID> solo negli aggiornamenti dei prezzi anziché includere di nuovo tutte queste informazioni. Google utilizza questi ID per associare le camere e i pacchetti camera ai metadati archiviati. Ciò può ridurre notevolmente le dimensioni complessive dei messaggi Transaction.

Poiché i prezzi delle combinazioni di camere o itinerari cambiano molto più spesso rispetto alle descrizioni delle camere o dei pacchetti, definire i metadati una sola volta e fare riferimento a essi è un utilizzo molto più efficiente dei messaggi Transaction. Inoltre, errori come la mancata corrispondenza tra le descrizioni delle stanze possono essere eliminati utilizzando i metadati anziché definire i dati in linea.

Di seguito sono riportati i metodi consigliati più efficienti per definire metadati e prezzi separatamente:

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</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>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

Numero di persone e capienza

Quando definisci i pacchetti camera, devi comprendere la differenza tra numero di persone e capacità:

Numero di persone
Il numero di ospiti a cui è applicabile un pacchetto camera. Ad esempio, il "Pacchetto Honeymoon" ha un numero di persone pari a due. Puoi impostare il valore dell'occupazione di un pacchetto utilizzando l'elemento secondario <Occupancy> degli elementi <PackageData> o <RoomBundle>.
Capacità
Il numero massimo di persone che può ospitare fisicamente una camera. La capienza di una camera è sempre uguale o superiore al numero di persone. Ad esempio, la "Suite Honeymoon" nel tuo hotel può ospitare fino a sei persone ma il prezzo del pacchetto è di due persone. Puoi impostare il valore della capacità di un pacchetto utilizzando l'elemento secondario <Capacity> dell'elemento <RoomData>.

Quando definisci il prezzo di un pacchetto camera, devi fornire il prezzo per il numero di ospiti previsto per il pacchetto (il valore specificato nell'elemento <Occupancy> del pacchetto). Se il <Occupancy> è impostato su 2, il prezzo nel pacchetto deve essere per due persone. Non puoi impostare <Occupancy> su quattro ospiti e impostare il prezzo del pacchetto per due ospiti.

Stanze condivise

Puoi anche utilizzare Occupazione e Capacità nei pacchetti camera per impostare i prezzi degli alloggi ad esempio in camera condivisa, ad esempio ostello. Ad esempio, per impostare il prezzo a persona per una camerata con 8 letti, devi impostare il numero di persone su 1 e la capacità su 8 e identificarlo nel nome <RoomData>. Vedi un esempio.

Aggiorna pacchetti camera

Questa sezione descrive come rimuovere un pacchetto camera non più disponibile e come aggiornare il prezzo di un pacchetto camera esistente.

Rimozione di pacchetti camera

Il pacchetto delle camere è diverso dai prezzi degli hotel per come li rimuovi.

Per rimuovere una combinazione di camera o itinerario dall'inventario, imposta il valore <Baserate> dell'elemento <Result> su -1. Per rimuovere un pacchetto camera per una determinata camera o itinerario, rimuovi l'elemento <RoomBundle> dal blocco <Result> nel messaggio Transaction.

I pacchetti camera nei feed di dati sono considerati un insieme, il cui numero varia da 0 a decine. Quando invii i pacchetti camera a Google, invii il set completo attuale. Non devi modificare i valori di un singolo pacchetto camera per contrassegnare un pacchetto precedentemente disponibile come non disponibile. Qualsiasi insieme di pacchetti presente nel messaggio Transaction più recente sostituisce l'insieme corrente.

Ad esempio, esistono pacchetti A, B, C e D. Devi prima inviare un messaggio che definisce l'insieme dei pacchetti camera A, B, C e D. Se in un secondo momento il pacchetto B risulta esaurito, invii di nuovo l'intero set solo con i pacchetti A, C e D. Se tutti i pacchetti camera sono esauriti, invia un set vuoto di pacchetti camera.

Aggiustamenti dei prezzi

Per modificare il prezzo di un pacchetto camera, imposta il nuovo valore <Baserate> nell'elemento <Result>.

Ogni volta che aggiorni il blocco <Result> di una camera/un itinerario nei messaggi Transaction, devi includere un insieme completo di pacchetti camera per ciascun <Result>. Google sostituisce l'insieme esistente di pacchetti camera con il nuovo insieme. Se non includi pacchetti camera in <Result>, Google rimuove tutti i pacchetti camera per quella camera o itinerario.

Aggiornamenti dei metadati

Aggiorni i metadati del pacchetto camera con una risposta a un <Query> di Google.

Rispondi a un messaggio Query con un messaggio Transaction che definisce i metadati della camera e del pacchetto degli hotel specificati. Per ulteriori informazioni, consulta la sezione Messaggi di query.