Tài liệu tham khảo về dữ liệu có cấu trúc về giá khách sạn

Trang này cung cấp quy cách kỹ thuật và tài liệu tham khảo về từ vựng cho mã đánh dấu dữ liệu có cấu trúc về khách sạn trên Schema.org.

Tổng quan

Dữ liệu có cấu trúc về giá khách sạn cung cấp một định dạng chuẩn mà máy có thể đọc được để giải thích, xác thực và hiển thị giá khách sạn được đăng trên trang web của bạn, bất kể bố cục trực quan của bạn. Trong đó có giá cơ bản, mức giá, thông số kỹ thuật của phòng, các khoản phí và thuế được liệt kê, cũng như chính sách đặt phòng.

Google khuyên bạn nên chú thích các trang trên trang web bằng dữ liệu có cấu trúc chuẩn do Schema.org cung cấp để trích xuất chính xác giá từ các trang trên trang web của bạn.

Dữ liệu có cấu trúc tiêu chuẩn cho phép mở rộng quy trình xác thực độ chính xác về giá bằng cách cải thiện độ tin cậy của trình thu thập thông tin, tăng số lượt xác thực độ chính xác về giá, cho phép gỡ lỗi trực tiếp các vấn đề về độ chính xác về giá và duy trì điểm số nhất quán về độ chính xác về giá.

Nếu mới làm quen với dữ liệu có cấu trúc, hãy tìm hiểu thêm về từ vựng và định dạng dữ liệu có cấu trúc.

Theo mặc định, Google Khách sạn đề xuất định dạng Vi dữ liệu để chú thích các trang trên trang web của bạn nhằm kiểm tra độ chính xác về giá của khách sạn. Định dạng JSON-LD không được dùng nữa để xác thực độ chính xác về giá. Xin lưu ý rằng đề xuất này chỉ áp dụng cho quy trình xác thực độ chính xác về giá khách sạn và không ảnh hưởng đến các trường hợp sử dụng khác của dữ liệu có cấu trúc trên Google (chẳng hạn như kết quả nhiều định dạng trên Google Tìm kiếm). Để tìm hiểu thêm về các định dạng được hỗ trợ cho các tính năng chung của Tìm kiếm, hãy xem các định dạng được hỗ trợ. Tài liệu này cung cấp nội dung tham khảo chi tiết dành riêng cho việc triển khai dữ liệu có cấu trúc trong Khách sạn.

Dữ liệu có cấu trúc Hotel được dùng để chú thích các trường dành riêng cho khách sạn trong trang web của bạn. Dữ liệu có cấu trúc Hotel có các thuộc tính sau:

Dữ liệu có cấu trúc HotelRoom được dùng để chú thích các trường dành riêng cho phòng trong trang web của bạn.

Dữ liệu có cấu trúc HotelRoom có các thuộc tính sau:

Thuộc tính điều hướng được dùng để giải thích các phần tử tương tác và trạng thái trang cho trình thu thập thông tin. Để biết thêm thông tin, hãy xem phần gắn thẻ điều hướng.

Dữ liệu có cấu trúc về khách sạn

Các thuộc tính sau đây áp dụng cho thực thể Khách sạn.

Các thuộc tính nameaddress

Các thuộc tính nameaddress được dùng để chú thích tên và vị trí của khách sạn. Sau đây là các thuộc tính 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."
    },

Cú pháp

Các thuộc tính nameaddress sử dụng cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">hotel-name</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <span itemprop="streetAddress">1234 Main St.</span>,
    <span itemprop="addressLocality">City Name</span>,
    <span itemprop="addressRegion">State Name</span>
    <span itemprop="postalCode">01234</span>
    <span itemprop="addressCountry">XX</span>
  </div>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là các thuộc tính nameaddress:

Thuộc tính Bắt buộc? Loại Mô tả
Hotel.name Required string Tên khách sạn
Hotel.identifier Required string

Mã khách sạn của đối tác.

Giá trị nhận dạng phải là một chuỗi riêng biệt cho mỗi khách sạn và phải khớp chính xác với chuỗi được dùng trong nguồn cấp dữ liệu giá.

Hotel.address Optional PostalAddress Địa chỉ hoặc vị trí của khách sạn.

Ví dụ về tên và địa chỉ

Sau đây là ví dụ cơ bản về cách thêm chú giải nameaddress:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <h1 itemprop="name">Mountain Hotel</h1>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <span itemprop="streetAddress">Technikerstrasse 21</span>,
    <span itemprop="addressLocality">Innsbruck</span>,
    <span itemprop="addressRegion">Tyrol</span>
    <span itemprop="postalCode">6020</span>
    <span itemprop="addressCountry">AT</span>
  </div>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản makesOffer

Chú thích makesOffer được dùng để đánh dấu hành trình lưu trú tại khách sạn.

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

Cú pháp

Thuộc tính makesOffer sử dụng cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">hotel-name</span>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
    Check-out: <time itemprop="checkoutTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
    <meta itemprop="availability" content="https://schema.org/InStock"/>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      ...
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là các thuộc tính makesOffer:

Thuộc tính Bắt buộc? Loại Mô tả
makesOffer Required Offer and LodgingReservation

(Các) ưu đãi của khách sạn cho hành trình đã biết.

Thuộc tính makesOffer có thể chứa một mảng các mặt hàng.

LodgingReservation.checkinTime Required DateTime

Thời gian nhận phòng theo múi giờ của người dùng. Nếu múi giờ của bạn không được đề cập, thì múi giờ của khách sạn sẽ được xem xét.

LodgingReservation.checkoutTime Required DateTime

Thời gian trả phòng theo múi giờ của người dùng. Nếu múi giờ của bạn không được đề cập, thì múi giờ của khách sạn sẽ được xem xét.

