Referência de dados estruturados dos preços dos hotéis

Esta página fornece uma referência para adicionar marcações de dados estruturados às propriedades dados de preços.

Visão geral

Os dados estruturados de preços de hotéis são usados para explicar, validar e mostrar em detalhes os preços do hotel listados no seu site, independentemente da interface do usuário. Isso também inclui preço base, tarifas, quartos, taxas e campos relacionados a impostos e preços.

O Google recomenda que os parceiros façam anotações nas páginas da Web com padrões dados estruturados que são legíveis por máquina para rastreadores; fornecidas por schema.org para coletar os preços com precisão das suas páginas da Web.

Isso permite dimensionar validações de nível de precisão do preço ao melhorar a confiabilidade dos rastreadores. A vantagem para você é um aumento no número de Validações do nível de precisão do preço e capacidade de depurar problemas de nível de precisão do preço e também ter uma pontuação consistente por nível de precisão do preço.

Se você não conhece muito bem os dados estruturados, saiba mais sobre Vocabulário de dados estruturados e o formato.

O Google Hotels recomenda o formato JSON-LD para fazer anotações nas suas páginas da Web. Consulte Formatos compatíveis para saber mais sobre outros formatos aceitáveis. Esta documentação fornece conteúdo de referência detalhado específico da implementação de dados estruturados em Hotéis.

Os dados estruturados de Hotel são usados para anotar campos específicos de hotéis nas suas página da Web. Os dados estruturados de Hotel têm as seguintes propriedades:

Os dados estruturados HotelRoom são usados para anotar campos específicos do quarto em sua página da Web.

Os dados estruturados de HotelRoom têm as seguintes propriedades:

Dados estruturados de hotéis

Propriedades name e address

As propriedades name e address são usadas para anotar o nome do hotel e o local. Confira a seguir as propriedades 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."
    },

Sintaxe

As propriedades name e address usam a seguinte sintaxe:

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"]
    ...
  }
}

Propriedades

Confira a seguir as propriedades name e address:

Propriedade Obrigatório? Tipo Descrição
Hotel.name Required string O nome do hotel
Hotel.identifier Required string

Os parceiros ID do hotel.

O identificador precisa ser uma string exclusiva por hotel e corresponder exatamente com a string usada no feed de preços.

Hotel.address Optional PostalAddress O endereço ou a localização do hotel.

Exemplos

Nome e endereço

Este é um exemplo básico de como adicionar as anotações 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"
  }
}
}

Propriedade makesOffer

As anotações makesOffer são usadas para marcar itinerários de hotel.

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

Sintaxe

A propriedade makesOffer usa a seguinte sintaxe:

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": { ... }
  }
}

Propriedades

Confira a seguir as propriedades makesOffer:

Propriedade Obrigatório? Tipo Descrição
makesOffer Required Offer and LodgingReservation

Oferta(s) de hotel para o itinerário especificado.

A propriedade makesOffer pode conter uma matriz de ofertas.

LodgingReservation.checkinTime Required DateTime

O horário do check-in no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado.

LodgingReservation.checkoutTime Required DateTime

O horário de check-out no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado.

Exemplo

makesOffer

Confira a seguir um exemplo básico para anotar as ofertas do seu hotel. Você pode especificar várias ofertas para um itinerário, mas você deve especificar o A tarifa exibida pelo Google primeiro, seguida das outras taxas. O valor do preço especificada inclui todos os impostos aplicáveis.

{
  "@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"
      }
    }
  ]
}

Propriedade Hotel priceSpecification

Esta propriedade é usada para anotar informações de preços do seu hotel salas Há duas outras propriedades que são necessárias para anotar seu preços e impostos. Use CompoundPriceSpecification (em inglês) para especificar as informações de preço total, como taxa básica, impostos e descontos. Use UnitPriceSpecification (em inglês). para especificar tributos adicionais ou tipos especiais de cobranças como ResortFee, GenericTax e ServiceFee. priceSpecification é agrupada com a propriedade Offer.

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

Sintaxe

A propriedade Hotel priceSpecification usa a seguinte sintaxe:

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"
        }
      ]
    }
  }
}

Microdados

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

