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

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

Обзор

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

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

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

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

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

Структурированные данные 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 property

Аннотации 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

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

Пример

makesOffer

Ниже приведён базовый пример того, как можно аннотировать предложения отелей. Вы можете указать несколько предложений для одного маршрута, но сначала следует указать тариф, отображаемый 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. Для указания дополнительных налогов или специальных типов сборов, таких как ResortFee , GenericTax и ServiceFee , следует использовать UnitPriceSpecification . Свойство 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/H>otel&<quot;
    meta itemprop="name" c>ontent="<hotel-name"/
    ...
    div itemscope itemtype="https://schema.org/Offer https://schema.org/Lodgin>gReservation"<; itemprop="makesOffer"
      ...
      div itemscope itemtype="https://schema.org/Co>mpoundPri<ceSpecification" itemprop="p>riceSpeci<fication"
        meta itemprop="price&>quot; con<tent="float"/
        meta itemprop="priceCurrency" content="curren>cy"/
 <       div itemscope itemtype=&q>uot;https:/</schema.org/UnitPriceSpecification&quo>t; itemprop<="priceComponent"
          meta itempr>op="<name>" co<ntent=""/
          meta itemprop="price" content="float"/
   >       meta< itemprop="priceCurrency" content>="curr<ency"/
        /div
        div i>temscope it<emtype="https://schema.org/UnitPriceSpecific>ation"< itemprop="priceComponent"
          meta item>prop=&quo<t;na>me" <content="GenericTax" /
          meta itemprop="price" content="flo>at"/
 <         meta itemprop="priceCurren>cy" co<ntent="currency"/
          >meta itempr<op="priceComponentType" content="G>enericTax&q<uot;/
        /div
        div itemscope itemtype=&quo>t;https:/</sch>ema.org</Uni>tPric<eSpe>cif<icat>ion" 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 . Для получения дополнительной информации о свойстве recipient см. раздел PayAction .

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

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

  • recipient.@type = "Hotel" обозначает платеж, полученный в отеле.

Примеры

Примеры JSON-LD

Цена

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

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

{
  "@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/H>ote<l"
  meta itemprop="name" c>ont<ent="ACME Hotel"/
  meta itemprop="i>den<tifier" content="hotel-id-1234"/
  div itemscope itemtype=&qu>ot;ht<tps://schema.org/PostalAddress" itemprop>=&quo<t;address"
    meta itemprop="addressCountry&qu>ot; c<ontent="US" /
    meta itemprop="addre>ssLoc<ality" content="Mountain View">; /
 <   meta itemprop="addressRegion" content=">San<ta C>lar<a" /
    meta itemprop="postalCode" content="94040" /
    meta itemprop="streetAdd>ress&<quot; content="123 Main street" /
  /div
  div it>emsco<pe itemtype="https://schema.org/Offer   https://schema>.org/<LodgingReservation"  itemprop="makesOffer"
    meta itemprop="checkinTime" co>ntent<="2023-03-10 15:00:00" /
    me>ta it<emprop="checkoutTime" content=">;2023-0<3-16 10:00:00"/
    div itemscope itemtype="https://schema.org/CompoundPriceSpecifica>tion"<;   itemprop="priceSpecifica>tion"<;
    meta itemprop="price" >content=&<quot;1222.74" /
    meta itemprop=">priceCu<rren>cy"<; content="USD" /
      div itemscope itemtype="https://schema.org/UnitPriceSp>ecificati<on"    itemprop="priceComponent&q>uot;
    <    meta itemprop="name" conte>nt="<" /
        meta itemprop="price&qu>ot; conte<nt="1150" /
        meta itemprop="priceCu>rrency&<quot>; conte<nt="USD" /
      /div
      div itemscope itemtype="https://schema.org/UnitPric>eSpecific<ation"  itemprop="priceComponen>t"
 <       meta itemprop="name" >content=&<quot;GenericTax" /
        meta itemprop>="pr<ice" content="172.74" /
        meta ite>mprop=&<quot>;pric<eCur>ren<cy&q>u<ot; >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": &quot;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&quot;,
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "2023-12-18 23:00:00",
      "restockingFee": 0
    }
  }
}

свойство eligibleCustomerType

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

"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
    "@type": "CompoundPriceSpecification",
    &quot;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&quot;
        },
        {
          "@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"
          }
        ]
      }
    }
  ]
}

Структурированные данные гостиничного номера

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

Аннотации offers используются для разметки маршрутов ваших номеров. Для указания типа HotelRoom следует использовать свойство offers .

"offers&quot;: {
  "@type": ["Offer", "LodgingReservation"],
  "identifier": "hotel-room-id-1234",
  "checkinTime": "YYYY-MM-DD[THH:mm:ss]&quot;,
  "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": &quot;hotel-id-1234",
"containsPlace": {
    "@type": [&quot;HotelRoom", "Product&quot;],
    "identifier": "hotel-room-id",
  "bed&quot;: {
    "@type": &quot;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&quot;],
    "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 property

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

"priceSpecification&quot;: {
  "@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": [&quot;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": &quot;TypeAndQuantityNode",
      "typeOfGood": {
        "@type": "Service",
        "name&quot;: &quot;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 . Поле name в "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": {
          &quot;@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": &quot;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 property

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

{
  "@type": &quot;Hotel",
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "HH:mm:ss",
        "closes": "HH:mm:ss"
      }
    },
    {
      "@type": &quot;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"
      }
    }
  }
}