Ví dụ về makesOffer

Sau đây là một ví dụ cơ bản để chú thích các sản phẩm khách sạn. Bạn có thể chỉ định nhiều ưu đãi cho một hành trình nhưng trước tiên, bạn nên chỉ định mức giá mà Google hiển thị, sau đó là các mức giá khác. Số tiền của giá mà bạn chỉ định đã bao gồm tất cả các khoản thuế hiện hành.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">Mountain Hotel</span>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
    </div>
  </div>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1200.74</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản Hotel priceSpecification

Thuộc tính này được dùng để chú thích thông tin về giá cho khách sạn hoặc phòng khách sạn. Bạn cần có thêm 2 thuộc tính để chú thích giá và thuế. Bạn nên sử dụng CompoundPriceSpecification để chỉ định tổng thông tin về giá, chẳng hạn như mức cơ bản, thuế và chiết khấu. Sử dụng UnitPriceSpecification để chỉ định các loại thuế bổ sung hoặc các loại phí đặc biệt, chẳng hạn như ResortFee, GenericTaxServiceFee. Thuộc tính priceSpecification được đi kèm với thuộc tính Offer.

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

Cú pháp

Thuộc tính Hotel priceSpecification sử dụng cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">hotel-name</span>
  ...
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name"></span>
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
        <meta itemprop="priceComponentType" content="GenericTax"/>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Discount</span>
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
        <meta itemprop="priceComponentType" content="Discount"/>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là các thuộc tính hotel priceSpecification:

Thuộc tính Bắt buộc? Loại Mô tả
Hotel.Offer.priceSpecification.price Required float

Tổng giá bao gồm thuế và phí của khách sạn.

Bạn phải luôn chú thích giá của Google trên trang đích cùng với thông tin chi tiết đầy đủ về giá. Việc chú thích thông tin chi tiết về giá giúp bạn hoàn tất quy trình kiểm tra độ chính xác về giá. Google chấp nhận cả giá ở cấp khách sạn và giá ở cấp phòng.

Hotel.Offer.priceSpecification.priceCurrency Required currency Mã đơn vị tiền tệ gồm ba chữ cái cho mức giá đã chỉ định. Ví dụ: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Bảng giá chi tiết bao gồm cả thuế và phí của khách sạn. Có hai loại dữ liệu có cấu trúc về giá:

  • CompoundPriceSpecification cung cấp thông tin chi tiết về giá, bao gồm:

    • Giá cơ sở: Giá cơ bản mỗi đêm

    • Thuế cho mỗi lượt lưu trú: Giá mỗi đêm đã bao gồm thuế.

    • Phí tính theo người lưu trú: Giá mỗi đêm cho mỗi người lưu trú.

    • Chiết khấu: Số tiền khấu trừ.

  • UnitPriceSpecification được dùng để chỉ định loại phí. Bạn nên thêm giá trị PriceComponentTypeEnumeration để chỉ định các khoản phí bổ sung.

    Các giá trị cho PriceComponentTypeEnumeration là:

    • Discount: Chiết khấu chung cho giá.

    • ResortFee: Đây là khoản phí bổ sung mà bạn phải trả tại khách sạn. Thời gian này có thể thay đổi tuỳ theo loại cơ sở lưu trú.

    • GenericTax: Đây là một khoản thuế bổ sung khác.

    • ServiceFee: Đây là khoản phí bổ sung do kênh đặt phòng tính.

    • TransferFee: Đây là khoản phí bắt buộc trên thực tế để di chuyển đến khách sạn, do khách sạn hoặc kênh đặt phòng thu.

Bạn phải đặt các giá trị trong thuộc tính priceComponentType . Bạn phải cung cấp tất cả giá trị nếu chọn thêm UnitPriceSpecification và phải chỉ định trong thuộc tính UnitPriceSpecification.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Điểm thanh toán của khách sạn.Quy trình thanh toán của khách sạn bao gồm giá được tính trong thời gian trả phòng trên trang web đặt phòng và tại khách sạn trong thời gian nhận phòng.

Bạn nên sử dụng thuộc tính potentialAction được đi kèm với trường "recipient" của PayAction để cho biết điểm thanh toán. Tham khảo PayAction để tìm hiểu thêm về thuộc tính recipient.

Google hỗ trợ 2 chế độ cài đặt sau đây cho người nhận PayAction:

  • recipient.@type = "OnlineBusiness" là khoản thanh toán mà người bán trực tuyến thu tại thời điểm đặt phòng. Đây là chế độ cài đặt mặc định nếu bạn không chỉ định potentialAction.

  • recipient.@type = "Hotel" là khoản thanh toán được thu tại khách sạn.

Ví dụ

Sau đây là ví dụ về quy cách giá khách sạn.

Giá

Sau đây là ví dụ cơ bản về cách thêm dữ liệu có cấu trúc về giá vào trang web của bạn. Bạn có thể thêm nhiều ưu đãi ở cấp khách sạn vào thuộc tính makesOffer.

Các loại PostalAddress như addressCountry, postalCode, streetAddress và các trường khác là bắt buộc nếu bạn chọn chỉ định thuộc tính address. Giá do Google hiển thị phải được liệt kê đầu tiên trong thuộc tính makesOffer. Số tiền giá mà bạn chỉ định đã bao gồm tất cả các khoản thuế hiện hành.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">ACME Hotel</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <span itemprop="streetAddress">Technikerstrasse 21</span>,
    <span itemprop="addressLocality">Innsbruck</span>,
    <span itemprop="addressRegion">Tyrol</span>
    <span itemprop="postalCode">6020</span>
    <span itemprop="addressCountry">AT</span>
  </div>

  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
    </div>
  </div>

  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1200.74</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Bảng chi tiết về giá

