구조화된 호텔 가격 데이터 참조

이 페이지에서는 호텔의 가격 책정 데이터에 구조화된 데이터 마크업을 추가하는 방법을 참고할 수 있습니다.

개요

호텔 가격 구조화된 데이터는 사용자 인터페이스와 관계없이 웹사이트에 표시된 호텔 가격을 자세히 설명하고, 검증하고, 표시하는 데 사용됩니다. 여기에는 기본 가격, 요금, 객실, 수수료 및 세금, 가격 책정과 관련된 필드도 포함됩니다.

Google에서는 파트너가 웹페이지에서 가격을 정확하게 스크랩할 수 있도록 크롤러가 읽을 수 있는 표준화된 구조화된 데이터로 웹페이지에 주석을 추가할 것을 권장합니다. 이 데이터는 schema.org에서 제공됩니다.

이를 통해 크롤러의 신뢰성을 개선하여 가격 정확도 검증을 확장할 수 있습니다. 이 기능을 사용하면 가격 정확성 검증 횟수가 늘어나고, 가격 정확성 문제를 직접 디버그할 수 있으며, 가격 정확성 점수를 일관되게 유지할 수 있습니다.

구조화된 데이터를 처음 사용한다면 구조화된 데이터 어휘 및 형식을 자세히 알아보세요.

Google 호텔에서는 웹페이지에 주석을 달 때 JSON-LD 형식을 사용할 것을 권장합니다. 허용되는 다른 형식에 대해 자세히 알아보려면 지원되는 형식을 참고하세요. 이 문서에서는 호텔의 구조화된 데이터 구현과 관련된 자세한 참조 콘텐츠를 제공합니다.

Hotel 구조화된 데이터는 웹페이지에서 호텔 관련 필드에 주석을 추가하는 데 사용됩니다. Hotel 구조화된 데이터에는 다음과 같은 속성이 있습니다.

HotelRoom 구조화된 데이터는 웹페이지에서 객실별 필드에 주석을 추가하는 데 사용됩니다.

HotelRoom 구조화된 데이터에는 다음과 같은 속성이 있습니다.

호텔 구조화된 데이터

nameaddress 속성

nameaddress 속성은 호텔 이름과 위치에 주석을 추가하는 데 사용됩니다. 다음은 nameaddress 속성입니다.

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

구문

nameaddress 속성은 다음 구문을 사용합니다.

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

속성

다음은 nameaddress 속성입니다.

속성 필수 여부 유형 설명
Hotel.name Required string 호텔 이름
Hotel.identifier Required string

파트너의 호텔 ID입니다.

식별자는 호텔당 고유한 문자열이어야 하며 가격 피드에 사용된 문자열과 정확히 일치해야 합니다.

Hotel.address Optional PostalAddress 호텔의 주소 또는 위치입니다.

이름 및 주소

다음은 nameaddress 주석을 추가하는 기본적인 예시입니다.

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

이 속성은 호텔 또는 호텔 객실의 가격 정보를 주석으로 처리하는 데 사용됩니다. 가격과 세금을 주석 처리하는 데 필요한 두 가지 추가 속성이 있습니다. CompoundPriceSpecification을 사용하여 기본 요금, 세금, 할인과 같은 총 가격 정보를 지정해야 합니다. UnitPriceSpecification을 사용하여 추가 세금이나 ResortFee, GenericTax, ServiceFee과 같은 특별 유형의 요금을 지정합니다. priceSpecification 속성은 Offer 속성과 번들로 제공됩니다.

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

구문

Hotel priceSpecification 속성은 다음 구문을 사용합니다.

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "GenericTax",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "OnlineBusiness",
              "name": "name-of-the-business"
            }
          }
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

마이크로데이터

  <div itemscope itemtype="https://schema.org/Hotel">
    <meta itemprop="name" content="hotel-name"/>
    ...
    <div itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation" itemprop="makesOffer">
      ...
      <div itemscope itemtype="https://schema.org/CompoundPriceSpecification" itemprop="priceSpecification">
        <meta itemprop="price" content="float"/>
        <meta itemprop="priceCurrency" content="currency"/>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content=""/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="GenericTax" />
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="GenericTax"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="Discount"/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="Discount"/>
        </div>
      </div>
    </div>
  </div>

