Pacchetti camera

I pacchetti camera consentono di definire più tipi di camera per una singola struttura o combinare l'itinerario di una camera con le caratteristiche della tariffa, ovvero i servizi aggiuntivi offerti da una tariffa e condizioni di vendita, per gli utenti al di là del prezzo standard.

Concetti chiave e flusso di lavoro

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

L'immagine seguente mostra esempi di pacchetti camera:

In questo esempio, il primo pacchetto è la camera base, con uno sconto per un solo adulto. Il secondo tipo di camera è disponibile per un massimo di tre adulti. Il terzo è un altro tipo di camera nella stessa struttura. Il quarto è un pacchetto "premium" della camera base, che potrebbe includere servizi come la colazione inclusa o il check-out posticipato.

Le seguenti immagini mostrano esempi di caratteristiche relative alle tariffe:

La visualizzazione di pacchetti camera e 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 ciò che stai facendo: definire i metadati del pacchetto camera o della funzionalità relativa alla tariffa oppure aggiornare i prezzi o la disponibilità del pacchetto camera.

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

Se non vengono utilizzati con i pacchetti camera, la tariffa, le tasse e altre commissioni della camera base sono obbligatorie ai sensi di <Result> 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 inferiori a <Result> e aggiungi un pacchetto camera che corrisponda al pacchetto camera base.

  2. Se necessario, definisci altri pacchetti camera all'interno dello stesso blocco <Result> per altri tipi di camere nella struttura o pacchetti di servizi diversi.

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

Metadati dei pacchetti camera

Quando definisci i pacchetti camera e le caratteristiche delle tariffe, in genere definisci in anticipo la descrizione, i servizi aggiuntivi inclusi nella tariffa e altre informazioni sul pacchetto. Queste informazioni sono note come metadati dei pacchetti camera. Successivamente, fai riferimento a questi metadati negli aggiornamenti dei prezzi, ma non li includi nei messaggi di aggiornamento.

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'utilizzo degli elementi <RoomData> e <PackageData> può ridurre in modo significativo le dimensioni del tuo elenco hotel e del feed prezzo dell'hotel perché riduce la quantità di dati ripetitivi inviati nei messaggi Transaction.

Ad esempio, dati come il nome e la descrizione di una camera vengono in genere ripetuti 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 quindi uniti alle definizioni della camera e del pacchetto archiviati per mostrarli all'utente finale.

Google associa i tuoi metadati ai dati specifici del tuo itinerario per visualizzare i contenuti dei tuoi annunci. È prevista un'elaborazione speciale per combinare i nomi e le descrizioni degli elementi <RoomData> e <PackageData>, consentendo di descrivere la camera fisica in <RoomData> e le caratteristiche delle tariffe e i dettagli del pacchetto in <PackageData>.

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

Linee guida relative alle foto

Quando invii le foto delle stanze, di seguito sono riportate alcune linee guida che devi seguire per assicurarti che le foto vengano mostrate agli utenti:

  • Invia foto per ogni tipo di camera, incluse quelle delle stanze accessibili, ad esempio delle stanze designate per l'accessibilità con vari accessori per il bagno, come la doccia con accesso per disabili.

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

  • Le foto devono mostrare la camera stessa e non la proprietà. Le foto più importanti sono del letto, dell'intera camera, del bagno, della zona giorno e della vista dalla stanza (con il resto della stanza nella stessa foto) e, se applicabile, del balcone, del patio o della terrazza.

    È utile anche scattare foto della scrivania, della cucina, del occorrente per il caffè/tè e delle caratteristiche della camera.

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

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

  • Evita brand e brand, anche se è possibile includere set di cortesia etichettati o di marca in una foto che ritrae l'intera area del bagno. Le foto non devono contenere grandi blocchi di testo, loghi o filigrane.

  • Fornisci foto standard di tipo orizzontale (orizzontale) con un ampio campo visivo; evita foto con effetto fisheye e distorte. Scatta foto alla massima risoluzione per migliorare il ranking. Non è necessario inviare la stessa foto con diverse risoluzioni.

Precedenza dati

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

  1. Dati partner (valore più basso)
  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. (Maggiore) <RoomBundle>

Definire prezzi e disponibilità

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

Per ogni <Result>, l'insieme di pacchetti camera contenuto sovrascrive l'insieme esistente per quella proprietà o combinazione di itinerario. Se non definisci pacchetti camera o caratteristiche della tariffa nell'elemento <Result>, tutti i pacchetti camera verranno rimossi e nei risultati di ricerca verrà visualizzata solo la camera base per l'hotel o l'itinerario in questione.

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