Sau đây là ví dụ về thuộc tính priceSpecification có bảng chi tiết về giá. Mức cơ bản, các loại thuế như thuế chung và chiết khấu được xác định bằng thành phần UnitPriceSpecification. Hãy nhớ đặt trường priceComponentType bằng các giá trị tương ứng với thành phần UnitPriceSpecification.

Bạn nên chỉ định tổng giá cho thời gian lưu trú trong thuộc tính CompoundPriceSpecification. Bạn nên chỉ định bảng chi tiết giá trong thuộc tính priceComponent.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <h1 itemprop="name">ACME Hotel</h1>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <span itemprop="streetAddress">123 Main street</span>,
    <span itemprop="addressLocality">Mountain View</span>,
    <span itemprop="addressRegion">Santa Clara</span>
    <span itemprop="postalCode">94040</span>
    <span itemprop="addressCountry">US</span>
  </div>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      Total Price: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>

      <!-- Price Components -->
      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Base Rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
        <meta itemprop="priceComponentType" content="GenericTax" />
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Discount</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">-100</span>
        <meta itemprop="priceComponentType" content="Discount" />
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Điểm thanh toán

Sau đây là ví dụ về quy cách potentialAction khi sử dụng loại người nhận của PayAction.

Tổng giá của gói là 11.700.000 VND và trang web trực tuyến tính một phần của tổng giá là 11.500.000 VND tại thời điểm đặt phòng được chỉ định bằng "@type": "OnlineBusiness" và người dùng phải thanh toán 200.000 VND còn lại tại thời điểm nhận phòng tại khách sạn được chỉ định bằng @type": "Hotel".

Bạn phải chỉ định thành phần potentialAction để chia nhỏ khoản thanh toán tại thời điểm đặt phòng và tại khách sạn. Nếu bạn không chỉ định, thì payAction sẽ coi khoản thanh toán tại thời điểm đặt phòng là phương thức thanh toán mặc định.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">ACME Hotel</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      Price Due: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1170</span>

      <!-- Paid Online -->
      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
        <div itemprop="potentialAction" itemscope itemtype="https://schema.org/PayAction">
          <div itemprop="recipient" itemscope itemtype="https://schema.org/OnlineBusiness">
            <span itemprop="name">myonlinebusiness</span>
          </div>
        </div>
      </div>

      <!-- Paid at Hotel -->
      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">20</span>
        <div itemprop="potentialAction" itemscope itemtype="https://schema.org/PayAction">
          <div itemprop="recipient" itemscope itemtype="https://schema.org/Hotel">
            <span itemprop="name">The Langham, Boston</span>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản hasMerchantReturnPolicy

Thuộc tính này được dùng để chú thích chính sách hoàn tiền của người bán trong hành trình.

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

Cú pháp

hasMerchantReturnPolicy có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  ...
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
    <div itemprop="hasMerchantReturnPolicy" itemscope itemtype="https://schema.org/MerchantReturnPolicy">
      <link itemprop="returnPolicyCategory" href="https://schema.org/MerchantReturnFiniteReturnWindow"/>
      <link itemprop="refundType" href="https://schema.org/FullRefund"/>
      <meta itemprop="merchantReturnDays" content="YYYY-MM-DDTHH:mm:ss"/>
      <meta itemprop="restockingFee" content="0"/>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là thuộc tính hasMerchantReturnPolicy:

Thuộc tính Bắt buộc? Loại Mô tả
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Chính sách hoàn tiền của người bán. Đối tác nên sử dụng MerchantReturnPolicy.restockingFee để cho biết chính sách huỷ không hoàn lại toàn bộ số tiền cho thời gian lưu trú.

Nếu bạn không chỉ định hoặc để trống hasMerchantReturnPolicy, thì hệ thống sẽ giả định rằng số tiền không hoàn lại. Bạn có thể chỉ định chính sách không hoàn tiền bằng thuộc tính returnPolicyCategory: MerchantReturnNotPermitted.

Ví dụ về chính sách trả lại hàng

Sau đây là ví dụ cơ bản về dữ liệu có cấu trúc cho một khách sạn có thông tin chi tiết về phòng và tổng giá bao gồm thuế và phí. Ví dụ này biểu thị một lượt lưu trú có thể huỷ mà không bị tính phí cho đến 11 giờ tối (giờ UTC) ngày 18 tháng 12 năm 2023. Đối tác nên sử dụng "MerchantReturnPolicy.restockingFee" để cho biết chính sách huỷ không hoàn lại toàn bộ số tiền lưu trú. Giá trị mặc định của restockingFee là 0 đô la Mỹ.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">ACME Hotel</span>
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
    <div itemprop="hasMerchantReturnPolicy" itemscope itemtype="https://schema.org/MerchantReturnPolicy">
      <link itemprop="returnPolicyCategory" href="https://schema.org/MerchantReturnFiniteReturnWindow"/>
      <link itemprop="refundType" href="https://schema.org/FullRefund"/>
      Cancellation Deadline: <time itemprop="merchantReturnDays" content="2023-12-18T23:00:00">2023-12-18 23:00:00</time>
      Fee: $<span itemprop="restockingFee">0</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản eligibleCustomerType

Bạn có thể dùng thuộc tính này để chú thích các chương trình phần thưởng dành cho khách hàng là thành viên của khách sạn.

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

Cú pháp

Thuộc tính eligibleCustomerType có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  ...
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <meta itemprop="eligibleCustomerType" content="RewardsMember"/>
    ...
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là thuộc tính eligibleCustomerType:

Thuộc tính Bắt buộc? Loại Mô tả
Offer.eligibleCustomerType Optional BusinessEntityType

Chương trình khách hàng thân thiết hoặc phần thưởng dành cho thành viên mà khách hàng được hưởng.

