Справочник структурированных данных о ценах на отели

На этой странице приведены инструкции по добавлению разметок структурированных данных к данным о ценах ваших отелей.

Обзор

Структурированные данные о ценах на отели используются для объяснения, проверки и подробного отображения цен на отели, указанных на вашем веб-сайте, независимо от пользовательского интерфейса. Сюда также входят базовая цена, тарифы, номера, сборы и налоги, а также поля, связанные с ценами.

Google рекомендует партнерам аннотировать свои веб-страницы стандартизированными структурированными данными, которые машиночитаемы для сканеров; предоставлено Schema.org , чтобы точно собирать цены с ваших веб-страниц.

Это позволяет масштабировать проверки точности цен за счет повышения надежности сканеров. Преимущество для вас — увеличение количества проверок точности цен и возможность напрямую устранять проблемы с точностью цен, а также получать последовательный показатель точности цен.

Если вы новичок в структурированных данных, узнайте больше о словаре и формате структурированных данных .

Google Hotels рекомендует использовать формат JSON-LD для аннотирования ваших веб-страниц. Обратитесь к разделу Поддерживаемые форматы , чтобы узнать больше о других приемлемых форматах. В этой документации представлен подробный справочный материал, относящийся к реализации структурированных данных в отелях.

Структурированные данные Hotel используются для аннотирования полей, специфичных для отеля, на вашей веб-странице. Структурированные данные Hotel обладают следующими свойствами:

Структурированные данные HotelRoom используются для аннотирования полей, относящихся к конкретному номеру, на вашей веб-странице.

Структурированные данные HotelRoom обладают следующими свойствами:

Структурированные данные отеля

свойства name и address

Свойства name и address используются для аннотирования названия и местоположения отеля. Ниже приведены свойства name и 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."
    },

Синтаксис

Свойства name и address используют следующий синтаксис:

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

Характеристики

Ниже приведены свойства name и address :

Свойство Необходимый? Тип Описание
Hotel.name Required string Название отеля
Hotel.identifier Required string

Идентификатор отеля партнера.

Идентификатор должен представлять собой уникальную строку для каждого отеля и точно совпадать со строкой, используемой в фиде цен.

Hotel.address Optional PostalAddress Адрес или расположение отеля.

Примеры

Имя и адрес

Ниже приведен базовый пример добавления аннотаций name и address :

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

makesOffer недвижимость

Аннотации makesOffer используются для разметки маршрутов вашего отеля.

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

Синтаксис

Свойство makesOffer использует следующий синтаксис:

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

Характеристики

Ниже приведены свойства makesOffer :

Свойство Необходимый? Тип Описание
makesOffer Required Offer and LodgingReservation

Предложения отелей для данного маршрута.

Свойство makesOffer может содержать массив предложений.

LodgingReservation.checkinTime Required DateTime

Время регистрации в часовом поясе пользователя. Если ваш часовой пояс не указан, учитывается часовой пояс отеля.

LodgingReservation.checkoutTime Required DateTime

Время выезда в часовом поясе пользователя. Если ваш часовой пояс не указан, учитывается часовой пояс отеля.

Пример

делаетПредложение

Ниже приведен базовый пример аннотирования предложений вашего отеля. Вы можете указать несколько предложений для одного маршрута, но сначала вам следует указать тариф, отображаемый Google, а затем другие тарифы. Указанная цена включает все применимые налоги.

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

Hotel priceSpecification объекта недвижимости

Это свойство используется для аннотирования информации о ценах на ваш отель или гостиничные номера. Есть два дополнительных свойства, которые необходимы для аннотирования ваших цен и налогов. Вам следует использовать CompoundPriceSpecification, чтобы указать общую информацию о ценах, такую ​​как базовая ставка, налоги и скидки. Используйте UnitPriceSpecification , чтобы указать дополнительные налоги или специальные типы сборов, такие как ResortFee , GenericTax и ServiceFee . Свойство priceSpecification связано со свойством Offer .

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