<RatePlanID> è facoltativo e rappresenta l'identificatore univoco di una combinazione di camera e pacchetto. Ti consigliamo vivamente di utilizzare RatePlanID come variabile per creare l'URL della pagina di destinazione dinamica (in precedenza point of sale). Per maggiori dettagli, consulta Utilizzare variabili e condizioni.

Nei pacchetti camera sono facoltativi i seguenti elementi:

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

Quando implementi il pacchetto camera in un account attivo, rimuovi <Baserate> dopo l'attivazione del 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>

Definisci i metadati di camere e pacchetti

Per definire i metadati di un 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à. Se definisci questi dati in anticipo, gli aggiornamenti dei prezzi non devono includere informazioni ripetitive come descrizioni, URL delle foto, comfort e altri dati su ogni singola camera o pacchetto per ogni singolo itinerario.

Google archivia i metadati 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, imposta un ID pacchetto e un ID camera per ogni blocco a cui fai riferimento nei blocchi <Result> degli aggiornamenti dei prezzi.

Se i dati di camere e pacchetti cambiano (ad esempio, se aggiungi un nuovo tipo di camera in una proprietà, invii un nuovo messaggio Transaction contenente i dati aggiornati di camere e pacchetti), 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 solo fare riferimento ai valori <RoomID> e <PackageID> negli aggiornamenti dei prezzi anziché includere di nuovo tutte queste informazioni. Google utilizza questi ID per abbinare camere e 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 della camera o del pacchetto, definire i metadati una volta e poi farvi riferimento è un uso molto più efficiente dei messaggi Transaction. Inoltre, errori come descrizioni delle camere non corrispondenti possono essere eliminati utilizzando i metadati anziché definire i dati in linea.

Di seguito è riportato il metodo consigliato e più efficiente per definire separatamente metadati e prezzi:

<!-- 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>

Occupazione e capacità

Durante la definizione dei pacchetti camera, devi sapere la differenza tra numero di persone e capienza:

Numero di persone
Il numero di ospiti a cui è destinato un pacchetto camera. Ad esempio, il "Pacchetto Luna di miele" ha un numero di persone pari a due. Puoi impostare il valore del numero di persone 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 Luna di miele" nel tuo hotel ha una capacità massima di sei persone, ma il prezzo di un pacchetto è per 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 indicare il prezzo in base al numero di ospiti a cui è destinato il pacchetto (il valore specificato nell'elemento <Occupancy> del pacchetto). Se <Occupancy> è impostato su due, il prezzo di questo pacchetto deve essere per due persone. Non puoi impostare <Occupancy> su 4 ospiti e impostare il prezzo del pacchetto per due persone.

Camere condivise

Puoi utilizzare Occupazione e Capacità anche nei pacchetti camera per impostare i prezzi delle camere condivise, ad esempio ostello. Ad esempio, per impostare un prezzo a persona per una camerata con 8 posti letto, devi impostare il numero di persone su 1 e la capacità su 8 e identificarlo come tale nel nome di <RoomData>. Guarda l'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

La modalità di rimozione dei pacchetti camera è diversa dai prezzi dell'hotel.

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 un determinato itinerario, rimuovi l'elemento <RoomBundle> dal blocco <Result> nel messaggio Transaction.

I pacchetti camera nei tuoi feed di dati sono considerati un insieme, il cui numero può essere compreso tra 0 e decine. Quando invii i pacchetti camera a Google, invii il set completo e attuale. Non puoi modificare i valori di un singolo pacchetto camera per contrassegnarne uno precedentemente disponibile come non disponibile. Qualunque insieme di pacchetti sia presente nel messaggio Transaction più recente, sostituisce l'insieme attuale.

Ad esempio, sono presenti i gruppi A, B, C e D. Devi innanzitutto inviare un messaggio che definisce l'insieme di pacchetti camera A, B, C e D. Se in seguito il pacchetto B dovesse esaurirsi, invia nuovamente l'intero set solo con i pacchetti A, C e D. Se tutti i pacchetti camera sono esauriti, invia un insieme vuoto di pacchetti camera.

Aggiustamenti dei prezzi

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

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

Aggiornamenti dei metadati

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

Devi rispondere a un messaggio Query con un messaggio Transaction che definisce i metadati di camere e pacchetto per gli hotel specificati. Per ulteriori informazioni, vedi Messaggi query.