Nhiều trang khách sạn hiển thị giá dành cho thành viên cùng với giá công khai để khuyến khích người dùng đăng ký chương trình khách hàng thân thiết. Bạn có thể chỉ định giá chỉ dành cho một số đối tượng nhất định, chẳng hạn như giá dành cho thành viên, bằng cách đặt thuộc tính Offer.eligibleCustomerType.

Ví dụ

Sau đây là ví dụ về giá dành cho thành viên chương trình phần thưởng.

Giá dành cho thành viên

Sau đây là ví dụ cơ bản về quy cách giá dành cho thành viên hoặc giá có chiết khấu cho chương trình khách hàng thân thiết. Khách hàng là "thành viên chương trình phần thưởng" của khách sạn.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">ACME Hotel</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <!-- Address details -->
  </div>

  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <span itemprop="name">RewardsMember</span>
    <meta itemprop="eligibleCustomerType" content="RewardsMember"/>

    Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1342.74</span>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1069.98</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Giá dành cho thành viên và giá thông thường

Đây là ví dụ về cả chú thích giá thông thường và giá dành cho thành viên. Giá dành cho thành viên được liệt kê trước, sau đó là giá thông thường.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">ACME Hotel</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <!-- Address details -->
  </div>

  <!-- Member Rate -->
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <span itemprop="name">RewardsMember</span>
    <meta itemprop="eligibleCustomerType" content="RewardsMember"/>

    Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1342.74</span>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1069.98</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="currency">$</span><span itemprop="price">172.74</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
      </div>
    </div>
  </div>

  <!-- Regular Rate -->
  <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <span itemprop="name">regularRate</span>

    Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1572.24</span>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1369.98</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="currency">$</span><span itemprop="price">202.26</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Dữ liệu có cấu trúc HotelRoom

Các thuộc tính sau đây áp dụng cho thực thể HotelRoom.

Tài sản offers

Chú thích offers được dùng để đánh dấu hành trình của phòng. Bạn nên sử dụng thuộc tính offers cho quy cách HotelRoom.

"offers": {
  "@type": ["Offer", "LodgingReservation"],
  "identifier": "hotel-room-id-1234",
  "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
  "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
  "priceSpecification": {...}
}

Cú pháp

Thuộc tính offers có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom">
  <meta itemprop="identifier" content="hotel-room-id-1234"/>
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
    Check-out: <time itemprop="checkoutTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
      ...
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là các thuộc tính offers:

Thuộc tính Bắt buộc? Loại Mô tả
offers Required Offer and LodgingReservation

Quy cách về giá phòng cho hành trình đã biết.

Thuộc tính offers có thể chứa một mảng các sản phẩm.

LodgingReservation.checkinTime Required DateTime

Giờ nhận phòng theo múi giờ của người dùng. Nếu múi giờ của bạn không được đề cập, thì múi giờ của khách sạn sẽ được xem xét.

LodgingReservation.checkoutTime Required DateTime

Thời gian trả phòng theo múi giờ của người dùng. Nếu múi giờ của bạn không được đề cập, thì múi giờ của khách sạn sẽ được xem xét.

Ví dụ về offers

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom">
  <meta itemprop="identifier" content="hotel-room-id-1234"/>
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính bedoccupancy

Thuộc tính bed được dùng để chú thích loại giường và số lượng giường có trong phòng. Thuộc tính occupancy được dùng để chú thích số lượng khách trong phòng. Bạn có thể chỉ định các thuộc tính bedoccupancy bằng thuộc tính 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"
  }
}

Cú pháp

Các thuộc tính bedoccupancy có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">hotel-name</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
    <span itemprop="name">room-name</span>
    <meta itemprop="identifier" content="hotel-room-id-1234"/>

    <!-- Bed Details -->
    <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
      <span itemprop="numberOfBeds">integer</span>
      <span itemprop="typeOfBed">KING</span>
    </div>

    <!-- Occupancy -->
    <div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
      Occupancy: <span itemprop="value">integer</span>
    </div>

    <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
      ...
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Bạn chỉ có thể đặt các thuộc tính bedoccupancy bằng cách sử dụng thuộc tính HotelRoom. Bạn có thể thêm thông tin cụ thể về phòng, bao gồm cả giá ở cấp phòng, vào thuộc tính Hotel thông qua thuộc tính containsPlace. Tham khảo ví dụ về quy cách HotelHotelRoom.

Thuộc tính

Sau đây là các thuộc tính bedoccupancy:

Thuộc tính Bắt buộc? Loại Mô tả
HotelRoom.bed Optional (Recommended) bed

Loại giường có trong cơ sở lưu trú và số lượng người lưu trú trong phòng.

Sau đây là các giá trị được hỗ trợ:

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

Số lượng khách trong phòng khách sạn. Loại cho số người cư trú là QuantitativeValue.

Số người lưu trú là một thuộc tính rõ ràng của HotelRoom, không phải của một Offer cụ thể. Bạn chỉ nên gắn thẻ giá cho số người lưu trú được yêu cầu.

containsPlace Optional (Recommended) LocationFeatureSpecification

Thuộc tính này được dùng để chú thích giá ở cấp phòng liên kết với các phòng cụ thể. Bạn cũng có thể dùng thuộc tính này để chỉ định các tiện nghi trong phòng.

Tìm hiểu thêm về cách sử dụng containsPlace trong thuộc tính amenityFeature.

Ví dụ

Sau đây là ví dụ về quy cách giường và số người lưu trú.

Ví dụ về HotelRoom