Синтаксис

Свойство Hotel priceSpecification использует следующий синтаксис:

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

Микроданные

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

Характеристики

Ниже приведены свойства hotel priceSpecification :

Свойство Необходимый? Тип Описание
Hotel.Offer.priceSpecification.price Required float

Полная стоимость, включая налоги и сборы отеля.

Ставка Google всегда должна быть указана на вашей целевой странице вместе с полной информацией о ставке. Аннотирование сведений о тарифах позволяет выполнять проверку точности цен. Google принимает цены как на уровне отеля, так и на уровне номера.

Hotel.Offer.priceSpecification.priceCurrency Required currency Трехбуквенный код валюты для указанной цены. Например: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Общая разбивка цен, включая налоги и сборы отеля. Существует два типа ценовых структурированных данных:

  • CompoundPriceSpecification предоставляет разбивку цен, включающую следующее:

    • Базовая цена: базовая цена за ночь.

    • Налоги за весь период проживания: Цена за ночь с учетом налогов.

    • Плата за каждого гостя: Цена за ночь за размещение.

    • Скидка: Сумма вычета.

  • UnitPriceSpecification используется для указания типа начислений. Вам следует включить значения PriceComponentTypeEnumeration для указания дополнительных сборов.

    Значения PriceComponentTypeEnumeration :

    • Discount : общая скидка на цену.

    • ResortFee : это дополнительная плата, которую необходимо оплатить в отеле. Она может варьироваться в зависимости от типа жилья.

    • GenericTax : это дополнительный налог.

    • ServiceFee : это дополнительная плата, взимаемая каналом бронирования.

    • TransferFee : это де-факто обязательная плата за транспортировку в отель, взимаемая либо отелем, либо каналом бронирования.

Вы должны установить значения в свойстве priceComponentType . Все значения являются обязательными, если вы решили включить UnitPriceSpecification , и их необходимо указать в свойстве UnitPriceSpecification .

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Место оплаты в отеле. Потоки оплаты в отеле включают цены, которые взимаются во время выезда на сайте бронирования и в отеле во время регистрации заезда.

Вам следует использовать свойство potentialAction , которое связано с полем « recipient » PayAction , чтобы указать точку платежа. Обратитесь к PayAction , чтобы узнать больше о собственности recipient .

Google поддерживает следующие два параметра для получателя PayAction :

  • recipient.@type = "OnlineBusiness" означает платеж, взимаемый онлайн-продавцом во время бронирования. Это настройка по умолчанию, если не указано potentialAction .

  • recipient.@type = "Hotel" относится к платежу, полученному в отеле.

Примеры

Примеры JSON-LD

Цена

Ниже приведен базовый пример добавления структурированных данных о ценах на вашу веб-страницу. В свойство makesOffer можно включить несколько предложений уровня отеля.

Типы PostalAddress , такие как addressCountry , postalCode , streetAddress и другие поля, являются обязательными, если вы решите указать свойство address . Ставка, отображаемая Google, должна быть указана первой в свойстве makesOffer . Указанная цена включает все применимые налоги.

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

Разбивка цен

Ниже приведен пример свойства priceSpecification с разбивкой цен. Базовая ставка, налоги, такие как общий налог и скидка, определяются с помощью компонента UnitPriceSpecification . Не забудьте установить в поле priceComponentType значения, соответствующие компоненту UnitPriceSpecification .

Общая стоимость за весь период проживания должна быть указана в свойстве CompoundPriceSpecification . Разбивка цен должна быть указана в свойстве 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"
        }
      ]
    }
  }
}

Пункт оплаты

Ниже приведен пример спецификации potentialAction при использовании типа получателя PayAction .

