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 aos dados de preços dos seus hotéis.

Visão geral

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

O Google recomenda que os parceiros anotem as páginas da Web com dados estruturados padronizados que podem ser lidos por máquinas para rastreadores, fornecidos pelo schema.org, para extrair preços com precisão das páginas da Web.

Isso permite dimensionar as validações de precisão do preço, melhorando a confiabilidade dos rastreadores. O benefício para você é um aumento no número de validações do nível de precisão do preço e a capacidade de depurar problemas de nível de precisão do preço diretamente, além de ter uma pontuação consistente.

Se você não sabe muito sobre o assunto, confira Vocabulário e formato de dados estruturados.

O Google Hotéis recomenda o formato JSON-LD para anotar suas páginas da Web. Consulte Formatos aceitos para saber mais sobre outros formatos aceitáveis. Esta documentação oferece conteúdo de referência detalhado específico para a implementação de dados estruturados em hotéis.

Os dados estruturados Hotel são usados para anotar campos específicos do hotel na sua página da Web. Os dados estruturados Hotel têm as seguintes propriedades:

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

Os dados estruturados 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 e a localização do hotel. Confira 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 as propriedades name e address:

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

O ID do hotel dos parceiros.

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

Hotel.address Optional PostalAddress O endereço ou local do hotel.

Exemplos

Nome e endereço

Confira a seguir um exemplo básico de como adicionar 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 seus 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

Estas são as propriedades makesOffer:

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

As ofertas de hotel para o itinerário especificado.

A propriedade makesOffer pode conter uma matriz de ofertas.

LodgingReservation.checkinTime Required DateTime

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

LodgingReservation.checkoutTime Required DateTime

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

Exemplo

makesOffer

Confira abaixo um exemplo básico para anotar suas ofertas de hotel. É possível especificar várias ofertas para um itinerário, mas primeiro especifique a taxa mostrada pelo Google, seguida por outras taxas. O valor do preço especificado inclui todos os tributos 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

Essa propriedade é usada para anotar informações de preços do seu hotel ou dos quartos dele. Há duas propriedades adicionais necessárias para anotar seus preços e tributos. Use CompoundPriceSpecification para especificar as informações de preços totais, como taxa básica, tributos e descontos. Use UnitPriceSpecification para especificar tributos adicionais ou tipos especiais de cobranças como ResortFee, GenericTax e ServiceFee. A propriedade 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

Estas são as propriedades hotel priceSpecification:

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

O preço total, incluindo tributos e taxas do hotel.

A tarifa do Google precisa sempre ser anotada na página de destino junto com os detalhes completos da tarifa. Ao anotar os detalhes da tarifa, você pode concluir verificações de precisão de preços. O Google aceita preços no nível do hotel e do quarto.

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 tributos e taxas do hotel. Há dois tipos de dados estruturados de preço:

  • CompoundPriceSpecification oferece detalhamentos de preços para incluir o seguinte:

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

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

    • Taxas por ocupante: o preço por noite por ocupação.

    • Desconto: o valor da dedução.

  • UnitPriceSpecification é usado para especificar o tipo de cobranças. Inclua valores PriceComponentTypeEnumeration para especificar cobranças adicionais.

    Os valores para PriceComponentTypeEnumeration são:

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

    • ResortFee: é uma cobrança extra que precisa ser paga no hotel. Isso pode variar de acordo com o tipo de propriedade de hospedagem.

    • GenericTax: é um tributo adicional diverso.

    • ServiceFee: é uma taxa adicional cobrada pelo canal de reserva.

    • TransferFee: é uma taxa obrigatória de fato para o transporte até o hotel, cobrada pelo hotel ou pelo canal de reservas.

É preciso definir os valores na propriedade priceComponentType . Todos os valores são obrigatórios se você incluir UnitPriceSpecification, e ele precisa ser especificado na propriedade UnitPriceSpecification.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

O ponto de pagamento do hotel.Os fluxos de pagamento do hotel incluem preços que são cobrados durante o horário de check-out no site de reservas e no hotel durante o check-in.

Use a propriedade potentialAction , que vem agrupada com o campo "recipient" do PayAction, para indicar o ponto de pagamento. Consulte PayAction para saber mais sobre a propriedade recipient.

O Google oferece suporte às duas configurações a seguir para o destinatário de PayAction:

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

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

Exemplos

Exemplos de JSON-LD

Preço

Confira um exemplo básico de como adicionar dados estruturados de preço à sua página da Web. Várias ofertas no nível do hotel podem ser incluídas na propriedade makesOffer.

Tipos de PostalAddress, como addressCountry, postalCode, streetAddress e outros campos, são obrigatórios se você especificar a propriedade address. A taxa exibida pelo Google precisa ser listada primeiro na propriedade makesOffer. O valor especificado inclui todos os tributos aplicáveis.