Sau đây là ví dụ cơ bản về giường và số người lưu trú cho một quy cách phòng.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  <meta itemprop="identifier" content="hotel-room-id-1234"/>
  <span itemprop="name">Deluxe Room, 1 King Bed</span>

  <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
    <span itemprop="numberOfBeds">1</span>
    <span itemprop="typeOfBed">KING</span>
  </div>
  <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
    <span itemprop="numberOfBeds">1</span>
    <span itemprop="typeOfBed">SINGLE</span>
  </div>

  <div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
    Occupancy: <span itemprop="value">2</span>
  </div>

  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Ví dụ về HotelHotelRoom

Sau đây là ví dụ về cách chú thích các thuộc tính HotelHotelRoom cùng với bed, occupancypriceSpecification.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">hotel-name</span>
  <meta itemprop="identifier" content="hotel-id-1234"/>

  <div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
    <span itemprop="name">Deluxe Room, 1 King Bed</span>
    <meta itemprop="identifier" content="hotel-room-id"/>

    <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
      <span itemprop="numberOfBeds">1</span>
      <span itemprop="typeOfBed">KING</span>
    </div>

    <div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
      Occupancy: <span itemprop="value">2</span>
    </div>

    <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
      <span itemprop="name">Minibar</span>
      <meta itemprop="value" content="true"/>
    </div>

    <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
      <meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
      Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
      Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
      <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản HotelRoom priceSpecification

Quy cách về giá phòng khách sạn tương tự như quy cách về giá khách sạn.Điểm khác biệt là giá phòng được chỉ định bằng thuộc tính Product.offers thay vì thuộc tính Hotel.makesOffer.

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

Cú pháp

Thuộc tính priceSpecification cho phòng khách sạn có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  ...
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name"></span>
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
        <meta itemprop="priceComponentType" content="GenericTax"/>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Discount</span>
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
        <meta itemprop="priceComponentType" content="Discount"/>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là các thuộc tính HotelRoom priceSpecification:

Thuộc tính Bắt buộc? Loại Mô tả
Hotel.Offer.priceSpecification.price Required float

Giá mỗi phòng bao gồm thuế và phí cho Product.

Bạn phải luôn chú thích giá của Google trên trang đích cùng với thông tin chi tiết đầy đủ về giá. Việc chú thích thông tin chi tiết về giá giúp bạn hoàn tất quy trình kiểm tra độ chính xác về giá. Google chấp nhận cả giá ở cấp khách sạn và giá ở cấp phòng.

Hotel.Offer.priceSpecification.priceCurrency Required currency Mã đơn vị tiền tệ gồm ba chữ cái cho mức giá đã chỉ định. Ví dụ: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Bảng giá chi tiết bao gồm thuế và phí cho phòng khách sạn và số người lưu trú có các ưu đãi được liên kết với HotelRoomProduct. Có hai loại dữ liệu có cấu trúc về giá:

  • CompoundPriceSpecification cung cấp thông tin chi tiết về giá, bao gồm:

    • Giá cơ sở: Giá cơ bản mỗi đêm

    • Thuế cho mỗi lượt lưu trú: Giá mỗi đêm đã bao gồm thuế.

    • Phí tính theo người lưu trú: Giá mỗi đêm cho mỗi người lưu trú.

      occupancy là một thuộc tính tường minh của HotelRoom, không phải cho một Offer cụ thể. Bạn chỉ nên gắn thẻ giá cho số người lưu trú được yêu cầu.

    • Chiết khấu: Số tiền khấu trừ.

  • UnitPriceSpecification được dùng để chỉ định loại phí. Bạn nên thêm giá trị PriceComponentTypeEnumeration để chỉ định các khoản phí bổ sung.

    Các giá trị cho PriceComponentTypeEnumeration là:

    • Discount: Chiết khấu chung cho giá.

    • ResortFee: Đây là khoản phí bổ sung mà bạn phải thanh toán tại khách sạn. Thời gian này có thể thay đổi tuỳ theo loại cơ sở lưu trú.

    • GenericTax: Đây là một khoản thuế bổ sung khác.

    • ServiceFee: Đây là khoản phí bổ sung do kênh đặt phòng tính.

    Bạn phải đặt các giá trị trong thuộc tính name của UnitPriceSpecification. Bạn phải cung cấp tất cả các giá trị nếu chọn thêm thông tin chi tiết về giá và phải chỉ định trong thành phần UnitPriceSpecification.

Ví dụ

Sau đây là ví dụ về quy cách giá HotelRoom.

Ví dụ về tổng giá phòng

Sau đây là ví dụ cơ bản về cách xác định tổng giá cho thời gian lưu trú và giá theo số người lưu trú.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  <span itemprop="name">Deluxe Room King, 1 Single Bed</span>
  <meta itemprop="identifier" content="hotel-room-id-1234"/>

  <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
    <span itemprop="numberOfBeds">1</span>
    <span itemprop="typeOfBed">KING</span>
  </div>
  <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
    <span itemprop="numberOfBeds">1</span>
    <span itemprop="typeOfBed">SINGLE</span>
  </div>

  <div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
    Occupancy: <span itemprop="value">2</span>
  </div>

  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1232.74</span>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Ví dụ về bảng chi tiết giá phòng

Sau đây là ví dụ về giá theo phòng hoặc gói. Bảng chi tiết giá được xác định cho loại phòng, chẳng hạn như phòng Deluxe và loại bedoccupancy, chẳng hạn như giường KINGSINGLE, cũng như số người lưu trú là 2 khách lưu trú.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  <span itemprop="name">Deluxe Room King, 1 Single Bed</span>
  <meta itemprop="identifier" content="hotel-room-id-1234"/>

  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>

    <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
      <span itemprop="numberOfBeds">1</span>
      <span itemprop="typeOfBed">KING</span>
    </div>
    <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
      <span itemprop="numberOfBeds">1</span>
      <span itemprop="typeOfBed">SINGLE</span>
    </div>

    <div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
      Occupancy: <span itemprop="value">2</span>
    </div>

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
        <meta itemprop="priceComponentType" content="GenericTax"/>
      </div>

      <div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
        <span itemprop="name">Discount</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">-100</span>
        <meta itemprop="priceComponentType" content="Discount"/>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản includesObject

