Messaggio Transaction (Property Data)

Panoramica

Il messaggio Transaction (Property Data) di 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), nome localizzato, descrizione e URL delle foto della camera. I dati di ogni pacchetto includono un identificatore univoco (PackageID), nome localizzato, descrizione, occupazione e servizi aggiuntivi.

Puoi utilizzare un messaggio transazionale per:

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

Inoltre, puoi impostare le azioni per eseguire le seguenti operazioni:

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

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

  • Aggiungi punti fedeltà, un programma fedeltà a un pacchetto o a una proprietà.

Per esempi di messaggi Transaction, vedi Esempi di Transaction (Property Data).

Elementi obbligatori e facoltativi

Il documento XML Reference fornisce le descrizioni degli elementi obbligatori e facoltativi. Per informazioni dettagliate sugli attributi e sugli elementi secondari, vedi Elementi e attributi di Transaction (Property Data).

Sintassi e schemi

Utilizza l'esempio di sintassi di Transazione (dati della proprietà) come riferimento quando crei il messaggio Transazione per assicurarti di seguire 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 Schemi di Hotel Ads.

Linee guida

Segui queste indicazioni per un messaggio Transaction:

Azioni:

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

overlay: utilizzalo per sostituire tutti i tipi di camere e i pacchetti di una proprietà con un nuovo set. Devono includere informazioni su tutti i tipi di camere e i piani tariffari che vuoi ancora vendere.

Supporto delle lingue:

Specifica una o due lingue (inglese e una lingua locale per la proprietà se necessario) per i campi Nome, Descrizione e Sottotitoli codificati. 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 impostati, è possibile creare qualsiasi combinazione di tipo di camera e piano tariffario. Devi comunque inviare disponibilità e tariffe con gli ID tipo di camera e piano tariffario. Questi elementi ti consentono di controllare i prodotti e disattivare le combinazioni non più supportate dal tuo sistema.

Invia a Google un aggiornamento del messaggio Transaction ogni volta che si verifica una modifica ai tipi di camere o ai pacchetti oppure quando è necessario aggiungere dettagli importanti sui tipi di camere o sui pacchetti.

Punti fedeltà:

Per includere o escludere il programma fedeltà nel tuo pacchetto, configura una configurazione dei punti fedeltà con Google. Verranno visualizzati i punti guadagnati associati al pacchetto. Scopri di più sui punti fedeltà.

Utilizza l'elemento <MilesIncluded> per definire o aggiornare la campagna fedeltà. Per saperne di più, consulta Transaction(Property Data). I punti fedeltà possono essere inclusi con <PackageData>.

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, utilizza un'azione per delta per aggiungere o aggiornare tipi di camera e pacchetti oppure overlay per sostituire tutte le definizioni di tipi di camera e pacchetti (elimina le voci precedenti).

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

Per <PropertyID> e <RoomID>, utilizza gli stessi ID che utilizzi nel tuo sistema per i piani tariffari e i tipi di camera (rispettivamente). La coerenza con il tuo 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 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, ad esempio come utilizzare l'azione overlay, aggiungere un tipo di camera e un pacchetto ai dati della proprietà esistenti e rimuovere i tipi di camera e i pacchetti esistenti, consulta Esempi di Transaction (Property Data).

Procedure

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

Scenario 1: come rimuovere i dati del tipo di camera

Come faccio a rimuovere i dati esistenti relativi a pacchetti e/o tipi di camera?

Descrizione

Hai inviato più tipi di camere, tra cui camere King e Queen, per la struttura. Tutti i tipi di camere con letto queen size non sono disponibili durante i lavori di ristrutturazione e al momento sono disponibili solo i tipi di camere con letto king size.

Soluzione

  • Non è necessario aggiornare la disponibilità, le tariffe o l'inventario notturni per gli ID tipo di camera e 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 include solo i tipi di camera e i pacchetti ancora attivi ed esclude il tipo di camera o il pacchetto rimossi.

Esempio

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

Di seguito è riportata l'azione delta originale 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 per 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 AllowablePackageIDs

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

Descrizione

Hai determinati pacchetti disponibili solo per alcuni tipi di camere. Ad esempio, se la tua struttura ha quattro tipi di camere (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 utilizzati con un determinato tipo di camera. In questo caso, il tipo di camera suite attico consente solo il pacchetto all inclusive attico o il pacchetto colazione inclusa, mentre il tipo di camera suite king size consente solo il pacchetto all inclusive king size o il pacchetto pet friendly.

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

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

Descrizione

Una combinazione di tipo di camera e pacchetto non viene più venduta come prodotto oppure vuoi controllare cosa è incluso in un nuovo pacchetto. Ad esempio, vuoi specificare solo determinati tipi di camere, 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>