Riferimento ai dati strutturati relativi ai prezzi degli hotel

Questa pagina fornisce un riferimento per aggiungere i markup dei dati strutturati al dati sui prezzi.

Panoramica

I dati strutturati relativi ai prezzi degli hotel vengono utilizzati per spiegare, convalidare e mostrare in dettaglio i prezzi degli hotel indicati sul tuo sito web indipendentemente dall'interfaccia utente. Questo include anche prezzo base, tariffe, camere, commissioni e relative a tasse e prezzi.

Google consiglia ai partner di annotare le proprie pagine web con dati strutturati leggibili dalle macchine per i crawler; fornita da schema.org, per eseguire lo scraping dei prezzi in modo accurato dalle tue pagine web.

Ciò consente di scalare le convalide dell'accuratezza del prezzo migliorando il l'affidabilità dei crawler. Il vantaggio per te è un aumento del numero convalide dell'accuratezza del prezzo e possibilità di eseguire il debug dei problemi di accuratezza del prezzo direttamente e avere un punteggio di accuratezza del prezzo coerente.

Se non li hai mai utilizzati, scopri di più sul vocabolario dei dati strutturati e formato.

Google Hotels consiglia il formato JSON-LD per annotare le tue pagine web. Consulta Formati supportati per saperne di più sugli altri formati accettabili. Questa documentazione fornisce contenuti di riferimento dettagliati specifici per l'implementazione dei dati strutturati in Hotel.

I dati strutturati Hotel vengono utilizzati per annotare i campi specifici per hotel nel tuo pagina web. I dati strutturati Hotel hanno le seguenti proprietà:

I dati strutturati HotelRoom vengono utilizzati per annotare i campi specifici della stanza in la tua pagina web.

I dati strutturati HotelRoom hanno le seguenti proprietà:

Dati strutturati per hotel

Proprietà name e address

Le proprietà name e address vengono utilizzate per annotare il nome e in ogni località. Di seguito sono riportate le proprietà name e address:

  "@type": "Hotel",
    "name": "hotel-name",
    "identifier": "hotel-id-1234",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "XX",
      "addressLocality": "City Name",
      "addressRegion": "State Name",
      "postalCode": "01234",
      "streetAddress": "1234 Main St."
    },

Sintassi

Le proprietà name e address utilizzano la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "address": {
    "@type": "PostalAddress",
    "addressCountry": "XX",
    "addressLocality": "City Name",
    "addressRegion": "State Name",
    "postalCode": "01234",
    "streetAddress": "1234 Main St."
  },
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"]
    ...
  }
}

Proprietà

Di seguito sono riportate le proprietà name e address:

Proprietà Obbligatorio? Tipo Descrizione
Hotel.name Required string Il nome dell'hotel
Hotel.identifier Required string

I partner ID hotel.

L'identificatore deve essere una stringa univoca per ciascun hotel e deve corrispondere esattamente con la stringa utilizzata nel feed del prezzo.

Hotel.address Optional PostalAddress L'indirizzo o la località dell'hotel.

Esempi

Nome e indirizzo

Di seguito è riportato un esempio di base sull'aggiunta delle annotazioni name e address:

{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Mountain Hotel",
"identifier": "hotel-id-1234",
"address": {
  "@type": "PostalAddress",
  "addressCountry": "AT",
  "addressLocality": "Innsbruck",
  "addressRegion": "Tyrol",
  "postalCode": "6020",
  "streetAddress": "Technikerstrasse 21"
},
"makesOffer": {
  "@type": ["Offer", "LodgingReservation"],
  "checkinTime": "2023-03-10 15:00:00",
  "checkoutTime": "2023-03-16 10:00:00",
  "priceSpecification": {
    "@type": "CompoundPriceSpecification",
    "price": 1222.74,
    "priceCurrency": "USD"
  }
}
}

makesOffer struttura

Le annotazioni makesOffer vengono utilizzate per il markup i tuoi itinerari dell'hotel.

  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/InStock",
    ...
  }

Sintassi

La proprietà makesOffer utilizza la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "address": { ... },
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/InStock",
    "priceSpecification": { ... }
  }
}

Proprietà

Di seguito sono riportate le proprietà makesOffer:

Proprietà Obbligatorio? Tipo Descrizione
makesOffer Required Offer and LodgingReservation

Le offerte di hotel per l'itinerario.

La proprietà makesOffer può contenere un array di offerte.

LodgingReservation.checkinTime Required DateTime

L'orario del check-in nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel.

LodgingReservation.checkoutTime Required DateTime

L'orario del check-out nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel.

Esempio

makesOffer