속성

다음은 hotel priceSpecification 속성입니다.

속성 필수 여부 유형 설명
Hotel.Offer.priceSpecification.price Required float

호텔의 세금 및 수수료를 포함한 총가격입니다.

Google 요금은 항상 방문 페이지에 전체 요금 세부정보와 함께 주석으로 표시되어야 합니다. 요금 세부정보에 주석을 달면 가격 정확성 검사를 완료할 수 있습니다. Google은 호텔 수준 가격과 객실 수준 가격을 모두 허용합니다.

Hotel.Offer.priceSpecification.priceCurrency Required currency 지정된 가격의 3자리 통화 코드입니다. 예: "USD"
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

호텔의 세금 및 수수료를 포함한 총 가격 세부정보입니다. 가격 구조화 데이터에는 두 가지 유형이 있습니다.

  • CompoundPriceSpecification는 다음을 포함하는 가격 세부정보를 제공합니다.

    • 기본 요금: 1박당 기본 가격

    • 숙박당 세금: 세금을 포함한 1박당 가격입니다.

    • 숙박인당 요금: 숙박인당 1박당 가격입니다.

    • 할인: 공제 금액입니다.

  • 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의 수신자에 대해 다음 두 가지 설정을 지원합니다.

  • recipient.@type = "OnlineBusiness"는 온라인 판매자가 예약 시 징수한 결제를 나타냅니다. potentialAction이 지정되지 않은 경우 기본 설정입니다.

  • recipient.@type = "Hotel"는 호텔에서 징수하는 결제를 나타냅니다.

JSON-LD 예시

가격

다음은 웹페이지에 가격 구조화된 데이터를 추가하는 기본적인 예입니다. makesOffer 속성에는 여러 호텔 수준 혜택이 포함될 수 있습니다.

address 속성을 지정하는 경우 addressCountry, postalCode, streetAddress과 같은 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 구성요소를 사용하여 정의됩니다. UnitPriceSpecification 구성요소에 해당하는 값으로 priceComponentType 필드를 설정해야 합니다.

숙박 기간의 총 가격은 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": { ... }
            }
          }
        }
      ]
    }
  }
}

마이크로데이터 예시

가격 분석

다음은 가격 분류가 포함된 priceSpecification 속성의 예시입니다. 기본 요금, 일반 세금과 같은 세금, 할인은 UnitPriceSpecification 구성요소를 사용하여 정의됩니다. UnitPriceSpecification 구성요소에 해당하는 값으로 name 속성을 설정해야 합니다.

숙박 기간의 총 가격은 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

사용자의 시간대로 표시된 체크아웃 시간입니다. 시간대가 언급되지 않으면 호텔 시간대가 고려됩니다.

쿠폰

다음은 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"
    }
  }
}

bedoccupancy 속성

bed 속성은 객실에서 이용 가능한 침대 유형과 침대 수를 주석으로 표시하는 데 사용됩니다. occupancy 속성은 객실의 투숙객 수를 주석으로 표시하는 데 사용됩니다. bedoccupancy 속성은 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"
  }
}

구문

bedoccupancy 속성에는 다음 구문이 있습니다.

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

bedoccupancy 속성은 HotelRoom 속성을 사용하여만 설정할 수 있습니다. 객실 수준 요금을 비롯한 객실별 정보는 containsPlace 속성을 통해 Hotel 속성에 포함될 수 있습니다. HotelHotelRoom 사양 예시를 참고하세요.

속성

다음은 bedoccupancy 속성입니다.

속성 필수 여부 유형 설명
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

다음은 bed, occupancy, priceSpecification와 함께 HotelHotelRoom 속성에 주석을 다는 예입니다.