Propriedades

Confira a seguir as propriedades hotel priceSpecification:

Propriedade Obrigatório? Tipo Descrição
Hotel.Offer.priceSpecification.price Required float

O preço total com tributos e taxas do hotel.

A tarifa do Google deve sempre ser anotada em sua página de destino junto com todos os detalhes da tarifa. Anotar os detalhes da taxa permite concluir e verificações de nível de precisão do preço. O Google aceita tanto os níveis de hotel quanto os de quarto preços.

Hotel.Offer.priceSpecification.priceCurrency Required currency Um código de moeda de três letras para o preço especificado. Por exemplo: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

O detalhamento do preço total, incluindo impostos e taxas do hotel. Há dois tipos de dados estruturados de preços:

  • O CompoundPriceSpecification fornece detalhamentos de preços para incluem o seguinte:

    • Taxa básica: preço básico por noite

    • Tributos por estadia: o preço por noite com tributos.

    • Cobranças por ocupante: preço por noite por ocupação.

    • Desconto: o valor da dedução.

  • UnitPriceSpecification é usado para especificar o tipo de cobrança. Você deve incluir PriceComponentTypeEnumeration para especificar cobranças adicionais.

    Os valores de PriceComponentTypeEnumeration são:

    • Discount: o desconto genérico no o preço.

    • ResortFee: é uma cobrança adicional que precisa ser ser paga no hotel. O preço pode variar de acordo com o tipo de hospedagem. .

    • GenericTax: é um conjunto de dados tributos.

    • ServiceFee: é uma taxa adicional que é cobrado pelo canal de reservas.

    • TransferFee: na prática, é uma taxa obrigatória para transporte até o hotel, coletados pelo hotel ou por reserva canal.

Você precisa definir os valores na propriedade priceComponentType . Todos os valores serão obrigatórios se você optar por incluir UnitPriceSpecification e precisa ser especificado no UnitPriceSpecification.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

O ponto de pagamento do hotel. Os fluxos de pagamento de hotéis incluem preços. cobrados durante o check-out no site de reservas e no durante o check-in.

Use a propriedade potentialAction , que faz parte do pacote do PayAction. "recipient" para indicar o ponto de pagamento. Consulte PayAction para aprender mais sobre a propriedade recipient.

O Google aceita as duas configurações a seguir para PayAction destinatário:

  • recipient.@type = "OnlineBusiness" refere-se ao pagamento coletados no momento da reserva pelo comerciante on-line. Esta é a configuração padrão se potentialAction não for especificado.

  • recipient.@type = "Hotel" refere-se ao pagamento coletadas no hotel.

Exemplos

Exemplos de JSON-LD

Preço

Confira a seguir um exemplo básico de como adicionar dados estruturados de preços ao seu página da Web. Várias ofertas de hotéis podem ser incluídas no makesOffer.

Tipos PostalAddress, como addressCountry, postalCode streetAddress e outros campos serão obrigatórios se você optar por especificar o address. A tarifa exibida pelo Google deve ser listada primeiro na makesOffer. O valor do preço especificado inclui todos os tributos.

{
  "@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"
      }
    },
    ...
  ]
}

Detalhamento do preço

Confira a seguir um exemplo da propriedade priceSpecification com o detalhamento do preço. A taxa básica, impostos como tributos e descontos genéricos são definido usando o componente UnitPriceSpecification. Lembre-se de definir priceComponentType com os valores correspondentes ao Componente UnitPriceSpecification.

O preço total da duração da estadia deve ser especificado no campo CompoundPriceSpecification. O detalhamento do preço deve ser especificado na propriedade 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"
        }
      ]
    }
  }
}

Ponto de pagamento

Este é um exemplo da especificação potentialAction Tipo de destinatário de PayAction.

O preço total do pacote é US $1.170, e o site on-line cobra parte dele. do preço total, que é US $1.150 no momento da reserva especificada usando o "@type": "OnlineBusiness", e o usuário terá que pagar os US $20 restantes em a hora do check-in no hotel, que é especificada usando o @type": "Hotel".