Di seguito è riportato un esempio di base per annotare le offerte dei tuoi hotel. Puoi specificare più offerte per un itinerario, ma devi specificare Tariffa visualizzata da Google prima seguita dagli altri. L'importo del prezzo specificato include tutte le imposte applicabili.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Mountain Hotel",
  "identifier": "hotel-id-1234",
  "address": { ... },
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1200.74,
        "priceCurrency": "USD"
      }
    }
  ]
}

Hotel priceSpecification struttura

Questa proprietà viene utilizzata per annotare le informazioni sui prezzi del tuo hotel o del tuo hotel nelle stanze virtuali. Esistono due proprietà aggiuntive necessarie per annotare prezzi e tasse. Dovresti utilizzare CompoundPriceSpecification. per specificare le informazioni totali sui prezzi, come tariffa di base, tasse e sconti. Utilizza UnitPriceSpecification per specificare ulteriori imposte o tipi di addebiti speciali come ResortFee, GenericTax e ServiceFee. priceSpecification è integrata con la proprietà Offer.

  {
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency"
        },
        ...
      ]
    }
  }

Sintassi

La proprietà Hotel priceSpecification utilizza la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "GenericTax",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "OnlineBusiness",
              "name": "name-of-the-business"
            }
          }
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

Microdati

  <div itemscope itemtype="https://schema.org/Hotel">
    <meta itemprop="name" content="hotel-name"/>
    ...
    <div itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation" itemprop="makesOffer">
      ...
      <div itemscope itemtype="https://schema.org/CompoundPriceSpecification" itemprop="priceSpecification">
        <meta itemprop="price" content="float"/>
        <meta itemprop="priceCurrency" content="currency"/>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content=""/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="GenericTax" />
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="GenericTax"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="Discount"/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="Discount"/>
        </div>
      </div>
    </div>
  </div>

Proprietà

Di seguito sono riportate le proprietà hotel priceSpecification:

Proprietà Obbligatorio? Tipo Descrizione
Hotel.Offer.priceSpecification.price Required float

Il prezzo totale, tasse e commissioni incluse, per l'hotel.

La tariffa di Google deve sempre essere annotata sulla pagina di destinazione insieme a i dettagli completi della tariffa. I dettagli sulla frequenza di annotazione ti consentono di controlli di accuratezza del prezzo. Google accetta sia a livello di hotel che di camera prezzi.

Hotel.Offer.priceSpecification.priceCurrency Required currency Un codice valuta di tre lettere per il prezzo specificato. Esempio: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

La suddivisione del prezzo totale, che include tasse e commissioni per l'hotel. Esistono due tipi di dati strutturati per i prezzi:

  • CompoundPriceSpecification fornisce ripartizioni dei prezzi a include:

    • Tariffa di base: il prezzo di base per notte.

    • Tasse per soggiorno: il prezzo per notte, tasse incluse.

    • Costi per persona: il prezzo a notte per alloggio.

    • Sconto: l'importo della detrazione.

  • UnitPriceSpecification viene utilizzato per specificare il tipo di addebiti. Devi includere PriceComponentTypeEnumeration per specificare costi aggiuntivi.

    I valori di PriceComponentTypeEnumeration sono:

    • Discount: lo sconto generico per il prezzo.

    • ResortFee: si tratta di un addebito aggiuntivo che deve essere pagato in hotel. Può variare in base al tipo di alloggio. proprietà.

    • GenericTax: si tratta di un'ulteriore tasse.

    • ServiceFee: è una tariffa aggiuntiva, pari a addebitati dal canale di prenotazione.

    • TransferFee: si tratta di una tariffa obbligatoria di fatto per trasporto per l'hotel, a carico dell'hotel o della prenotazione canale.

Devi impostare i valori nella proprietà priceComponentType . Tutti i valori sono obbligatori se scegli di includere UnitPriceSpecification e deve essere specificato nel UnitPriceSpecification proprietà.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Il punto di pagamento dell'hotel. I flussi di pagamento dell'hotel includono i prezzi. addebitati durante l'orario di check-out sul sito di prenotazione e al durante il check-in.

Devi usare la proprietà potentialAction abbinata a quella di PayAction "recipient" per indicare il punto di pagamento. Consulta PayAction per scoprire di più scopri di più sulla proprietà recipient.

Google supporta le seguenti due impostazioni per l'account di PayAction destinatario:

  • recipient.@type = "OnlineBusiness" si riferisce al pagamento raccolti al momento della prenotazione da parte del commerciante online. Questo è il l'impostazione predefinita se potentialAction non è specificato.

  • recipient.@type = "Hotel" si riferisce al pagamento raccolte in hotel.

Esempi

Esempi JSON-LD

Prezzo