{
  "@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의 세금 및 수수료를 포함한 객실당 가격입니다.

Google 요금은 항상 방문 페이지에 전체 요금 세부정보와 함께 주석으로 표시되어야 합니다. 요금 세부정보에 주석을 달면 가격 정확성 검사를 완료할 수 있습니다. Google은 호텔 수준 가격과 객실 수준 가격을 모두 허용합니다.

Hotel.Offer.priceSpecification.priceCurrency Required currency 지정된 가격의 3자리 통화 코드입니다. 예: "USD"
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

HotelRoomProduct에 연결된 혜택이 적용된 호텔 객실 및 숙박 인원의 세금 및 수수료를 포함한 총 가격 세부정보입니다. 가격 구조화 데이터에는 두 가지 유형이 있습니다.

  • CompoundPriceSpecification는 다음을 포함하는 가격 세부정보를 제공합니다.

    • 기본 요금: 1박당 기본 가격

    • 숙박당 세금: 세금을 포함한 1박당 가격입니다.

    • 숙박인당 요금: 숙박인당 1박당 가격입니다.

      occupancy는 특정 Offer이 아닌 HotelRoom의 명시적 속성입니다. 요금은 요청된 숙박 인원에 대해서만 태그해야 합니다.

    • 할인: 공제 금액입니다.

  • 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

이 속성은 식사 옵션, 발레파킹 서비스 등 호텔 또는 객실에서 제공되는 요금별 서비스를 주석으로 처리하는 데 사용됩니다. Hotel 또는 HotelRoom 속성에서 includesObject에 주석을 달 수 있습니다.

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

구문

includesObject에는 방에서 사용할 수 있는 요금별 서비스에 관한 다음 구문이 있습니다.

JSON-LD

{
  "@context": "https://schema.org",
  ...
  "@type": ["HotelRoom", "Product"],
  ...
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency"
    },
    "includesObject": [
      {
        "@type": "TypeAndQuantityNode",
        "typeOfGood": {
          "@type": "Service",
          "name": "Valet"
        }
      },
      {
        "@type": "TypeAndQuantityNode",
        "amountOfThisGood": "float",
        "unitText": "currency",
        "typeOfGood": {
          "@type": "FoodService",
          "name": "MealCredit"
        }
      }
    ]
  }
}

속성

includesObject에는 다음과 같은 속성이 있습니다.

속성 필수 여부 유형 설명
Offer.includesObject Optional TypeAndQuantityNode

호텔 또는 객실에서 제공되는 서비스입니다.

요금별 기능은 includesObject 속성에 포함됩니다. "TypeAndQuantityNode.typeOfGood"의 이름 필드는 발렛 또는 식사 서비스와 같은 서비스 유형을 나타내는 데 사용해야 합니다.

요금별 기능은 기본 수준 혜택에 포함될 수도 있고 추가 가격의 부가기능으로 지정될 수도 있습니다.

includesObject에는 다음과 같이 TypeAndQuantityNode 유형의 값이 필요합니다.

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

서비스

다음은 발레파킹 및 음식 서비스의 요금별 기능에 관한 기본 예시입니다. 요금별 기능은 "Offer.includesObject" 속성으로 지정해야 합니다. "TypeAndQuantityNode.typeOfGood"의 이름 필드는 서비스 유형을 나타내는 데 사용해야 합니다.

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

숙박 시설 availability

offer.availability 속성은 호텔 객실의 매진된 여정을 주석 처리하는 데 사용됩니다.

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

구문

availability 속성에는 다음 구문이 있습니다.

JSON-LD

{
  "@context": "https://schema.org",
  ...
  "@type": ["HotelRoom", "Product"],
  "name": "room-type",
  "identifier": "hotel-room-id-1234",
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/SoldOut"
  }
}

속성

availability 속성은 다음과 같습니다.

속성 필수 여부 유형 설명
Offer.availability Optional ItemAvailability

호텔 또는 객실의 예약 가능 여부입니다.

요금은 schema.org/Offer에서 추출되며 요금 정보는 schema.org/Hotel 또는 schema.org/HotelRoom를 사용하여 생성되지 않습니다. 즉, 매진된 일정에도 혜택이 있어야 합니다.

priceSpecification이 없는 혜택은 사용할 수 없는 것으로 간주됩니다. 사용할 수 없는 혜택은 "Offer.availability= https://schema.org/SoldOut"로 지정해야 합니다.

유효한 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
      }
    ]
  }
}

구문

amenityFeaturecontainsPlace 속성의 구문은 다음과 같습니다.

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