Общая стоимость пакета составляет 1170 долларов США, и онлайн-сайт взимает часть общей стоимости, которая составляет 1150 долларов США на момент бронирования, указанного с помощью "@type": "OnlineBusiness" , и пользователь должен оплатить оставшиеся 20 долларов США во время бронирования. заселение в отель, указанный с помощью @type": "Hotel" .

Вы должны указать компонент potentialAction , чтобы разбить оплату во время бронирования и в отеле. Если он не указан, payAction интерпретирует платеж во время бронирования как метод оплаты по умолчанию.

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

Пример микроданных

Разбивка цен

Ниже приведен пример свойства priceSpecification с разбивкой цен. Базовая ставка, налоги, такие как общий налог и скидка, определяются с помощью компонента UnitPriceSpecification . Не забудьте задать для свойства name значения, соответствующие компоненту UnitPriceSpecification .

Общая стоимость за весь период проживания должна быть указана в свойстве CompoundPriceSpecification . Разбивка цен должна быть указана в свойстве priceComponent .

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

Свойство hasMerchantReturnPolicy

Это свойство используется для аннотации политики возврата средств продавцом в маршрутах.

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

Синтаксис

hasMerchantReturnPolicy имеет следующий синтаксис:

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

Свойство

Ниже приведено свойство hasMerchantReturnPolicy :

Атрибут Необходимый? Тип Описание
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Политика возврата средств продавцом. Партнерам следует использовать MerchantReturnPolicy.restockingFee , чтобы указать политику отмены, которая не возвращает полную сумму за весь период пребывания.

Если hasMerchantReturnPolicy не указан или оставлен пустым, предполагается, что сумма не подлежит возврату. Вы можете указать политику невозврата, используя свойство returnPolicyCategory: MerchantReturnNotPermitted .

Пример

Политика возврата

Ниже приведен базовый пример структурированных данных для отеля с подробной информацией о номерах и общей стоимостью с налогами и сборами. В этом примере показано пребывание, которое можно отменить без каких-либо сборов до 23:00 (UTC) 18 декабря 2023 г. Партнерам следует использовать "MerchantReturnPolicy.restockingFee" чтобы указать правила отмены, при которых не возвращается полная стоимость проживания. По умолчанию 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
    }
  }
}

eligibleCustomerType свойствоCustomerType

Это свойство можно использовать для аннотирования программ вознаграждений, предоставляемых клиентам, являющимся членами отеля.

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

Синтаксис

Свойство eligibleCustomerType имеет следующий синтаксис:

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

Свойство

Ниже приведено свойство eligibleCustomerType :

Атрибут Необходимый? Тип Описание
Offer.eligibleCustomerType Optional BusinessEntityType

Программы лояльности или вознаграждения участников, предлагаемые клиентам.

На многих страницах отелей отображаются тарифы для участников вместе с общедоступными тарифами, чтобы побудить пользователей подписаться на их программы лояльности. Ставки, ограниченные определенной аудиторией, например ставки для участников, можно указать, установив свойство Offer.eligibleCustomerType .

Примеры

Тарифы для участников

Ниже приведен базовый пример ценообразования для участников или спецификации фиксированных тарифов для программ лояльности. Клиент является «наградным участником» отеля.

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

Членские и обычные тарифы

Это пример аннотаций как для обычных, так и для членских тарифов. Сначала указаны цены для участников, а затем обычные тарифы.

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

Структурированные данные HotelRoom

offers недвижимость

Аннотации offers используются для разметки маршрутов ваших номеров. Вам следует использовать свойство offers для спецификации 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": {...}
}

Синтаксис

Свойство offers имеет следующий синтаксис:

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

Характеристики

Ниже приведены свойства offers :

Свойство Необходимый? Тип Описание
offers Required Offer and LodgingReservation

Указание стоимости номера по данному маршруту.

Свойство offers может содержать массив предложений.

LodgingReservation.checkinTime Required DateTime

Время регистрации в часовом поясе пользователя. Если ваш часовой пояс не указан, учитывается часовой пояс отеля.

