ホテル料金の構造化データのリファレンス

このページでは、ホテルの料金データに構造化データ マークアップを追加するためのリファレンスを提供します。

概要

ホテル料金の構造化データは、ウェブサイトに掲載されているホテル料金をユーザー インターフェースに関係なく詳細に説明、検証、表示するために使用されます。これには、基本料金、料金、客室、手数料、税金、料金設定関連のフィールドも含まれます。

Google は、パートナー様がウェブページから正確に価格をスクレイピングできるよう、schema.org が提供する、クローラーが読み取れる標準化された構造化データでウェブページにアノテーションを付けることを推奨しています。

これにより、クローラーの信頼性を高めて、価格精度の検証をスケーリングできます。このメリットは、料金精度検証の回数が増え、料金精度の問題を直接デバッグできるようになること、また、料金精度スコアが一定になることです。

構造化データを初めて使用する場合は、構造化データの語彙と形式をご覧ください。

Google ホテルでは、ウェブページにアノテーションを付けるために 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

パートナーのホテル ID。

識別子はホテルごとに一意の文字列である必要があり、料金フィードで使用される文字列と完全に一致する必要があります。

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

ユーザーのタイムゾーンでのチェックアウト時間。タイムゾーンが指定されていない場合は、ホテルのタイムゾーンが使用されます。

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 件の宿泊施設

このプロパティは、ホテルまたはホテルの客室の料金情報をアノテーションするために使用されます。価格と税金にアノテーションを付けるには、さらに 2 つのプロパティが必要です。基本料金、税金、割引などの合計料金情報を指定するには、CompoundPriceSpecification を使用する必要があります。UnitPriceSpecification を使用して、ResortFeeGenericTaxServiceFee などの追加の税金や特別な種類の料金を指定します。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"
        }
      ]
    }
  }
}

microdata

  <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 指定した価格の 3 文字の通貨コード。例: "USD"
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

ホテルの合計料金の内訳(税金と諸費用を含む)。 価格の構造化データには次の 2 種類があります。

  • CompoundPriceSpecification は、次のものを含む価格の内訳を提供します。

    • 基本料金: 1 泊あたりの基本料金

    • 宿泊ごとの税金: 税金込みの 1 泊あたりの料金。

    • 1 人あたりの料金: 1 泊あたりの料金(1 人あたり)。

    • Discount: 割引額。

  • UnitPriceSpecification は、料金のタイプを指定するために使用されます。追加料金を指定する PriceComponentTypeEnumeration 値を含める必要があります。

    PriceComponentTypeEnumeration の値は次のとおりです。

    • Discount: 価格に対する一般的な割引。

    • ResortFee: ホテルで支払う必要がある追加料金です。宿泊施設のタイプによって異なる場合があります。

    • GenericTax: その他の税金です。

    • ServiceFee: 予約チャネルによって請求される追加料金です。

    • TransferFee: ホテルへの交通手段に対する事実上の必須料金で、ホテルまたは予約チャネルのいずれかによって徴収されます。

priceComponentType プロパティに値を設定する必要があります。UnitPriceSpecification を含める場合は、すべての値が必要であり、UnitPriceSpecification プロパティで指定する必要があります。

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

ホテルの支払いポイント。ホテルの支払いフローには、予約サイトでのチェックアウト時と、ホテルでのチェックイン時に請求される料金が含まれます。

PayAction の「recipient」フィールドにバンドルされている potentialAction プロパティを使用して、支払いポイントを示す必要があります。recipient プロパティの詳細については、PayAction をご覧ください。

Google は、PayAction の受信者に対して次の 2 つの設定をサポートしています。

  • recipient.@type = "OnlineBusiness" は、オンライン販売者が予約時に徴収する支払いを指します。potentialAction が指定されていない場合、これがデフォルトの設定になります。

  • recipient.@type = "Hotel" は、ホテルで徴収される料金を指します。

JSON-LD の例

価格

以下は、ウェブページに価格の構造化データを追加する基本的な例です。makesOffer プロパティには、複数のホテルレベルの特典を含めることができます。

address プロパティを指定する場合は、addressCountrypostalCodestreetAddress などの PostalAddress 型と他のフィールドが必須になります。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"
        }
      ]
    }
  }
}

お支払いポイント

以下は、PayAction の受信者タイプを使用する際の potentialAction 仕様の例です。

パッケージの合計料金は 1,170 ドルで、オンライン ウェブサイトでは "@type": "OnlineBusiness" を使用して指定された予約時に合計料金の一部である 1,150 ドルが請求され、ユーザーは @type": "Hotel" を使用して指定されたホテルのチェックイン時に残りの 20 ドルを支払う必要があります。

予約時とホテルでの支払いを分割するには、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": { ... }
            }
          }
        }
      ]
    }
  }
}

microdata の例

価格の詳細

価格の内訳を含む 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 プロパティを使用して指定できます。

返品に関するポリシー

次に、客室の詳細と税金と手数料を含む合計料金が記載されたホテルの構造化データの基本的な例を示します。この例では、2023 年 12 月 18 日午後 11 時(UTC)までキャンセル料なしでキャンセルできる宿泊を示しています。パートナーは、宿泊料金の全額を払い戻さないキャンセル ポリシーを示すために "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 件の宿泊施設

このプロパティは、ホテルのメンバーシップのお客様に提供されるポイント プログラムにアノテーションを付けるために使用できます。

"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 アノテーションは、客室の旅程をマークアップするために使用されます。HotelRoom の仕様には offers プロパティを使用する必要があります。

"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 プロパティで offers を指定する基本的な例です。