É necessário especificar o componente potentialAction para detalhar pagamento no momento da reserva e no hotel. Se não for especificado, O payAction interpreta o pagamento no momento da reserva como o padrão forma de 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": { ... }
            }
          }
        }
      ]
    }
  }
}

Exemplo de microdados

Detalhamento do preço

Confira a seguir um exemplo da propriedade priceSpecification com o detalhamento do preço. A taxa básica, impostos como tributos e descontos genéricos são definido usando o componente UnitPriceSpecification. Lembre-se de definir name com os valores correspondentes aos Componente UnitPriceSpecification.

O preço total da duração da estadia deve ser especificado no campo CompoundPriceSpecification. O detalhamento do preço deve ser especificado na propriedade 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>

Propriedade hasMerchantReturnPolicy

Esta propriedade é usada para anotar a política de reembolso do comerciante nos itinerários.

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

Sintaxe

A hasMerchantReturnPolicy tem a seguinte sintaxe:

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

Propriedade

Veja a seguir a propriedade hasMerchantReturnPolicy:

Atributo Obrigatório? Tipo Descrição
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Política de reembolso do comerciante. Os parceiros devem usar MerchantReturnPolicy.restockingFee para indicar políticas de cancelamento que não reembolsam o valor total a duração da estadia.

Se hasMerchantReturnPolicy não for especificado ou deixado em branco presume-se que o valor não é reembolsável. É possível especificar uma política não reembolsável usando a propriedade returnPolicyCategory: MerchantReturnNotPermitted.

Exemplo

Política de devolução

Veja a seguir um exemplo básico de dados estruturados para um hotel com quartos detalhes e preço total com impostos e taxas. Este exemplo indica uma estadia que pode ser cancelado sem cobranças até as 23h (UTC) do dia 18 de dezembro de 2023. Os parceiros devem usar "MerchantReturnPolicy.restockingFee" para indicar as políticas de cancelamento que não reembolsam o valor total da estadia. O padrão restockingFee para $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
    }
  }
}

Propriedade eligibleCustomerType

Esta propriedade pode ser usada para anotar os programas de fidelidade fornecidos para o hotel com assinaturas.

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

Sintaxe

A propriedade eligibleCustomerType tem a seguinte sintaxe:

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": { ... }
  }
}

Propriedade

Veja a seguir a propriedade eligibleCustomerType:

Atributo Obrigatório? Tipo Descrição
Offer.eligibleCustomerType Optional BusinessEntityType

Os programas de fidelidade ou as recompensas para membros oferecidos para para os clientes.

Muitas páginas de hotéis exibem as tarifas para membros com as tarifas públicas. para incentivar os usuários a se inscreverem nos programas de fidelidade. Tarifas restritas para públicos específicos, como tarifas para membros, podem ser especificadas definindo a propriedade Offer.eligibleCustomerType.

Exemplos

Tarifas para membros

Confira a seguir um exemplo básico de preço para membros ou tarifa restrita especificação de programas de fidelidade. O cliente é um "membro da recompensa" de no 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 tarifas normais

Este é um exemplo de anotações de preços com tarifas normais e para assinantes. A o preço para membros é listado primeiro, seguido pelas tarifas normais.

{
  "@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"
          }
        ]
      }
    }
  ]
}

Dados estruturados do HotelRoom

Propriedade offers

As anotações offers são usadas para marcar o cômodo itinerários. Use a propriedade offers para a especificação 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": {...}
}

Sintaxe

A propriedade offers tem a seguinte sintaxe:

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",
      ...
    }
  }
}

Propriedades

Confira a seguir as propriedades offers:

Propriedade Obrigatório? Tipo Descrição
offers Required Offer and LodgingReservation

A especificação de preço do quarto para o itinerário especificado.

A propriedade offers pode conter uma matriz de de produtos Google.

LodgingReservation.checkinTime Required DateTime

O horário do check-in no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado.

LodgingReservation.checkoutTime Required DateTime

O horário de check-out no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado.

Exemplo

ofertas

Este é um exemplo básico para especificar offers em HotelRoom .

{
  "@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"
    }
  }
}

Propriedade bed e occupancy

