Messaggio Transaction (Property Data)

Panoramica

Il messaggio Transaction (Property Data) ARI definisce le informazioni sui tipi di camera e sui pacchetti (o piani tariffari) di ogni proprietà. I dati di ogni tipo di camera includono un identificatore univoco (RoomID), un nome localizzato, una descrizione e gli URL delle foto delle camere. I dati di ogni pacchetto includono un identificatore univoco (PackageID), un nome localizzato, una descrizione, un numero di persone e un valore aggiunto.

Puoi utilizzare un messaggio Transaction per:

  • Definisci i dati per una o più proprietà.
  • Definisci il tipo di camera e le informazioni del pacchetto per ogni proprietà.
  • Controlla le offerte dei prodotti.

Inoltre, puoi impostare azioni per:

  • Aggiungi un tipo di camera e un pacchetto a una proprietà.
  • Rimuovere un tipo di camera e un pacchetto da una proprietà.

Per esempi di messaggi Transaction, consulta la sezione Esempi di transazioni (Property Data).

Elementi obbligatori e facoltativi

Il Riferimento XML fornisce le descrizioni degli elementi obbligatori e facoltativi. Per maggiori dettagli su attributi ed elementi secondari, consulta la sezione Elementi e attributi di Transaction (Property Data).

Sintassi e schemi

Utilizza l'esempio di sintassi delle transazioni (dati proprietà) come riferimento quando crei il messaggio Transaction per assicurarti di utilizzare il formato corretto.

Puoi utilizzare uno strumento XML di terze parti, come xmllint, per convalidare i tuoi feed con gli schemi pubblicati prima di inviarli a Google. Per lo schema dei messaggi Transaction, consulta gli schemi di Hotel Ads.

Linee guida

Attieniti alle seguenti linee guida per i messaggi Transaction:

Azioni:

delta: per aggiungere o aggiornare nuovi tipi di camera e pacchetti (piani tariffari).

overlay: consente di sostituire tutti i tipi di camera e i pacchetti di una proprietà con un nuovo set. Devi includere informazioni per tutti i tipi di camera e i piani tariffari che vuoi continuare a vendere.

Lingue supportate:

Specifica da una a due lingue (inglese e, se necessario, lingua locale della proprietà) per i campi Nome, Descrizione e Sottotitoli. Se necessario, puoi aggiungere più di due lingue.

Tipi di camera e pacchetti:

Quando aggiorni un tipo di camera o un pacchetto, devi inviare tutte le informazioni correlate per quel tipo di camera o pacchetto. Ad esempio, quando aggiungi una foto devi includere anche il nome e la descrizione.

<AllowablePackageIDs> e <AllowableRoomIDs> sono facoltativi e, se non vengono impostati, è possibile creare qualsiasi combinazione di tipo di camera e piano tariffario. Devi comunque inviare disponibilità e tariffe con gli ID del tipo di camera e del piano tariffario. Questi elementi ti consentono di controllare i prodotti e di disattivare le combinazioni non più supportate dal tuo sistema.

Invia a Google un aggiornamento del messaggio Transaction ogni volta che è necessario aggiungere un cambiamento nei tipi di camera o nei pacchetti oppure è necessario aggiungere dettagli importanti sui tipi di camera o sui pacchetti.

Esempio

Questa sezione fornisce un esempio di base di un messaggio Transaction ARI che utilizza elementi obbligatori e facoltativi. Per aggiungere o aggiornare tipi di camera e pacchetti, puoi utilizzare un'azione per delta per aggiungere o aggiornare tipi di camera e pacchetti oppure overlay per sostituire tutti i tipi di camera e le definizioni dei pacchetti (vengono eliminate le voci precedenti).

Devi specificare una o due lingue (inglese e una lingua locale per la proprietà, se necessario) per i campi Nome, Descrizione e Sottotitoli. Poi, aggiungi le informazioni sui dati della proprietà, inclusi i link alle foto.

Per <PropertyID> e <RoomID>, utilizza gli stessi ID che utilizzi all'interno del tuo sistema rispettivamente per i piani tariffari e i tipi di camera. La coerenza con il sistema è fondamentale per garantire che Google mostri correttamente i prezzi e i dati.

Dopo aver preparato il file, devi inviarlo a Google tramite un messaggio POST al seguente endpoint: https://www.google.com/travel/hotels/uploads/property_data

Per scoprire di più su come eseguire il push/POST del messaggio, consulta la sezione Push dei messaggi.