Di seguito è riportato un esempio base di aggiunta di dati strutturati per i prezzi a: pagina web. È possibile includere più offerte a livello di hotel nel makesOffer proprietà.

Tipi di PostalAddress, ad esempio addressCountry, postalCode, streetAddress e altri campi sono obbligatori se scegli di specificare il valore address proprietà. La tariffa visualizzata da Google deve essere elencata per prima nella makesOffer proprietà. L'importo del prezzo specificato include tutti i prezzi applicabili imposte.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {
    "@type": "PostalAddress",
    "addressCountry": "AT",
    "addressLocality": "Innsbruck",
    "addressRegion": "Tyrol",
    "postalCode": "6020",
    "streetAddress": "Technikerstrasse 21"
  },
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1200.74,
        "priceCurrency": "USD"
      }
    },
    ...
  ]
}

Prezzo dettagliato

Di seguito è riportato un esempio della proprietà priceSpecification con la proprietà l'analisi dettagliata del prezzo di vendita. La tariffa di base, tasse quali l'imposta generica e lo sconto, sono definiti mediante il componente UnitPriceSpecification. Ricorda di impostare il parametro priceComponentType con i valori corrispondenti al Componente UnitPriceSpecification.

Il prezzo totale per la durata del soggiorno deve essere specificato nel CompoundPriceSpecification proprietà. La suddivisione del prezzo deve essere specificato nella proprietà priceComponent.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": 1150,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "USD",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": -100,
          "priceCurrency": "USD",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

Punto di pagamento

Di seguito è riportato un esempio della specifica potentialAction nell'utilizzo Tipo di destinatario di PayAction.

Il prezzo totale del pacchetto è di 1170 $e il sito web online addebita parte del prezzo totale, pari a 1150 $al momento della prenotazione, indicato utilizzando "@type": "OnlineBusiness" e l'utente deve pagare i restanti 20 $al l'orario del check-in presso l'hotel, specificato utilizzando @type": "Hotel".

Devi specificare il componente potentialAction per poter suddividere il pagamento al momento della prenotazione e in hotel. Se non è specificato, payAction interpreta il pagamento al momento della prenotazione come predefinito metodo di pagamento.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00]",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1170,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "price": 1150,
          "priceCurrency": "USD",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "OnlineBusiness",
              "name": "myonlinebusiness"
            }
          }
        },
        {
          "@type": "UnitPriceSpecification",
          "price": 20,
          "priceCurrency": "USD",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "Hotel",
              "name": "The Langham, Boston",
              "address": { ... }
            }
          }
        }
      ]
    }
  }
}

Esempio di microdati

Prezzo dettagliato

Di seguito è riportato un esempio della proprietà priceSpecification con la proprietà l'analisi dettagliata del prezzo di vendita. La tariffa di base, tasse quali l'imposta generica e lo sconto, sono definiti mediante il componente UnitPriceSpecification. Ricorda di impostare il parametro name con i valori corrispondenti alla Componente UnitPriceSpecification.

Il prezzo totale per la durata del soggiorno deve essere specificato nel CompoundPriceSpecification proprietà. La suddivisione del prezzo deve essere specificato nella proprietà priceComponent.

<div itemscope itemtype="https://schema.org/Hotel">
  <meta itemprop="name" content="ACME Hotel"/>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemscope itemtype="https://schema.org/PostalAddress" itemprop="address">
    <meta itemprop="addressCountry" content="US" />
    <meta itemprop="addressLocality" content="Mountain View" />
    <meta itemprop="addressRegion" content="Santa Clara" />
    <meta itemprop="postalCode" content="94040" />
    <meta itemprop="streetAddress" content="123 Main street" />
  </div>
  <div itemscope itemtype="https://schema.org/Offer   https://schema.org/LodgingReservation"  itemprop="makesOffer">
    <meta itemprop="checkinTime" content="2023-03-10 15:00:00" />
    <meta itemprop="checkoutTime" content="2023-03-16 10:00:00"/>
    <div itemscope itemtype="https://schema.org/CompoundPriceSpecification"   itemprop="priceSpecification">
    <meta itemprop="price" content="1222.74" />
    <meta itemprop="priceCurrency" content="USD" />
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"    itemprop="priceComponent">
        <meta itemprop="name" content="" />
        <meta itemprop="price" content="1150" />
        <meta itemprop="priceCurrency" content="USD" />
      </div>
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"  itemprop="priceComponent">
        <meta itemprop="name" content="GenericTax" />
        <meta itemprop="price" content="172.74" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceComponentType" content="GenericTax" />
      </div>
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"   itemprop="priceComponent">
        <meta itemprop="name" content="Discount" />
        <meta itemprop="price" content="-100" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceComponentType" content="Discount" />
      </div>
    </div>
  </div>