A propriedade bed é usada para anotar o tipo e o número de camas disponíveis na sala. A propriedade occupancy é usada para anotar o número. de convidados na sala. As propriedades bed e occupancy podem ser especificadas usando a propriedade 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"
  }
}

Sintaxe

As propriedades bed e occupancy têm a seguinte sintaxe:

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"
        },
        ...
      }
    }
  }
}

As propriedades bed e occupancy só podem ser definidas usando as HotelRoom . Informações específicas do quarto, incluindo diárias no nível do quarto, podem ser incluídas à propriedade Hotel usando a propriedade containsPlace. Consulte a Exemplo de especificação Hotel e HotelRoom.

Propriedades

Confira a seguir as propriedades bed e occupancy:

Propriedade Obrigatório? Tipo Descrição
HotelRoom.bed Optional (Recommended) bed

O tipo de cama incluído na acomodação e o número de ocupantes na sala.

Os valores compatíveis são:

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

O número de hóspedes no quarto de hotel. O tipo de ocupação é QuantitativeValue:

A ocupação é uma propriedade explícita de HotelRoom, não para um Offer específico. As tarifas devem ser marcadas apenas para a ocupação solicitada.

containsPlace Optional (Recommended) LocationFeatureSpecification

Ela é usada para anotar as tarifas no nível dos quartos associadas a determinados salas Ele também pode ser usado para especificar as comodidades do quarto.

Saiba mais sobre como usar o containsPlace no amenityFeature.

Exemplos

HotelRoom

A seguir está um exemplo básico de camas e ocupações em um quarto especificação.

{
  "@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 quarto de hotel

Confira abaixo um exemplo de anotação de Hotel e HotelRoom. junto com 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"
      }
    }
  }
}

Propriedade HotelRoom priceSpecification

A especificação de preço do quarto é semelhante à especificação de preço do hotel. a diferença é que os preços dos quartos são especificados usando a propriedade Product.offers. em vez da propriedade Hotel.makesOffer.

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

Sintaxe

A propriedade priceSpecification de quartos de hotel tem a seguinte sintaxe:

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"
        }
      ]
    }
  }
}

Propriedades

Confira a seguir as propriedades HotelRoom priceSpecification:

Propriedade Obrigatório? Tipo Descrição
Hotel.Offer.priceSpecification.price Required float

O preço por quarto, incluindo os impostos e taxas do Product:

A tarifa do Google deve sempre ser anotada em sua página de destino junto com todos os detalhes da tarifa. Anotar os detalhes da taxa permite concluir e verificações de nível de precisão do preço. O Google aceita tanto os níveis de hotel quanto os de quarto preços.

Hotel.Offer.priceSpecification.priceCurrency Required currency Um código de moeda de três letras para o preço especificado. Por exemplo: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

O detalhamento do preço total, incluindo impostos e taxas do hotel o quarto e a ocupação com ofertas vinculadas a HotelRoom e Product. Há dois tipos de dados estruturados de preços:

  • O CompoundPriceSpecification fornece detalhamentos de preços para incluem o seguinte:

    • Taxa básica: preço básico por noite

    • Tributos por estadia: o preço por noite com tributos.

    • Cobranças por ocupante: preço por noite por ocupação.

      occupancy é uma propriedade explícita de HotelRoom, não para um Offer específico. As taxas só devem ser marcadas para o ocupação.

    • Desconto: o valor da dedução.

  • UnitPriceSpecification é usado para especificar o tipo de cobrança. Você deve incluir PriceComponentTypeEnumeration para especificar cobranças adicionais.

    Os valores de PriceComponentTypeEnumeration são:

    • Discount: o desconto genérico no o preço.

    • ResortFee: é uma cobrança adicional que precisa ser ser paga no hotel. O preço pode variar de acordo com o tipo de hospedagem. .

    • GenericTax: é um conjunto de dados tributos.

    • ServiceFee: é uma taxa adicional que é cobrado pelo canal de reservas.

    Você precisa definir os valores no name propriedade de UnitPriceSpecification. Todos os valores são obrigatório se você optar por incluir o detalhamento do preço, e ele deve ser especificado no componente UnitPriceSpecification.

Exemplos

Preço total do quarto