LodgingReservation.checkoutTime Required DateTime

Время выезда в часовом поясе пользователя. Если ваш часовой пояс не указан, учитывается часовой пояс отеля.

Пример

предложения

Ниже приведен базовый пример указания offers в свойстве 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"
    }
  }
}

bed и occupancy

Свойство bed используется для аннотации типа кровати и количества кроватей, доступных в комнате. Свойство occupancy используется для аннотации количества гостей в номере. Свойства bed и occupancy можно указать с помощью свойства 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"
  }
}

Синтаксис

Свойства bed и occupancy имеют следующий синтаксис:

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

Свойства bed и occupancy можно задать только с помощью свойства HotelRoom . Информация о номере, включая стоимость номера, может быть включена в свойство Hotel через свойство containsPlace . См . пример спецификации Hotel и HotelRoom .

Характеристики

Ниже приведены характеристики bed и occupancy :

Свойство Необходимый? Тип Описание
HotelRoom.bed Optional (Recommended) bed

Тип кроватей, включенных в номер, и количество человек в номере.

Поддерживаемые значения:

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

Количество гостей в номере отеля. Тип занятости — QuantitativeValue .

Заполняемость является явным свойством HotelRoom , а не конкретным Offer . Цены должны быть указаны только для запрошенного количества гостей.

containsPlace Optional (Recommended) LocationFeatureSpecification

Он используется для аннотирования тарифов на уровне номера, связанных с конкретными номерами. Его также можно использовать для указания удобств в номере.

Узнайте больше о том, как использовать containsPlace в свойстве amenityFeature .

Примеры

Номер в отеле

Ниже приведен базовый пример кроватей и количества гостей для спецификации номера.