Thuộc tính này dùng để chú thích các dịch vụ theo mức giá cụ thể được cung cấp trong khách sạn hoặc phòng, chẳng hạn như các lựa chọn bữa ăn và dịch vụ đỗ xe. Bạn có thể chú thích includesObject trong thuộc tính Hotel hoặc HotelRoom.

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

Cú pháp

includesObject có cú pháp sau đây cho các dịch vụ theo mức giá cụ thể có trong phòng:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  ...
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
    <div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
      <div itemprop="typeOfGood" itemscope itemtype="https://schema.org/Service">
        <span itemprop="name">Valet</span>
      </div>
    </div>

    <div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
      <meta itemprop="amountOfThisGood" content="float"/>
      <meta itemprop="unitText" content="currency"/>
      <div itemprop="typeOfGood" itemscope itemtype="https://schema.org/FoodService">
        <span itemprop="name">MealCredit</span>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

includesObject có thuộc tính sau:

Thuộc tính Bắt buộc? Loại Mô tả
Offer.includesObject Optional TypeAndQuantityNode

Các dịch vụ được cung cấp trong khách sạn hoặc phòng.

Các tính năng dành riêng cho mức giá được cung cấp bằng thuộc tính includesObject. Bạn nên sử dụng trường tên trên "TypeAndQuantityNode.typeOfGood" để cho biết loại dịch vụ, chẳng hạn như dịch vụ đỗ xe hoặc dịch vụ bữa ăn.

Các tính năng dành riêng cho mức giá cũng có thể được đưa vào các ưu đãi ở cấp cơ bản hoặc có thể được chỉ định là gói bổ sung với mức giá bổ sung.

includesObject yêu cầu một giá trị thuộc kiểu TypeAndQuantityNode như sau:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Ví dụ về includesObject

Sau đây là ví dụ cơ bản về các tính năng theo đơn giá cụ thể cho dịch vụ đỗ xe và dịch vụ ăn uống. Bạn nên chỉ định các tính năng dành riêng cho mức giá bằng thuộc tính Offer.includesObject. Bạn nên dùng trường tên trên TypeAndQuantityNode.typeOfGood để cho biết loại dịch vụ.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  <span itemprop="name">Deluxe Room, 1 King Bed</span>
  <meta itemprop="identifier" content="hotel-room-id-1234"/>

  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    <meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
    </div>

    <!-- Included Services -->
    <div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
      <div itemprop="typeOfGood" itemscope itemtype="https://schema.org/Service">
        <span itemprop="name">Valet</span>
      </div>
    </div>

    <div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
      <meta itemprop="amountOfThisGood" content="50"/>
      <meta itemprop="unitText" content="USD"/>
      <div itemprop="typeOfGood" itemscope itemtype="https://schema.org/FoodService">
        <span itemprop="name">MealCredit</span>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản availability

Thuộc tính offer.availability được dùng để chú thích các hành trình đã bán hết cho phòng khách sạn.

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

Cú pháp

Thuộc tính availability có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  ...
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    ...
    <meta itemprop="availability" content="https://schema.org/SoldOut"/>
    Sold Out
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Thuộc tính

Sau đây là thuộc tính availability:

Thuộc tính Bắt buộc? Loại Mô tả
Offer.availability Optional ItemAvailability

Tình trạng còn phòng của khách sạn hoặc phòng.

Tỷ lệ được trích xuất từ schema.org/Offer và thông tin về tỷ lệ không được tạo bằng schema.org/Hotel hoặc schema.org/HotelRoom. Điều này có nghĩa là ngay cả những hành trình đã bán hết cũng phải có ưu đãi.

Một mặt hàng không có priceSpecification được coi là không có hàng. Bạn phải chỉ định ưu đãi không thể sử dụng là "Offer.availability= https://schema.org/SoldOut".

Bạn không cần chỉ định Offer.availability nếu ưu đãi được chú thích bằng priceSpecification. hợp lệ

Ví dụ về availability

Sau đây là một ví dụ cơ bản minh hoạ tình trạng phòng khách sạn không có sẵn. Bạn nên thêm loại giường, số lượng giường và thông tin chi tiết về số người lưu trú cho phòng được chỉ định.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
  <span itemprop="name">Deluxe Room, 1 King Bed</span>
  <meta itemprop="identifier" content="hotel-room-id-1234"/>

  <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
    <span itemprop="numberOfBeds">1</span>
    <span itemprop="typeOfBed">KING</span>
  </div>
  <div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
    <span itemprop="numberOfBeds">1</span>
    <span itemprop="typeOfBed">SINGLE</span>
  </div>

  <div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
    Occupancy: <span itemprop="value">2</span>
  </div>

  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
    Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
    Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
    <meta itemprop="availability" content="https://schema.org/SoldOut"/>
    Sold Out

    <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
      <!-- Price Specification details -->
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tài sản amenityFeature

Bạn có thể chỉ định tiện nghi ở loại Hotel hoặc HotelRoom bằng cách sử dụng thuộc tính amenityFeature. Bạn nên dùng thuộc tính containsPlace để chỉ định các tiện nghi được cung cấp trong phòng.

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

Cú pháp

Thuộc tính amenityFeaturecontainsPlace có cú pháp sau:

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  ...
  <!-- Hotel Amenity -->
  <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
    <span itemprop="name">HotTub</span>
    <div itemprop="hoursAvailable" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
      <time itemprop="opens" content="HH:mm:ss">HH:mm:ss</time>
      <time itemprop="closes" content="HH:mm:ss">HH:mm:ss</time>
    </div>
  </div>

  <div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom">
    <!-- Room Amenity -->
    <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
      <span itemprop="name">Minibar</span>
      <meta itemprop="value" content="boolean"/>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Tiện nghi