Este é um exemplo básico de como definir o preço total para a duração de estadia e preço por ocupação.

{
  "@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"
    }
  },
  ...
}

Detalhamento do preço do quarto

Confira a seguir um exemplo de preço por quarto ou plano. Detalhamento de preços é definido para o tipo de quarto, como Deluxe quarto, bed e occupancy do tipo KING e SINGLE camas e uma ocupação de 2 hóspedes.

{
  "@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"
        }
      ]
    }
  }
}

Propriedade includesObject

Esta propriedade é usada para anotar serviços específicos da tarifa fornecidos no hotel ou quarto, como opções de refeição e serviço de manobrista. Você pode fazer anotações includesObject na propriedade Hotel ou HotelRoom.

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

Sintaxe

O includesObject tem a seguinte sintaxe para serviços específicos de taxa disponíveis na sala:

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"
        }
      }
    ]
  }
}

Propriedade

O includesObject tem a seguinte propriedade:

Atributo Obrigatório? Tipo Descrição
Offer.includesObject Optional TypeAndQuantityNode

Os serviços prestados no hotel ou no quarto.

Os recursos específicos de tarifas estão incluídos no includesObject. O campo de nome no "TypeAndQuantityNode.typeOfGood" deve ser usado para indicar o tipo de serviço, como manobrista ou serviço de refeições.

Os recursos específicos de tarifas também podem ser incluídos nas ofertas no nível básico, ou podem ser especificados como complementos por um preço adicional.

O includesObject requer um valor do tipo TypeAndQuantityNode da seguinte maneira:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Exemplo

Serviços

A seguir está um exemplo básico de recursos específicos de tarifas para estacionamento com manobrista e serviços de alimentação. Os recursos específicos de taxa devem ser especificados com o "Offer.includesObject". O campo de nome no "TypeAndQuantityNode.typeOfGood" deve ser usado para indicar o tipo de serviço.

{
  "@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"
        }
      }
    ]
  }
}

Propriedade availability

A propriedade offer.availability é usada para anotar os itinerários esgotados. dos quartos de hotel.

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

Sintaxe

A propriedade availability tem a seguinte sintaxe:

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"
  }
}

Propriedade

Veja a seguir a propriedade availability:

Atributo Obrigatório? Tipo Descrição
Offer.availability Optional ItemAvailability

A disponibilidade do hotel ou quarto.

As taxas são extraídas de schema.org/Offer, e as informações de tarifa não serão criadas. usando schema.org/Hotel ou schema.org/HotelRoom. Isso significa que até mesmo itinerários esgotados precisam ter uma oferta.

Uma oferta sem priceSpecification é considerada como indisponível. As ofertas indisponíveis devem ser especificadas como "Offer.availability= https://schema.org/SoldOut":

Offer.availability não precisa ser especificado se a oferta tiver um nome priceSpecification.

Exemplo

Disponibilidade

Confira a seguir um exemplo básico para mostrar a indisponibilidade de quartos de hotel. Você deve incluir o tipo de cama, o número de camas e os detalhes de ocupação. do quarto especificado.

{
  "@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": {...}
  }
}

Propriedade amenityFeature

As comodidades podem ser especificadas no tipo Hotel ou HotelRoom usando o propriedade amenityFeature. Use a propriedade containsPlace para especificar as comodidades oferecidas no quarto.

{
  "@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
      }
    ]
  }
}

Sintaxe

As propriedades amenityFeature e containsPlace têm o seguinte sintaxe:

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"
    }
  }
}

Comodidades

As seguintes comodidades são permitidas e definidas na propriedade name.