{
  "@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 de preços. A taxa básica, os tributos, como tributo genérico e desconto, são definidos usando o componente UnitPriceSpecification. Lembre-se de definir o campo priceComponentType com os valores correspondentes ao componente UnitPriceSpecification.

O preço total da estadia precisa ser especificado na propriedade CompoundPriceSpecification. O detalhamento de preços precisa 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

Confira um exemplo de especificação potentialAction usando o tipo de destinatário do PayAction.

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

É necessário especificar o componente potentialAction para detalhar o pagamento no momento da reserva e no hotel. Se não for especificado, payAction vai interpretar o pagamento no momento da reserva como a forma de pagamento padrão.

{
  "@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 de preços. A taxa básica, os tributos, como tributo genérico e desconto, são definidos usando o componente UnitPriceSpecification. Não se esqueça de definir a propriedade name com os valores correspondentes ao componente UnitPriceSpecification.

O preço total da estadia precisa ser especificado na propriedade CompoundPriceSpecification. O detalhamento de preços precisa 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

Essa 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

O 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

Esta é a propriedade hasMerchantReturnPolicy:

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

A política de reembolso da loja. Os parceiros precisam usar MerchantReturnPolicy.restockingFee para indicar políticas de cancelamento que não reembolsam o valor total da estadia.

Se hasMerchantReturnPolicy não for especificado ou ficar em branco, vamos presumir que o valor não é reembolsável. É possível especificar a política não reembolsável usando a propriedade returnPolicyCategory: MerchantReturnNotPermitted.

Exemplo

Política de devolução

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

Essa propriedade pode ser usada para anotar os programas de fidelidade oferecidos aos clientes associados a hotéis.

"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

Esta é a propriedade eligibleCustomerType:

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

Os programas de fidelidade ou as recompensas oferecidas aos clientes.

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

Exemplos

Preços para membros

Confira a seguir um exemplo básico de especificação de preços para membros ou de tarifa restrita para programas de fidelidade. O cliente é um "membro do programa de fidelidade" do 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"
        }
      ]
    }
  }
}

Tarifas para membros e regulares

Este é um exemplo de anotações de preços de tarifa regular e para membros. Os preços para membros são listados primeiro, seguidos das 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 de HotelRoom

Propriedade offers

As anotações offers são usadas para marcar seus itinerários de quarto. 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

Estas são 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 ofertas.

LodgingReservation.checkinTime Required DateTime

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

LodgingReservation.checkoutTime Required DateTime

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

Exemplo

ofertas

Confira abaixo um exemplo básico para especificar offers na propriedade 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"
    }
  }
}

Propriedades bed e occupancy

A propriedade bed é usada para anotar o tipo e o número de camas disponíveis no quarto. A propriedade occupancy é usada para anotar o número de hóspedes no quarto. 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 a propriedade HotelRoom. Informações específicas do quarto, incluindo tarifas no nível do quarto, podem ser incluídas na propriedade Hotel pela propriedade containsPlace. Consulte o exemplo de especificação Hotel e HotelRoom.

Propriedades

Confira as propriedades bed e occupancy:

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

O tipo de cama(s) incluídas na acomodação e o número de ocupantes no quarto.

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 do hotel. O tipo de ocupação é um QuantitativeValue.

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

containsPlace Optional (Recommended) LocationFeatureSpecification

Ela é usada para anotar as diárias no nível do quarto associadas a quartos específicos. Também pode ser usado para especificar as comodidades do quarto.

Saiba como usar containsPlace na propriedade amenityFeature.

Exemplos

HotelRoom

Confira a seguir um exemplo básico de camas e ocupações para uma especificação de quarto.

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

Confira abaixo um exemplo de como anotar as propriedades 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 de quarto de hotel é semelhante à de hotel.A diferença é que os preços de quartos são especificados usando a propriedade Product.offers em vez de Hotel.makesOffer.

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

Sintaxe

A propriedade priceSpecification para 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

Estas são as propriedades HotelRoom priceSpecification:

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

O preço por quarto, incluindo tributos e taxas para o Product.

A tarifa do Google precisa sempre ser anotada na página de destino junto com os detalhes completos da tarifa. Ao anotar os detalhes da tarifa, você pode concluir verificações de precisão de preços. O Google aceita preços no nível do hotel e do quarto.

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 tributos e taxas do quarto de hotel e da ocupação com ofertas vinculadas a HotelRoom e Product. Há dois tipos de dados estruturados de preço:

  • CompoundPriceSpecification oferece detalhamentos de preços para incluir o seguinte:

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

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

    • Taxas por ocupante: o preço por noite por ocupação.

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

    • Desconto: o valor da dedução.

  • UnitPriceSpecification é usado para especificar o tipo de cobranças. Inclua valores PriceComponentTypeEnumeration para especificar cobranças adicionais.

    Os valores para PriceComponentTypeEnumeration são:

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

    • ResortFee: é uma cobrança extra que precisa ser paga no hotel. Isso pode variar de acordo com o tipo de propriedade de hospedagem.

    • GenericTax: é um tributo adicional diverso.

    • ServiceFee: é uma taxa adicional cobrada pelo canal de reserva.

    Defina os valores na propriedade name de UnitPriceSpecification. Todos os valores são obrigatórios se você optar por incluir o detalhamento de preços, e eles precisam ser especificados no componente UnitPriceSpecification.