</div>

hasMerchantReturnPolicy struttura

Questa proprietà viene utilizzata per annotare le norme sui rimborsi dei commercianti negli itinerari.

    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
      "restockingFee": 0
    }

Sintassi

hasMerchantReturnPolicy ha la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "priceSpecification": { ... },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
      "restockingFee": 0
    }
  }
}

Proprietà

Di seguito è riportata la proprietà hasMerchantReturnPolicy:

Attributo Obbligatorio? Tipo Descrizione
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Le norme sui rimborsi dei commercianti. I partner devono utilizzare MerchantReturnPolicy.restockingFee per indicare le norme di annullamento che non rimborsano l'intero importo per la durata del soggiorno.

Se il campo hasMerchantReturnPolicy non viene specificato o viene lasciato vuoto si presume che l'importo non sia rimborsabile. Puoi specificare norme non rimborsabili utilizzando la proprietà returnPolicyCategory: MerchantReturnNotPermitted.

Esempio

Norme sui resi

Di seguito è riportato un esempio base di dati strutturati per un hotel con camera dettagli e prezzo totale, tasse e commissioni incluse. Questo esempio indica un soggiorno che può essere annullata senza alcun addebito fino alle 23:00 (UTC) del giorno 18 dicembre 2023. I partner devono utilizzare "MerchantReturnPolicy.restockingFee" per indicare le norme relative agli annullamenti che non rimborsano l'intero importo del soggiorno. Le impostazioni predefinite di restockingFee a 0 $.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "description": "Beautiful resort in the outskirts of the city",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-12-15 16:00:00",
    "checkoutTime": "2023-12-20 11:00:00",
    "priceSpecification": {...},
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "2023-12-18 23:00:00",
      "restockingFee": 0
    }
  }
}

eligibleCustomerType struttura

Questa proprietà può essere utilizzata per annotare i programmi a premi forniti per l'hotel i clienti con abbonamento.

"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
    "@type": "CompoundPriceSpecification",
    "price": "float",
    "priceCurrency": "currency"
 }

Sintassi

La proprietà eligibleCustomerType ha la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "eligibleCustomerType": "RewardsMember",
    "priceSpecification": { ... }
  }
}

Proprietà

Di seguito è riportata la proprietà eligibleCustomerType:

Attributo Obbligatorio? Tipo Descrizione
Offer.eligibleCustomerType Optional BusinessEntityType

I programmi fedeltà o i premi per gli abbonati offerti per clienti.

Molte pagine degli hotel mostrano le tariffe per i soci insieme a quelle pubbliche. per incoraggiare gli utenti a iscriversi ai loro programmi fedeltà. Tariffe limitate a particolari segmenti di pubblico, come le tariffe per i membri, possono essere specificate impostando la proprietà Offer.eligibleCustomerType.

Esempi

Tariffe per i membri

Di seguito è riportato un esempio base di prezzi per i membri o tariffa vincolata la specifica per i programmi fedeltà. Il cliente è un "membro a premi" di dell'hotel.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "name": "RewardsMember",
    "checkinTime": "2023-12-15 16:00:00",
    "checkoutTime": "2023-12-20 11:00:00",
    "eligibleCustomerType": "RewardsMember",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1342.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "Base rate",
          "price": 1069.98,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "ResortFee",
          "price": 100,
          "priceCurrency": "USD"
        }
      ]
    }
  }
}

Membro e tariffe standard

Questo è un esempio di annotazioni dei prezzi normali e di quelle per membri. La i prezzi per i membri sono elencati per primi, seguiti dalle tariffe normali.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "name": "RewardsMember",
      "checkinTime": "2023-12-15 16:00:00",
      "checkoutTime": "2023-12-20 11:00:00",
      "eligibleCustomerType": "RewardsMember",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1342.74,
        "priceCurrency": "USD",
        "priceComponent": [
          {
            "@type": "UnitPriceSpecification",
            "name": "Base rate",
            "price": 1069.98,
            "priceCurrency": "USD"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "GenericTax",
            "price": 172.74,
            "priceCurrency": "currency"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "ResortFee",
            "price": 100,
            "priceCurrency": "USD"
          }
        ]
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "name": "regularRate",
      "checkinTime": "2023-12-15 16:00:00",
      "checkoutTime": "2023-12-20 11:00:00",
      "priceSpecification": {
        "price": 1572.24,
        "priceCurrency": "USD",
        "priceComponent": [
          {
            "@type": "UnitPriceSpecification",
            "name": "Base rate",
            "price": 1369.98,
            "priceCurrency": "USD"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "GenericTax",
            "price": 202.26,
            "priceCurrency": "currency"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "ResortFee",
            "price": 100,
            "priceCurrency": "USD"
          }
        ]
      }
    }
  ]
}