{
  "@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 プロパティを使用してのみ設定できます。客室レベルの料金などの客室固有の情報は、containsPlace プロパティを介して Hotel プロパティに含めることができます。HotelHotelRoom の仕様の例を参照してください。

プロパティ

bed プロパティと occupancy プロパティは次のとおりです。

プロパティ 必須かどうか 説明
HotelRoom.bed Optional (Recommended) bed

宿泊施設に含まれるベッドの種類と、部屋の宿泊人数。

サポートされている値は次のとおりです。

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

ホテルの客室の宿泊人数。占有率の型は QuantitativeValue です。

占有率は、特定の Offer ではなく、HotelRoom の明示的なプロパティです。料金は、リクエストされた宿泊人数に対してのみタグ付けする必要があります。

containsPlace Optional (Recommended) LocationFeatureSpecification

これは、特定の客室に関連付けられた客室レベルの料金にアノテーションを付けるために使用されます。客室のアメニティを指定するためにも使用できます。

amenityFeature プロパティで containsPlace を使用する方法について詳しくは、こちらをご覧ください。

HotelRoom

以下は、客室仕様のベッドと宿泊人数に関する基本的な例です。

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

以下は、bedoccupancypriceSpecification とともに Hotel プロパティと HotelRoom プロパティにアノテーションを付ける例です。

{
  "@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 件の宿泊施設

ホテルの客室料金の指定は、ホテルの料金の指定と似ています。異なる点は、客室料金は Hotel.makesOffer プロパティではなく Product.offers プロパティを使用して指定する点です。

"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 の税金と手数料を含む 1 部屋あたりの料金。

Google の料金は、ランディング ページに常に完全な料金の詳細とともに注釈を付ける必要があります。料金の詳細に注釈を付けると、料金の精度チェックを完了できます。Google は、ホテル単位の料金と部屋単位の料金の両方を受け付けます。

Hotel.Offer.priceSpecification.priceCurrency Required currency 指定した価格の 3 文字の通貨コード。例: "USD"
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

ホテル客室の税金と手数料を含む合計料金の内訳と、HotelRoomProduct にリンクされた特典を含む宿泊人数。価格の構造化データには次の 2 種類があります。

  • CompoundPriceSpecification は、次のものを含む価格の内訳を提供します。

    • 基本料金: 1 泊あたりの基本料金

    • 宿泊ごとの税金: 税金込みの 1 泊あたりの料金。

    • 1 人あたりの料金: 1 泊あたりの料金(1 人あたり)。

      occupancy は、特定の Offer ではなく、HotelRoom の明示的なプロパティです。料金は、リクエストされた宿泊人数に対してのみタグ付けする必要があります。

    • Discount: 割引額。

  • UnitPriceSpecification は、料金のタイプを指定するために使用されます。追加料金を指定する PriceComponentTypeEnumeration 値を含める必要があります。

    PriceComponentTypeEnumeration の値は次のとおりです。

    • Discount: 価格に対する一般的な割引。

    • ResortFee: ホテルで支払う必要がある追加料金です。宿泊施設のタイプによって異なる場合があります。

    • GenericTax: その他の税金です。

    • ServiceFee: 予約チャネルによって請求される追加料金です。

    UnitPriceSpecificationname プロパティに値を設定する必要があります。価格の内訳を含める場合は、すべての値が必須となり、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 ルームなどの客室タイプ、KING ベッドや SINGLE ベッドなどの bed タイプと occupancy タイプ、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 件の宿泊施設

このプロパティは、ホテルや客室で提供される料金固有のサービス(食事オプションやバレーパーキングなど)にアノテーションを付けるために使用されます。includesObjectHotel プロパティまたは 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" の name フィールドは、バレーサービスや食事サービスなどのサービスの種類を示すために使用する必要があります。

レート固有の機能は、基本レベルの特典に含まれる場合や、追加料金でアドオンとして指定される場合があります。

includesObject には、次のように TypeAndQuantityNode 型の値を指定する必要があります。

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

サービス

以下に、バレーパーキングとフード サービスに関する料金固有の特典の基本的な例を示します。料金固有の機能は、"Offer.includesObject" プロパティで指定する必要があります。"TypeAndQuantityNode.typeOfGood" の name フィールドを使用して、サービスの種類を示す必要があります。

{
  "@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" として指定する必要があります。

有効な priceSpecification. でオファーにアノテーションが付けられている場合、Offer.availability を指定する必要はありません。

対象

次の例は、ホテルの客室の空室状況を示す基本的な例です。指定された客室のベッドの種類、ベッド数、宿泊人数に関する詳細を含める必要があります。

{
  "@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 件の宿泊施設

アメニティは、amenityFeature プロパティを使用して Hotel タイプまたは HotelRoom タイプのいずれかで指定できます。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 プロパティを使用して指定できます。アメニティは、選択した料金プランに関係なく、ホテルのすべての宿泊客が利用できる必要があります。amenityFeatureLocationFeatureSpecification プロパティ値を使用して指定します。

アメニティは Hotel レベルまたは HotelRoom レベルで指定できます。

containsPlace Optional LocationFeatureSpecification

すべての宿泊客に提供されるホテルまたは客室内のアメニティ。これは、amenityFeature を使用して指定できます。アメニティは、選択した料金プランに関係なく、ホテルの客室のすべての宿泊客が利用できる必要があります。

Hotel.containsPlace.amenityFeature は、ホテルで提供されるアメニティです。

HotelRoom.containsPlace.amenityFeature は、客室に備え付けられているアメニティです。

ホテルと客室の設備

以下は、プールが午前 10 時から午後 10 時まで営業しており、ジムが併設されていないホテルの例です。ホテルの客室は禁煙で、ミニバーがあります。

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