Atributo Obrigatório? Tipo Descrição
amenityFeature.AC Optional boolean Se a propriedade tem ar-condicionado.
amenityFeature.AirportShuttle Optional boolean Se o anfitrião oferece transporte de e para o aeroporto ou e outros terminais.
amenityFeature.Balcony Optional boolean Se a acomodação tem sacada.
amenityFeature.BeachAccess Optional boolean Se a propriedade tem acesso a uma praia pública próxima à propriedade.
amenityFeature.ChildFriendly Optional boolean Se a propriedade é adequada para crianças.
amenityFeature.Crib Optional boolean Se a propriedade tem berço.
amenityFeature.Elevator Optional boolean Se a propriedade tem elevador.
amenityFeature.FirePlace Optional boolean Se a acomodação tem lareira.
amenityFeature.FreeBreakfast Optional boolean Se a propriedade tem café da manhã incluso para todos os hóspedes. Usar funcionalidades de tarifação que indicam se o café da manhã está incluído somente por uma tarifa específica de negócios.
amenityFeature.GymFitnessEquipment Optional boolean se a propriedade tem academia ou equipamento de ginástica.
amenityFeature.Heating Optional boolean Indica se a acomodação tem aquecimento.
amenityFeature.HotTub Optional boolean Se a propriedade tem banheira de hidromassagem.
amenityFeature.InstantBookable Optional boolean Se a propriedade pode ser reservada instantaneamente ao finalizar a compra de desenvolvimento de software. A alternativa é aguardar aprovação.
amenityFeature.IroningBoard Optional boolean Se a propriedade tem tábuas de passar roupa disponíveis.
amenityFeature.Kitchen Optional boolean Se a acomodação tem cozinha.
amenityFeature.Microwave Optional boolean Indica se a acomodação tem micro-ondas disponível.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Se a acomodação tem uma banheira ao ar livre anexada. Se especificado no nível do quarto, o banheiro deve ser privativo apenas para ocupantes do quarto.
amenityFeature.OutdoorGrill Optional boolean Se a propriedade tem uma churrasqueira.
amenityFeature.OvenStove Optional boolean Se a propriedade tem fogão.
amenityFeature.Patio Optional boolean Se a propriedade tem um pátio.
amenityFeature.Pool Optional boolean Se a acomodação tem piscina.
amenityFeature.PrivateBeachAccess Optional boolean Se a propriedade tem acesso exclusivo a uma praia não pública.
amenityFeature.SelfCheckinCheckout Optional boolean Se a propriedade aceita check-in e check-out automáticos.
amenityFeature.WasherDryer Optional boolean Se a acomodação tem utensílios de lavanderia.
amenityFeature.Wifi Optional boolean Se a propriedade tem Wi-Fi.
amenityFeature.Smoking Optional boolean Indica se a acomodação permite fumar.
amenityFeature.InternetType Optional Enum

O tipo de Internet disponível na propriedade.

Os valores compatíveis são:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

O tipo de estacionamento disponível na propriedade.

Os valores compatíveis são:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

O tipo de piscina disponível na propriedade.

Os valores compatíveis são:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Indica se o cômodo tem estilo japonês.

Os valores compatíveis são:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Número da licença da empresa a ser mostrada na propriedade em determinadas regiões do mundo. Ela pode ser repetida e, se vários se as licenças existirem, será recomendado adicionar o proprietário ou a autoridade da a licença. Por exemplo, "Paris: 123456ABC".

Propriedades

Confira a seguir as propriedades amenityFeature:

Propriedade Obrigatório? Tipo Descrição
amenityFeature Optional LocationFeatureSpecification

As comodidades oferecidas no hotel ou no quarto. Pode ser especificado usando a propriedade amenityFeature . As comodidades precisam ser disponível para todos os hóspedes do hotel, independentemente do plano de tarifa selecionado. amenityFeature é especificado usando o LocationFeatureSpecification.

As comodidades podem ser especificadas no Hotel ou HotelRoom.

containsPlace Optional LocationFeatureSpecification

As comodidades oferecidas no hotel ou no quarto para todos os hóspedes. Ela podem ser especificadas usando amenityFeature . As comodidades devem estar disponível para todos os hóspedes do quarto, independentemente da tarifa selecionada de um plano eficaz de resposta a incidentes.

Hotel.containsPlace.amenityFeature são as comodidades fornecidas no hotel.

HotelRoom.containsPlace.amenityFeature são as comodidades disponíveis na sala.

Exemplo

Comodidades do hotel e do quarto

A seguir, um exemplo de um hotel com piscina aberta das 10h às 22h e não há academia disponível na propriedade. O quarto de hotel é para não fumantes e tem um frigobar.

{
  "@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"
      }
    }
  }
}