Dati strutturati per le camere di hotel

offers struttura

Le annotazioni offers vengono utilizzate per il markup della stanza virtuale itinerari. Devi usare la proprietà offers per la specifica HotelRoom.

"offers": {
  "@type": ["Offer", "LodgingReservation"],
  "identifier": "hotel-room-id-1234",
  "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
  "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
  "priceSpecification": {...}
}

Sintassi

La proprietà offers ha la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      ...
    }
  }
}

Proprietà

Di seguito sono riportate le proprietà offers:

Proprietà Obbligatorio? Tipo Descrizione
offers Required Offer and LodgingReservation

La specifica del prezzo della camera per l'itinerario.

La proprietà offers può contenere un array di offerte.

LodgingReservation.checkinTime Required DateTime

L'orario del check-in nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel.

LodgingReservation.checkoutTime Required DateTime

L'orario del check-out nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel.

Esempio

offerte

Di seguito è riportato un esempio di base per specificare offers in HotelRoom proprietà.

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    }
  }
}

Proprietà bed e occupancy

La proprietà bed viene utilizzata per annotare il tipo di letto e il numero di letti disponibili nella stanza. La proprietà occupancy viene utilizzata per annotare il numero ospiti nella stanza. Le proprietà bed e occupancy possono essere specificate utilizzando la proprietà HotelRoom.

"@type": "Hotel",
"identifier": "hotel-id-1234",
"containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "identifier": "hotel-room-id",
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  }
}

Sintassi

La sintassi delle proprietà bed e occupancy è la seguente:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "name": "room-name",
    "identifier": "hotel-room-id-1234",
    "bed": {
      "@type": "BedDetails",
      "numberOfBeds": "integer",
      "typeOfBed": "KING"
    },
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": "integer"
    },
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
      "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": "float",
        "priceCurrency": "currency",
        "priceComponent": {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        ...
      }
    }
  }
}

Le proprietà bed e occupancy possono essere impostate solo utilizzando l'elemento HotelRoom proprietà. È possibile includere informazioni specifiche sulla camera, tra cui le tariffe a livello di camera. alla proprietà Hotel tramite la proprietà containsPlace. Consulta le Esempio di specifica Hotel e HotelRoom.

Proprietà

Di seguito sono riportate le proprietà bed e occupancy:

Proprietà Obbligatorio? Tipo Descrizione
HotelRoom.bed Optional (Recommended) bed

Il tipo di letti inclusi nella sistemazione e il numero di in casa.

I valori supportati sono:

  • CALIFORNIA_KING
  • KING
  • QUEEN
  • FULL
  • DOUBLE
  • SEMI_DOUBLE
  • SINGLE
HotelRoom.occupancy Optional (Recommended) QuantitativeValue

Il numero di ospiti per la camera d'albergo. Il tipo di numero di persone è QuantitativeValue.

Il numero di persone è una proprietà esplicita HotelRoom, non per un Offer specifico. Le tariffe devono essere taggate solo per il numero di persone richiesto.

containsPlace Optional (Recommended) LocationFeatureSpecification

Viene utilizzato per annotare le tariffe a livello di camera associate a specifiche nelle stanze virtuali. Può essere utilizzato anche per specificare i comfort della camera.

Scopri di più su come utilizzare containsPlace in amenityFeature.

Esempi

HotelRoom

Di seguito è riportato un esempio base di letti e numero di persone per una camera e la specifica del prodotto.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    }
  }
}

Hotel e camera d'albergo

Di seguito è riportato un esempio di annotazione di Hotel e HotelRoom proprietà insieme a bed, occupancy e priceSpecification.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "name": "Deluxe Room, 1 King Bed",
    "identifier": "hotel-room-id",
    "bed": {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": 2
    },
    "amenityFeature": {
      "@type": "LocationFeatureSpecification",
      "name": "Minibar",
      "value": true
    },
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    }
  }
}

HotelRoom priceSpecification struttura

La specifica dei prezzi delle camere dell'hotel è simile alla specifica dei prezzi dell'hotel. differenza è che i prezzi delle camere vengono specificati utilizzando la proprietà Product.offers anziché la proprietà Hotel.makesOffer.

"priceSpecification": {
  "@type": "CompoundPriceSpecification",
  "price": "float",
  "priceCurrency": "currency",
  "priceComponent": {
    "@type": "UnitPriceSpecification",
    "name": "GenericTax",
    "price": "float",
    "priceCurrency": "currency"
  }
  ...
}

Sintassi

La proprietà priceSpecification per le camere d'albergo ha la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  ...
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