Các tiện nghi sau đây được cho phép và xác định trong thuộc tính name.

Thuộc tính Bắt buộc? Loại Mô tả
amenityFeature.AC Optional boolean Cơ sở lưu trú có máy điều hoà không khí hay không.
amenityFeature.AirportShuttle Optional boolean Cơ sở lưu trú có cung cấp dịch vụ đưa đón đến sân bay và các nhà ga khác hoặc theo chiều ngược lại hay không.
amenityFeature.Balcony Optional boolean Cơ sở lưu trú có ban công hay không.
amenityFeature.BeachAccess Optional boolean Cơ sở lưu trú có lối ra bãi biển công cộng gần khuôn viên hay không.
amenityFeature.ChildFriendly Optional boolean Cơ sở lưu trú có phù hợp với trẻ em hay không.
amenityFeature.Crib Optional boolean Cơ sở lưu trú có giường cũi cho trẻ em hay không.
amenityFeature.Elevator Optional boolean Cơ sở lưu trú có thang máy hay không.
amenityFeature.FirePlace Optional boolean Cơ sở lưu trú có lò sưởi hay không.
amenityFeature.FreeBreakfast Optional boolean Cơ sở lưu trú có phục vụ bữa sáng miễn phí cho tất cả khách hay không. Sử dụng các tính năng về giá để cho biết liệu bữa sáng có chỉ được cung cấp trong một số gói giá cụ thể hay không.
amenityFeature.GymFitnessEquipment Optional boolean Cơ sở lưu trú có phòng tập thể dục hoặc bất kỳ thiết bị thể dục nào hay không.
amenityFeature.Heating Optional boolean Cơ sở lưu trú có hệ thống sưởi ấm hay không.
amenityFeature.HotTub Optional boolean Cơ sở lưu trú có bồn tắm nước nóng hay không.
amenityFeature.InstantBookable Optional boolean Khách có thể đặt phòng tại cơ sở lưu trú ngay lập tức thông qua quy trình thanh toán hay không. Một phương thức khác là chờ phê duyệt.
amenityFeature.IroningBoard Optional boolean Cơ sở lưu trú có bàn là hay không.
amenityFeature.Kitchen Optional boolean Cơ sở lưu trú có bếp hay không.
amenityFeature.Microwave Optional boolean Cơ sở lưu trú có lò vi sóng hay không.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Cơ sở lưu trú có bồn tắm ngoài trời hay không. Nếu được chỉ định ở cấp phòng, thì phòng tắm chỉ dành riêng cho người ở trong phòng.
amenityFeature.OutdoorGrill Optional boolean Cơ sở lưu trú có bếp nướng hay không.
amenityFeature.OvenStove Optional boolean Cơ sở lưu trú có bếp lò hay không.
amenityFeature.Patio Optional boolean Cơ sở lưu trú có sân hiên hay không.
amenityFeature.Pool Optional boolean Cơ sở lưu trú có hồ bơi hay không.
amenityFeature.PrivateBeachAccess Optional boolean Cơ sở lưu trú có lối đi riêng dẫn ra bãi biển dành riêng cho khách lưu trú hay không.
amenityFeature.SelfCheckinCheckout Optional boolean Cơ sở lưu trú có hỗ trợ tính năng tự nhận phòng và trả phòng hay không.
amenityFeature.WasherDryer Optional boolean Cơ sở lưu trú có máy giặt hay không.
amenityFeature.Wifi Optional boolean Cơ sở lưu trú có Wi-Fi hay không.
amenityFeature.Smoking Optional boolean Cơ sở lưu trú có cho phép hút thuốc hay không.
amenityFeature.InternetType Optional Enum

Loại Internet hiện có tại cơ sở lưu trú.

Sau đây là các giá trị được hỗ trợ:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Loại chỗ đỗ xe hiện có tại cơ sở lưu trú.

Sau đây là các giá trị được hỗ trợ:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Loại hồ bơi hiện có tại cơ sở lưu trú.

Sau đây là các giá trị được hỗ trợ:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Cho biết liệu phòng có được thiết kế theo phong cách Nhật Bản hay không.

Sau đây là các giá trị được hỗ trợ:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Số giấy phép của doanh nghiệp sẽ xuất hiện trên cơ sở lưu trú ở một số khu vực trên thế giới. Bạn có thể lặp lại giá trị này và nếu có nhiều giấy phép, bạn nên thêm thông tin về chủ sở hữu hoặc cơ quan cấp phép. Ví dụ: "Paris: 123456ABC"

Thuộc tính

Sau đây là các thuộc tính amenityFeature:

Thuộc tính Bắt buộc? Loại Mô tả
amenityFeature Optional LocationFeatureSpecification

Tiện nghi được cung cấp trong khách sạn hoặc phòng. Bạn có thể chỉ định giá trị này bằng thuộc tính amenityFeature . Khách sạn phải cung cấp các tiện nghi cho tất cả khách lưu trú, bất kể họ chọn gói giá nào. amenityFeature được chỉ định bằng giá trị thuộc tính LocationFeatureSpecification.

Bạn có thể chỉ định tiện nghi ở cấp Hotel hoặc HotelRoom.

containsPlace Optional LocationFeatureSpecification

Tiện nghi được cung cấp trong khách sạn hoặc phòng cho tất cả khách lưu trú. Bạn có thể chỉ định bằng cách sử dụng amenityFeature . Khách sạn phải cung cấp các tiện nghi này cho tất cả khách lưu trú trong phòng, bất kể gói giá mà họ chọn.

Hotel.containsPlace.amenityFeature là những tiện nghi được cung cấp trong khách sạn.

