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à:
nameeaddressproprietàmakesOfferproprietàHotel priceSpecificationproprietàhasMerchantReturnPolicyproprietàeligibleCustomerTypeproprietà
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à:
offersproprietàProprietà
bedeoccupancyProprietà
HotelRoom priceSpecificationincludesObjectproprietàavailabilityproprietàamenityFeatureproprietà
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à |
| 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:
Devi impostare i valori nella 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à Google supporta le seguenti due impostazioni per l'account di
|
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
Se il campo |
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à |
| 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:
|
| HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | Il numero di ospiti per la camera d'albergo. Il tipo di numero di persone è
Il numero di persone è una proprietà esplicita
|
| 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 |
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
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
|
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
Le funzionalità specifiche per le tariffe possono essere incluse nelle offerte di livello base, o come componenti aggiuntivi a un prezzo aggiuntivo.
|
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
Un'offerta senza
|
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:
|
| amenityFeature.ParkingType | Optional | Enum | Il tipo di parcheggio disponibile nella proprietà. I valori supportati sono:
|
| amenityFeature.PoolType | Optional | Enum | Il tipo di piscina disponibile nella proprietà. I valori supportati sono:
|
| amenityFeature.RoomStyle | Optional | Enum | Indica se la stanza ha un design in stile giapponese. I valori supportati sono:
|
| 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, |
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à I servizi possono essere specificati all'indirizzo |
| containsPlace | Optional | LocationFeatureSpecification | I comfort offerti nell'hotel o nella camera a tutti gli ospiti dell'hotel. it
può essere specificato utilizzando I comfort sono I comfort sono |
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"
}
}
}
}