Proprietà

Di seguito sono riportate le proprietà HotelRoom priceSpecification:

Proprietà Obbligatorio? Tipo Descrizione
Hotel.Offer.priceSpecification.price Required float

Il prezzo per camera, incluse tasse e commissioni per la Product.

La tariffa di Google deve sempre essere annotata sulla pagina di destinazione insieme a i dettagli completi della tariffa. I dettagli sulla frequenza di annotazione ti consentono di controlli di accuratezza del prezzo. Google accetta sia a livello di hotel che di camera prezzi.

Hotel.Offer.priceSpecification.priceCurrency Required currency Un codice valuta di tre lettere per il prezzo specificato. Esempio: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

La suddivisione del prezzo totale, che include tasse e commissioni per l'hotel camera e il numero di persone con offerte collegate a HotelRoom e Product. Esistono due tipi di dati strutturati per i prezzi:

  • CompoundPriceSpecification fornisce ripartizioni dei prezzi a include:

    • Tariffa di base: il prezzo di base per notte.

    • Tasse per soggiorno: il prezzo per notte, tasse incluse.

    • Costi per persona: il prezzo a notte per alloggio.

      occupancy è una proprietà esplicita di HotelRoom, non per una specifica Offer. Le tariffe devono essere taggate solo per la richiesta ingente di persone.

    • Sconto: l'importo della detrazione.

  • UnitPriceSpecification viene utilizzato per specificare il tipo di addebiti. Devi includere PriceComponentTypeEnumeration per specificare costi aggiuntivi.

    I valori di PriceComponentTypeEnumeration sono:

    • Discount: lo sconto generico per il prezzo.

    • ResortFee: si tratta di un addebito aggiuntivo che deve essere pagato in hotel. Può variare in base al tipo di alloggio. proprietà.

    • GenericTax: si tratta di un'ulteriore tasse.

    • ServiceFee: è una tariffa aggiuntiva, pari a addebitati dal canale di prenotazione.

    Devi impostare i valori nel campo name proprietà di UnitPriceSpecification. Tutti i valori sono obbligatoria se scegli di includere la suddivisione del prezzo e deve essere specificato nel componente UnitPriceSpecification.

Esempi

Prezzo totale della camera

Di seguito è riportato un esempio di base per definire il prezzo totale per la lunghezza del soggiorno e il prezzo per occupazione.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room King, 1 Single Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1232.74,
      "priceCurrency": "USD"
    }
  },
  ...
}

Analisi del prezzo della camera

Di seguito è riportato un esempio di prezzo per camera o piano. La suddivisione del prezzo è definito per il tipo di camera come la stanza Deluxe, bed e occupancy ad esempio KING e SINGLE letti e 2 persone.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room King, 1 Single Bed",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "bed": [
      {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "KING"
      },
      {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "SINGLE"
      }
    ],
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": 2
    },
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "Base rate",
          "price": 1150,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "USD",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": -100,
          "priceCurrency": "USD",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

includesObject struttura

Questa proprietà viene utilizzata per annotare i servizi specifici delle tariffe forniti nell'hotel o in una stanza, con opzioni per i pasti e servizio di parcheggio. Puoi aggiungere annotazioni includesObject nella proprietà Hotel o HotelRoom.

{
  "includesObject": [
    {
      "@type": "TypeAndQuantityNode",
      "typeOfGood": {
        "@type": "Service",
        "name": "Valet"
      }
    },
    {
      "@type": "TypeAndQuantityNode",
      "amountOfThisGood": "float",
      "unitText": "currency",
      "typeOfGood": {
        "@type": "FoodService",
        "name": "MealCredit"
      }
    }
  ]
}

Sintassi

includesObject ha la seguente sintassi per i servizi specifici delle tariffe disponibili nella stanza:

JSON-LD

{
  "@context": "https://schema.org",
  ...
  "@type": ["HotelRoom", "Product"],
  ...
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency"
    },
    "includesObject": [
      {
        "@type": "TypeAndQuantityNode",
        "typeOfGood": {
          "@type": "Service",
          "name": "Valet"
        }
      },
      {
        "@type": "TypeAndQuantityNode",
        "amountOfThisGood": "float",
        "unitText": "currency",
        "typeOfGood": {
          "@type": "FoodService",
          "name": "MealCredit"
        }
      }
    ]
  }
}

Proprietà

includesObject ha la seguente proprietà:

Attributo Obbligatorio? Tipo Descrizione
Offer.includesObject Optional TypeAndQuantityNode

I servizi offerti nell'hotel o nella camera.