HotelRoom.containsPlace.amenityFeature là những tiện nghi được cung cấp trong phòng.

Ví dụ về tiện nghi

Sau đây là ví dụ cơ bản về một khách sạn có bể bơi mở cửa từ 10:00 đến 22:00 và không có phòng tập thể dục. Phòng khách sạn không hút thuốc và có tủ lạnh nhỏ.

Vi dữ liệu

<div itemscope itemtype="https://schema.org/Hotel">
  <span itemprop="name">ACME Hotel</span>

  <!-- Amenities -->
  <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
    <span itemprop="name">HotTub</span>
    <div itemprop="hoursAvailable" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
      Open from <time itemprop="opens" content="10:00:00">10:00</time>
      to <time itemprop="closes" content="22:00:00">22:00</time>
    </div>
  </div>

  <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
    <span itemprop="name">GymFitnessEquipment</span>:
    <meta itemprop="value" content="false"/> No
  </div>

  <div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom">
    <!-- Room Amenities -->
    <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
      <span itemprop="name">Minibar</span>:
      <meta itemprop="value" content="true"/> Yes
    </div>
    <div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
      <span itemprop="name">Smoking</span>:
      <meta itemprop="value" content="false"/> No
    </div>

    <div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
      <meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
      Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
      Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
      <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
        <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
      </div>
    </div>
  </div>
</div>

JSON-LD (Không dùng nữa)

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

Các thuộc tính HTML5 tuỳ chỉnh có tiền tố data-nav- được dùng để chú thích các phần tử tương tác và khai báo trạng thái trang, cho phép trình thu thập thông tin điều hướng qua quy trình đặt phòng.

Thẻ điều hướng sử dụng cú pháp thuộc tính sau:

Thuộc tính

<body data-nav-stage="stage_name">
  ...
  <button data-nav-criticalpath="true"
          data-nav-interactiontype="CLICK"
          data-nav-interactionorder="1">
    Action
  </button>
  ...
  <button data-nav-close="true">Dismiss</button>
</body>

Sau đây là các thuộc tính điều hướng:

Thuộc tính Giá trị Mô tả
data-nav-stage landing, room-selection, checkout, confirmation Khai báo trạng thái phễu đang hoạt động cho trình thu thập thông tin. Được đính kèm vào <body> hoặc trình bao bọc cấp cao.
data-nav-stage-final true, false Chỉ báo cho trang cuối cùng của luồng (mặc định là false). Nếu không có phần tử nào có data-nav-criticalpath="true" trên một trang, thì trình thu thập thông tin sẽ tự động coi đó là trang cuối cùng của luồng.
data-nav-criticalpath true, false Đánh dấu một phần tử mà trình thu thập dữ liệu PHẢI tương tác để chuyển đến trang đặt phòng ở bước cuối cùng. Nếu không có phần tử nào có data-nav-criticalpath="true" trên một trang, thì trình thu thập dữ liệu sẽ tự động coi đó là trang cuối cùng của luồng.
data-nav-interactiontype CLICK, SELECT Chỉ định thao tác tương tác. CLICK là dành cho các nút/đường liên kết. SELECT dành cho trình đơn thả xuống/nhóm nút chọn.
data-nav-interactionorder integer Cung cấp một trình tự thực thi cho chế độ điều hướng nhiều bước. Số nhỏ hơn sẽ được thực thi trước.
data-nav-close true Đánh dấu các nút đóng trên cửa sổ bật lên, lớp phủ biểu ngữ về cookie hoặc phương thức tăng giá.

Sau đây là ví dụ về việc gắn thẻ điều hướng.

Điều hướng bằng cách nhấp

Sau đây là ví dụ cơ bản về thao tác nhấp để điều hướng khai báo giai đoạn của kênh.

<body data-nav-stage="room-selection" data-nav-stage-final="false">
  <h1>Select Your Room</h1>
  
  <!-- Crawler needs to click this to proceed -->
  <button data-nav-criticalpath="true"
          data-nav-interactiontype="CLICK"
          data-nav-interactionorder="1">
    Select & Proceed
  </button>
</body>

Điều hướng nhiều bước

Sau đây là ví dụ về chế độ điều hướng nhiều bước, bao gồm biểu ngữ về cookie, tính năng hiển thị dạng accordion và lượt nhấp.

<div data-nav-stage="landing" data-nav-stage-final="false">
  <!-- Hotel, LodgingReservation info, and Offer price are expected to be included in this page -->

  <!-- Step 1: Accept cookies -->
  <div class="cookie-banner">
    <p>We use cookies to improve your experience.</p>
    <button data-nav-close="true"
            data-nav-criticalpath="true"
            data-nav-interactiontype="CLICK"
            data-nav-interactionorder="1">Accept cookies</button>
  </div>

  <!-- Step 2: Open accordion to reveal pricing (Crucial for making prices visible in Mobile UIs) -->
  <div data-nav-criticalpath="true"
       data-nav-interactiontype="CLICK"
       data-nav-interactionorder="2"
       class="accordion-header">
    <span>View Room Rates</span>
  </div>


  <!-- Step 3: Book the room -->
  <div class="accordion-content">
    <button data-nav-criticalpath="true"
            data-nav-interactiontype="CLICK"
            data-nav-interactionorder="3">
      Book Now
    </button>
  </div>
</div>

Khai báo trang cuối cùng

Sau đây là ví dụ về cách khai báo trang cuối cùng của quy trình đặt phòng.

<!-- Marks this as the final confirmation page where price is extracted -->
<!-- Hotel, LodgingReservation info, and Offer price are expected to be included in this page -->
<div data-nav-stage="confirmation" data-nav-stage-final="true">
  <h1>Grand View Hotel</h1>
  <!-- Price and other details here -->
</div>