Exemplos

Preço total do quarto

Confira a seguir um exemplo básico de como definir o preço total para a duração da estadia e o 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 um exemplo de preço por quarto ou plano. O detalhamento de preços é definido para o tipo de quarto, como quarto Deluxe, e o tipo bed e occupancy, como camas KING e SINGLE, e uma ocupação de dois 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

Essa propriedade é usada para anotar serviços específicos de tarifas oferecidos no hotel ou no quarto, como opções de refeições e serviço de manobrista. É possível anotar 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 tarifa disponíveis no quarto:

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 oferecidos no hotel ou no quarto.

Os recursos específicos da taxa estão incluídos na propriedade includesObject. O campo "name" em "TypeAndQuantityNode.typeOfGood" deve ser usado para indicar o tipo de serviço, como manobrista ou serviço de refeição.

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

O includesObject exige um valor do tipo TypeAndQuantityNode da seguinte forma:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Exemplo

Serviços

Confira a seguir um exemplo básico de recursos específicos de taxa para manobrista e serviços de alimentação. Os recursos específicos da taxa precisam ser especificados com a propriedade "Offer.includesObject". O campo "name" em "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 para os 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

A seguir, a propriedade availability:

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

A disponibilidade do hotel ou do quarto.

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

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

Não é necessário especificar Offer.availability se a oferta estiver anotada com um priceSpecification. válido.

Exemplo

Disponibilidade

Confira a seguir um exemplo básico para mostrar a indisponibilidade de quartos de hotel. Inclua o tipo e 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 a 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 a 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 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.
amenityFeature.ChildFriendly Optional boolean Se a propriedade é adequada para crianças.
amenityFeature.Crib Optional boolean Se a propriedade oferece um 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 oferece café da manhã incluído para todos os hóspedes. Use recursos de tarifa para indicar se o café da manhã está incluído apenas em planos de tarifas específicos.
amenityFeature.GymFitnessEquipment Optional boolean Se a propriedade tem academia ou equipamentos de ginástica.
amenityFeature.Heating Optional boolean 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 pelo processo de finalização da compra. A alternativa é aguardar aprovação.
amenityFeature.IroningBoard Optional boolean Se a propriedade tem tábuas de passar disponíveis.
amenityFeature.Kitchen Optional boolean Se a acomodação tem cozinha.
amenityFeature.Microwave Optional boolean Se a acomodação tem um micro-ondas disponível.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Se a acomodação tem uma banheira ao ar livre. Se especificado no nível do quarto, o banheiro será privativo apenas para os ocupantes do quarto.
amenityFeature.OutdoorGrill Optional boolean Se a propriedade tem uma churrasqueira.
amenityFeature.OvenStove Optional boolean Se a propriedade tem um fogão.
amenityFeature.Patio Optional boolean Se a propriedade tem um terraço.
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 Indica se a propriedade aceita self check-in e check-out.
amenityFeature.WasherDryer Optional boolean Se a acomodação tem eletrodomésticos de lavanderia.
amenityFeature.Wifi Optional boolean Se a propriedade tem Wi-Fi.
amenityFeature.Smoking Optional boolean Se o estabelecimento 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 quarto tem um design de estilo japonês.

Os valores compatíveis são:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Número da licença da empresa que será exibido na propriedade em determinadas regiões do mundo. Ele pode ser repetido e, se houver várias licenças, recomendamos adicionar o proprietário ou a autoridade da licença. Por exemplo, "Paris: 123456ABC".

Propriedades

Estas são as propriedades amenityFeature:

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

As comodidades oferecidas no hotel ou no quarto. Ele pode ser especificado usando a propriedade amenityFeature . As comodidades precisam estar disponíveis para todos os hóspedes do hotel, independente do plano de tarifa selecionado. O amenityFeature é especificado usando o valor da propriedade LocationFeatureSpecification.

As comodidades podem ser especificadas no nível Hotel ou HotelRoom.

containsPlace Optional LocationFeatureSpecification

As comodidades oferecidas no hotel ou no quarto para todos os hóspedes. Ele pode ser especificado usando o amenityFeature . As comodidades precisam estar disponíveis para todos os hóspedes no quarto do hotel, independente do plano de tarifa selecionado.

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

HotelRoom.containsPlace.amenityFeature são as comodidades disponíveis no quarto.

Exemplo

Comodidades no hotel e no quarto

Este é um exemplo de um hotel com piscina aberta das 10h às 22h e sem academia disponível na propriedade. O quarto de hotel é para não fumantes e tem 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"
      }
    }
  }
}