Le funzioni specifiche per le tariffe sono incluse nel includesObject proprietà. Il campo del nome "TypeAndQuantityNode.typeOfGood" deve essere utilizzato per indicare il tipo di servizio, ad esempio servizio di ritiro e riconsegna dell'auto.

Le funzionalità specifiche per le tariffe possono essere incluse nelle offerte di livello base, o come componenti aggiuntivi a un prezzo aggiuntivo.

includesObject richiede un valore di tipo TypeAndQuantityNode come segue:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Esempio

Servizi

Di seguito è riportato un esempio base di funzionalità specifiche della tariffa per il servizio di ritiro e riconsegna dell'auto e servizi di ristorazione. Le caratteristiche specifiche della tariffa devono essere specificate con il "Offer.includesObject" proprietà. Il campo del nome Devi usare "TypeAndQuantityNode.typeOfGood" per indicare il tipo di completamente gestito di Google Cloud.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    },
    "includesObject": [
      {
        "@type": "TypeAndQuantityNode",
        "typeOfGood": {
          "@type": "Service",
          "name": "Valet"
        }
      },
      {
        "@type": "TypeAndQuantityNode",
        "amountOfThisGood": 50,
        "unitText": "USD",
        "typeOfGood": {
          "@type": "FoodService",
          "name": "MealCredit"
        }
      }
    ]
  }
}

availability struttura

La proprietà offer.availability viene utilizzata per annotare gli itinerari esauriti per le camere d'albergo.

"offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/SoldOut"
}

Sintassi

La proprietà availability ha la seguente sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  ...
  "@type": ["HotelRoom", "Product"],
  "name": "room-type",
  "identifier": "hotel-room-id-1234",
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/SoldOut"
  }
}

Proprietà

Di seguito è riportata la proprietà availability:

Attributo Obbligatorio? Tipo Descrizione
Offer.availability Optional ItemAvailability

La disponibilità dell'hotel o della camera.

Le tariffe vengono estratte da schema.org/Offer e le informazioni sulle tariffe non vengono create utilizzando schema.org/Hotel oppure schema.org/HotelRoom Ciò significa che anche gli itinerari esauriti devono avere un'offerta.

Un'offerta senza priceSpecification viene considerata come non disponibile. Le offerte non disponibili devono essere specificate come "Offer.availability= https://schema.org/SoldOut".

Offer.availability non deve essere necessariamente specificato se l'offerta è annotata con un priceSpecification.

Esempio

Disponibilità

Di seguito è riportato un esempio di base che mostra la mancata disponibilità delle camere d'albergo. Tu devono includere la tipologia di letto, il numero di posti letto e i dettagli sul numero di persone per la stanza specificata.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "availability": "https://schema.org/SoldOut",
    "priceSpecification": {...}
  }
}

amenityFeature struttura

I servizi possono essere specificati nel tipo Hotel o HotelRoom utilizzando il proprietà amenityFeature. Devi utilizzare la proprietà containsPlace per specificare i comfort offerti in camera.

{
  "@type": "Hotel",
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "HH:mm:ss",
        "closes": "HH:mm:ss"
      }
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "GymFitnessEquipment",
      "value": "boolean"
    }
  ],
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": [
      {
        "@type": "LocationFeatureSpecification",
        "name": "Minibar",
        "value": true
      },
      {
        "@type": "LocationFeatureSpecification",
        "name": "Smoking",
        "value": false
      }
    ]
  }
}

Sintassi

Le proprietà amenityFeature e containsPlace presentano quanto segue sintassi:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "amenityFeature": {
    "@type": "LocationFeatureSpecification",
    "name": "HotTub",
    "hoursAvailable": {
      "@type": "OpeningHoursSpecification",
      "opens": "HH:mm:ss",
      "closes": "HH:mm:ss"
    }
  },
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": {
      "@type": "LocationFeatureSpecification",
      "name": "Minibar",
      "value": "boolean"
    }
  }
}

Servizi

I seguenti comfort sono consentiti e definiti nella proprietà name.