L'esempio seguente mostra come impostare il messaggio Transaction utilizzando un'azione delta:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>PROPERTYID</Property>
      <RoomData>
        <RoomID>ROOMID</RoomID>
        <Name><Text text="ROOM NAME" language="en"/></Name>
        <Description>
          <Text text="ROOM DESCRIPTION TEXT" language="en"/>
        </Description>
        <Capacity>4</Capacity>
        <PhotoURL>
          <Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
          <URL>https://LINK TO PHOTO</URL>
        </PhotoURL>
      </RoomData>
      <PackageData>
        <PackageID>BASE</PackageID>
        <Name><Text text="Internet Special" language="en"/></Name>
        <Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
        <Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
      </PackageData>
  </PropertyDataSet>
</Transaction>

Per altri esempi, come utilizzare l'azione overlay, aggiungere un tipo di camera e un pacchetto ai dati esistenti della struttura e rimuovere tipi di camera e pacchetti esistenti, consulta la sezione Esempi di transazioni (dati proprietà).

Procedure

Questa sezione fornisce soluzioni per gli scenari che potresti riscontrare durante l'invio di messaggi Transaction.

Scenario 1: come rimuovere i dati relativi al tipo di camera

Come faccio a rimuovere il tipo di camera e/o i dati del pacchetto esistenti?

Descrizione

Hai inviato più tipi di camera per la proprietà, tra cui camere King e Queen. Durante una ristrutturazione, tutte le tipologie di camere queen size non sono disponibili, mentre al momento sono disponibili solo camere King.

Soluzione

  • Non è necessario aggiornare la disponibilità, le tariffe o l'inventario per la notte per il tipo di camera e gli ID pacchetto che sono stati rimossi o disattivati.
  • Se il tipo di camera o il pacchetto è stato rimosso o disattivato, invia un nuovo messaggio Transaction con action="overlay" che includa solo i tipi di camera e i pacchetti ancora attivi ed esclude il tipo o il pacchetto rimosso.

Esempio

Questo snippet XML mostra come utilizzare l'azione overlay per rimuovere un tipo di camera.

Ecco l'azione originale di delta, che include i tipi di camera King e Queen:

  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
      </PackageData>
    <RoomData>
      <RoomID>Queen</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <Capacity>2</Capacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>

Puoi quindi impostare overlay in modo da rimuovere il tipo di camera Queen e mantenere il tipo di camera King:

  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>

Scenario 2: come controllare i prodotti utilizzando allowablePackageID

Come posso controllare i prodotti (combinazioni di tipi di camera e pacchetti) quando i pacchetti sono raggruppati per tipo di camera?

Descrizione

Alcuni pacchetti sono disponibili solo per determinati tipi di camera. Ad esempio, se la tua proprietà dispone di quattro tipi di camera (inclusa la suite presidenziale) e sei pacchetti diversi, ma solo alcuni pacchetti sono idonei per la suite presidenziale, puoi specificare l'idoneità.

Soluzione

Invia un messaggio Transaction aggiornato che specifichi quali prodotti sono inclusi nel pacchetto utilizzando <AllowablePackageIDs>.

Esempio

Questo snippet XML mostra come utilizzare <AllowablePackageIDs> per specificare i pacchetti usati con un determinato tipo di camera. In questo caso, la tipologia di camera Suite all'attico consente solo il pacchetto Penthouse all-inclusive o il pacchetto colazione inclusa, mentre la camera Suite King consente solo il pacchetto all-inclusive King o il pacchetto si accettano animali domestici.

<RoomData>
  <RoomID>penthouse_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
    <AllowablePackageID>free_breakfast</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
  <RoomID>king_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>king_all_inclusive</AllowablePackageID>
    <AllowablePackageID>pet_friendly</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
  <PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>pet_friendly</PackageID>
</PackageData>

Scenario 3: come controllare i prodotti utilizzando allowableRoomID

Come posso controllare i prodotti (combinazioni di tipi di camera e pacchetti) quando i tipi di camera sono raggruppati per pacchetto?

Descrizione

Una combinazione di tipo di camera e pacchetto non viene più venduta come un prodotto o vuoi controllare cosa includere in un nuovo pacchetto. Ad esempio, puoi specificare solo alcuni tipi di camera, come le camere King e Queen con vista sull'oceano, con un pacchetto.

Soluzione

Invia un messaggio Transaction aggiornato che specifichi i prodotti esatti inclusi nel pacchetto utilizzando l'elemento <AllowableRoomIDs>.

Esempio

Questo snippet XML mostra come utilizzare <AllowableRoomID> per specificare i tipi di camera King e Queen con vista sull'oceano nel pacchetto.

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>