{
  "@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 и HotelRoom вместе с bed , occupancy и priceSpecification .

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

HotelRoom priceSpecification объекта недвижимости

Спецификация цен на гостиничные номера аналогична спецификации цен на гостиничные номера. Разница в том, что цены на номера указываются с использованием свойства Product.offers вместо свойства Hotel.makesOffer .

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

Синтаксис

Свойство priceSpecification для гостиничных номеров имеет следующий синтаксис:

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

Характеристики

Ниже приведены свойства HotelRoom priceSpecification :

Свойство Необходимый? Тип Описание
Hotel.Offer.priceSpecification.price Required float

Цена за номер, включая налоги и сборы за Product .

Ставка Google всегда должна быть указана на вашей целевой странице вместе с полной информацией о ставке. Аннотирование сведений о тарифах позволяет выполнять проверку точности цен. Google принимает цены как на уровне отеля, так и на уровне номера.

Hotel.Offer.priceSpecification.priceCurrency Required currency Трехбуквенный код валюты для указанной цены. Например: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Общая разбивка цен, включая налоги и сборы за номер в отеле, а также заполнение предложений, связанных с HotelRoom и Product . Существует два типа ценовых структурированных данных:

  • CompoundPriceSpecification предоставляет разбивку цен, включающую следующее:

    • Базовая цена: базовая цена за ночь.

    • Налоги за весь период проживания: Цена за ночь с учетом налогов.

    • Плата за каждого гостя: Цена за ночь за размещение.

      occupancy является явным свойством HotelRoom , а не конкретным Offer . Цены должны быть указаны только для запрошенного количества гостей.

    • Скидка: Сумма вычета.

  • UnitPriceSpecification используется для указания типа начислений. Вам следует включить значения PriceComponentTypeEnumeration для указания дополнительных сборов.

    Значения PriceComponentTypeEnumeration :

    • Discount : общая скидка на цену.

    • ResortFee : это дополнительная плата, которую необходимо оплатить в отеле. Она может варьироваться в зависимости от типа жилья.

    • GenericTax : это дополнительный налог.

    • ServiceFee : это дополнительная плата, взимаемая каналом бронирования.

    Вы должны установить значения в свойстве name UnitPriceSpecification . Все значения являются обязательными, если вы решили включить разбивку цен, и ее необходимо указать в компоненте UnitPriceSpecification .

Примеры

Общая стоимость номера

Ниже приведен базовый пример определения общей стоимости за период проживания и цены за размещение.

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

Разбивка цен на номера

Ниже приведен пример цены за номер или план. Разбивка цен определяется для типа номера, например, номера Deluxe , а также типа bed и типа occupancy например, KING и SINGLE кроватей, а также для размещения 2 человек.

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

свойство includesObject

Это свойство используется для аннотации конкретных тарифов на услуги, предоставляемые в отеле или номере, такие как варианты питания и услуги парковщика. Вы можете аннотировать includesObject в свойстве Hotel или HotelRoom .

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

Синтаксис

includesObject имеет следующий синтаксис для услуг, доступных в комнате по определенному тарифу:

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

Свойство

includesObject имеет следующее свойство:

Атрибут Необходимый? Тип Описание
Offer.includesObject Optional TypeAndQuantityNode

Услуги, предоставляемые в отеле или номере.

Функции, зависящие от скорости, включены в свойство includesObject . Поле имени в "TypeAndQuantityNode.typeOfGood" следует использовать для указания типа услуги, например услуг парковщика или доставки еды.

Функции, зависящие от тарифа, также могут быть включены в предложения базового уровня или могут быть указаны как дополнения за дополнительную плату.

includesObject требует значения типа TypeAndQuantityNode следующим образом:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Пример

Услуги

Ниже приведен базовый пример особенностей тарифов на услуги парковщика и общественного питания. Функции, зависящие от тарифа, следует указывать с помощью свойства "Offer.includesObject" . Поле имени в "TypeAndQuantityNode.typeOfGood" следует использовать для указания типа службы.

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

availability недвижимости

Свойство offer.availability используется для аннотирования распроданных маршрутов для гостиничных номеров.

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

Синтаксис

Свойство availability имеет следующий синтаксис:

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

Свойство

Ниже приведены свойства availability :

Атрибут Необходимый? Тип Описание
Offer.availability Optional ItemAvailability

Наличие отеля или номера.

Тарифы извлекаются из schema.org/Offer , а информация о тарифах не создается с использованием schema.org/Hotel или schema.org/HotelRoom . Это означает, что даже распроданные маршруты должны иметь предложение.

Предложение без priceSpecification считается недоступным. Недоступные предложения должны быть указаны как "Offer.availability= https://schema.org/SoldOut " .

Offer.availability не нужно указывать, если предложение снабжено допустимой priceSpecification.

Пример

Доступность

Ниже приведен базовый пример, показывающий отсутствие свободных номеров в отеле. Вы должны указать тип кровати, количество кроватей и данные о занятости в указанном номере.

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

свойство amenityFeature

Удобства можно указать в типе Hotel или HotelRoom с помощью свойства amenityFeature . Вам следует использовать свойство containsPlace , чтобы указать удобства, предоставляемые в номере.

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

Синтаксис

Свойства amenityFeature и containsPlace имеют следующий синтаксис:

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

Удобства

Следующие удобства разрешены и определены в свойстве name .

Атрибут Необходимый? Тип Описание
amenityFeature.AC Optional boolean Есть ли в объекте кондиционер.
amenityFeature.AirportShuttle Optional boolean Предоставляет ли принимающая сторона транспорт до/из аэропорта или других терминалов.
amenityFeature.Balcony Optional boolean Есть ли в номере балкон.
amenityFeature.BeachAccess Optional boolean Имеет ли объект размещения доступ к общественному пляжу рядом с объектом размещения.
amenityFeature.ChildFriendly Optional boolean Подходит ли недвижимость для проживания детей.
amenityFeature.Crib Optional boolean Предоставляет ли объект размещения детскую кроватку.
amenityFeature.Elevator Optional boolean Есть ли в объекте лифт.
amenityFeature.FirePlace Optional boolean Есть ли в доме камин.
amenityFeature.FreeBreakfast Optional boolean Включен ли в объекте размещения бесплатный завтрак для всех гостей. Используйте функции тарифов, чтобы указать, включен ли завтрак только в определенные тарифные планы.
amenityFeature.GymFitnessEquipment Optional boolean Есть ли в отеле тренажерный зал или какое-либо оборудование для фитнеса.
amenityFeature.Heating Optional boolean Есть ли в помещении отопление.
amenityFeature.HotTub Optional boolean Есть ли в объекте размещения гидромассажная ванна.
amenityFeature.InstantBookable Optional boolean Можно ли мгновенно забронировать недвижимость в процессе оформления заказа. Альтернатива ждет одобрения.
amenityFeature.IroningBoard Optional boolean Есть ли в объекте размещения гладильные доски.
amenityFeature.Kitchen Optional boolean Есть ли в жилье кухня.
amenityFeature.Microwave Optional boolean Есть ли в номере микроволновая печь.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Имеется ли в объекте размещения ванна на открытом воздухе. Если это указано на уровне комнаты, ванна должна быть отдельной только для жильцов комнаты.
amenityFeature.OutdoorGrill Optional boolean Есть ли на территории гриль.
amenityFeature.OvenStove Optional boolean Есть ли в доме печь.
amenityFeature.Patio Optional boolean Есть ли в объекте патио.
amenityFeature.Pool Optional boolean Есть ли в объекте размещения бассейн.
amenityFeature.PrivateBeachAccess Optional boolean Имеет ли объект размещения выделенный доступ к частному пляжу.
amenityFeature.SelfCheckinCheckout Optional boolean Поддерживает ли объект самостоятельную регистрацию заезда и отъезда.
amenityFeature.WasherDryer Optional boolean Есть ли в жилье стиральная машина.
amenityFeature.Wifi Optional boolean Есть ли в объекте Wi-Fi.
amenityFeature.Smoking Optional boolean Разрешено ли в отеле курение.
amenityFeature.InternetType Optional Enum

Тип Интернета, доступный на объекте.

Поддерживаемые значения:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Тип парковки, доступной на территории.

Поддерживаемые значения:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Тип бассейна, доступного на объекте.

Поддерживаемые значения:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Указывает, оформлена ли комната в японском стиле.

Поддерживаемые значения:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Номер лицензии предприятия, который должен быть указан на объекте недвижимости в определенных регионах мира. Это можно повторить, и если существует несколько лицензий, рекомендуется добавить владельца или полномочия лицензии. Например, "Paris: 123456ABC"

Характеристики

Ниже приведены свойства amenityFeature :

Свойство Необходимый? Тип Описание
amenityFeature Optional LocationFeatureSpecification

Удобства, предоставляемые в отеле или номере. Его можно указать с помощью свойства amenityFeature . Удобства должны быть доступны всем гостям отеля независимо от выбранного тарифного плана. amenityFeature указывается с использованием значения свойства LocationFeatureSpecification .

Удобства можно указать на уровне Hotel или HotelRoom .

containsPlace Optional LocationFeatureSpecification

Удобства, предоставляемые в отеле или номере всем гостям отеля. Его можно указать с помощью amenityFeature . Удобства должны быть доступны всем гостям гостиничного номера независимо от выбранного тарифного плана.

Hotel.containsPlace.amenityFeature — это удобства, предоставляемые в отеле.

HotelRoom.containsPlace.amenityFeature — это удобства, предоставляемые в номере.

Пример

Удобства в отеле и номере

Ниже приведен пример отеля с бассейном, открытым с 10:00 до 22:00, но в отеле нет тренажерного зала. В номере отеля запрещено курение, имеется мини-бар.

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