Attributo Obbligatorio? Tipo Descrizione
amenityFeature.AC Optional boolean Indica se la proprietà è dotata di aria condizionata.
amenityFeature.AirportShuttle Optional boolean Indica se l'host fornisce il servizio di trasporto da e per l'aeroporto e altri terminali.
amenityFeature.Balcony Optional boolean Indica se la struttura dispone di balcone.
amenityFeature.BeachAccess Optional boolean Indica se la proprietà ha accesso a una spiaggia pubblica nelle vicinanze.
amenityFeature.ChildFriendly Optional boolean Indica se la proprietà è adatta ai bambini.
amenityFeature.Crib Optional boolean Indica se la proprietà fornisce una culla.
amenityFeature.Elevator Optional boolean Indica se la proprietà è dotata di ascensore.
amenityFeature.FirePlace Optional boolean Indica se la struttura è dotata di caminetto.
amenityFeature.FreeBreakfast Optional boolean Indica se la struttura ha la colazione inclusa per tutti gli ospiti. Utilizza le funzionalità di caratteristiche delle tariffe per indicare se la colazione è inclusa solo per una tariffa specifica piani.
amenityFeature.GymFitnessEquipment Optional boolean Indica se la proprietà dispone di una palestra o di attrezzature per il fitness.
amenityFeature.Heating Optional boolean Indica se l'alloggio è dotato di riscaldamento.
amenityFeature.HotTub Optional boolean Indica se la proprietà è dotata di vasca idromassaggio.
amenityFeature.InstantBookable Optional boolean Indica se la proprietà è prenotabile immediatamente tramite il pagamento e il processo di sviluppo. L'alternativa è attendere l'approvazione.
amenityFeature.IroningBoard Optional boolean Indica se la proprietà è dotata di ferro e asse da stiro.
amenityFeature.Kitchen Optional boolean Indica se la struttura dispone di cucina.
amenityFeature.Microwave Optional boolean Indica se la struttura dispone di forno a microonde.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Indica se la struttura dispone di una vasca all'aperto annessa. Se specificato a livello di camera, il bagno deve essere privato solo per gli ospiti delle camere.
amenityFeature.OutdoorGrill Optional boolean Indica se la proprietà ha una griglia per barbecue.
amenityFeature.OvenStove Optional boolean Indica se la proprietà è dotata di stufa.
amenityFeature.Patio Optional boolean Indica se la proprietà è dotata di un patio.
amenityFeature.Pool Optional boolean Indica se la struttura dispone di piscina.
amenityFeature.PrivateBeachAccess Optional boolean Indica se la proprietà ha accesso dedicato a una spiaggia non pubblica.
amenityFeature.SelfCheckinCheckout Optional boolean Indica se la proprietà supporta il check-in e il check-out autonomo.
amenityFeature.WasherDryer Optional boolean Indica se la struttura dispone di elettrodomestici per la lavanderia.
amenityFeature.Wifi Optional boolean Indica se la proprietà è dotata di Wi-Fi.
amenityFeature.Smoking Optional boolean Indica se è consentito fumare nella struttura.
amenityFeature.InternetType Optional Enum

Il tipo di connessione a internet disponibile nella proprietà.

I valori supportati sono:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Il tipo di parcheggio disponibile nella proprietà.

I valori supportati sono:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Il tipo di piscina disponibile nella proprietà.

I valori supportati sono:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Indica se la stanza ha un design in stile giapponese.

I valori supportati sono:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Numero di licenza dell'attività da mostrare nella proprietà in determinate aree del mondo. Può essere ripetuto e, se più esistenti, si consiglia di aggiungere il proprietario o l'autorità di la licenza. Ad esempio, "Paris: 123456ABC"

Proprietà

Di seguito sono riportate le proprietà amenityFeature:

Proprietà Obbligatorio? Tipo Descrizione
amenityFeature Optional LocationFeatureSpecification

I comfort offerti nell'hotel o nella camera. Può essere specificato utilizzando la proprietà amenityFeature . I servizi devono essere disponibili per tutti gli ospiti dell'hotel, indipendentemente dal piano tariffario selezionato. amenityFeature viene specificato utilizzando Valore della proprietà LocationFeatureSpecification.

I servizi possono essere specificati all'indirizzo Hotel o HotelRoom.

containsPlace Optional LocationFeatureSpecification

I comfort offerti nell'hotel o nella camera a tutti gli ospiti dell'hotel. it può essere specificato utilizzando amenityFeature . I servizi devono sarà disponibile per tutti gli ospiti nella camera d'albergo, indipendentemente dalla tariffa selezionata e il piano d'azione.

I comfort sono Hotel.containsPlace.amenityFeature fornite nell'hotel.

I comfort sono HotelRoom.containsPlace.amenityFeature disponibili nella stanza.

Esempio

Comfort in hotel e camera

Di seguito è riportato un esempio di hotel con una piscina aperta dalle 10:00 alle 22:00 e nessuna palestra disponibile presso la proprietà. La camera d'albergo è per non fumatori e minibar.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "address": { ... },
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "10:00:00",
        "closes": "22:00:00"
      }
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "GymFitnessEquipment",
      "value": false
    }
  ],
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": [
      {
        "@type": "LocationFeatureSpecification",
        "name": "Minibar",
        "value": true
      },
      {
        "@type": "LocationFeatureSpecification",
        "name": "Smoking",
        "value": false
      }
    ],
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    }
  }
}