Referensi Data Terstruktur Harga Hotel

Halaman ini memberikan referensi untuk menambahkan markup data terstruktur ke data harga hotel Anda.

Ringkasan

Data terstruktur harga hotel digunakan untuk menjelaskan, memvalidasi, dan menampilkan secara mendetail harga hotel yang tercantum di situs Anda, terlepas dari antarmuka pengguna. Hal ini juga mencakup harga dasar, tarif, kamar, biaya & pajak, dan kolom terkait harga.

Google merekomendasikan partner untuk memberikan anotasi pada halaman web mereka dengan data terstruktur standar yang dapat dibaca mesin untuk crawler; yang disediakan oleh schema.org, untuk meng-scrape harga secara akurat dari halaman web Anda.

Hal ini memungkinkan penskalaan validasi akurasi harga dengan meningkatkan keandalan crawler. Manfaat bagi Anda adalah peningkatan jumlah validasi akurasi harga dan kemampuan untuk men-debug masalah akurasi harga secara langsung, serta memiliki skor akurasi harga yang konsisten.

Jika Anda baru mengenal data terstruktur, pelajari lebih lanjut Kosakata dan format data terstruktur.

Google Hotel merekomendasikan format JSON-LD untuk memberi anotasi pada halaman web Anda. Lihat Format yang didukung untuk mempelajari lebih lanjut format lain yang dapat diterima. Dokumentasi ini memberikan konten referensi mendetail khusus untuk penerapan data terstruktur di Hotel.

Data terstruktur Hotel digunakan untuk memberi anotasi pada kolom khusus hotel di halaman web Anda. Data terstruktur Hotel memiliki properti berikut:

Data terstruktur HotelRoom digunakan untuk memberi anotasi pada kolom khusus kamar di halaman web Anda.

Data terstruktur HotelRoom memiliki properti berikut:

Data terstruktur hotel

Properti name dan address

Properti name dan address digunakan untuk menganotasi nama dan lokasi hotel. Berikut adalah properti name dan address:

  "@type": "Hotel",
    "name": "hotel-name",
    "identifier": "hotel-id-1234",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "XX",
      "addressLocality": "City Name",
      "addressRegion": "State Name",
      "postalCode": "01234",
      "streetAddress": "1234 Main St."
    },

Sintaksis

Properti name dan address menggunakan sintaksis berikut:

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

Properti

Berikut adalah properti name dan address:

Properti Wajib? Jenis Deskripsi
Hotel.name Required string Nama hotel
Hotel.identifier Required string

ID hotel partner.

ID harus berupa string unik per hotel, dan harus sama persis dengan string yang digunakan di feed harga.

Hotel.address Optional PostalAddress Alamat atau lokasi hotel.

Contoh

Nama & alamat

Berikut adalah contoh dasar penambahan anotasi name dan address:

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

Properti makesOffer

Anotasi makesOffer digunakan untuk menandai itinerari hotel Anda.

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

Sintaksis

Properti makesOffer menggunakan sintaksis berikut:

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

Properti

Berikut adalah properti makesOffer:

Properti Wajib? Jenis Deskripsi
makesOffer Required Offer and LodgingReservation

Penawaran hotel untuk itinerari yang ditentukan.

Properti makesOffer dapat berisi array penawaran.

LodgingReservation.checkinTime Required DateTime

Waktu check-in dalam zona waktu pengguna. Jika zona waktu Anda tidak disebutkan, zona waktu hotel akan dipertimbangkan.

LodgingReservation.checkoutTime Required DateTime

Waktu check-out dalam zona waktu pengguna. Jika zona waktu Anda tidak disebutkan, zona waktu hotel akan dipertimbangkan.

Contoh

makesOffer

Berikut adalah contoh dasar untuk menganotasi penawaran hotel Anda. Anda dapat menentukan beberapa penawaran untuk itinerari, tetapi Anda harus menentukan tarif yang ditampilkan di Google terlebih dahulu, diikuti dengan tarif lainnya. Jumlah harga yang ditentukan sudah termasuk semua pajak yang berlaku.

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

Properti Hotel priceSpecification

Properti ini digunakan untuk memberi anotasi pada informasi harga untuk hotel atau kamar hotel Anda. Ada dua properti tambahan yang diperlukan untuk menganotasi harga dan pajak Anda. Anda harus menggunakan CompoundPriceSpecification untuk menentukan informasi harga total seperti tarif dasar, pajak, dan diskon. Gunakan UnitPriceSpecification untuk menentukan pajak tambahan atau jenis biaya khusus seperti ResortFee, GenericTax, dan ServiceFee. Properti priceSpecification digabungkan dengan properti Offer.

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

Sintaksis

Properti Hotel priceSpecification menggunakan sintaksis berikut:

JSON-LD

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

Microdata

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

Properti

Berikut adalah properti hotel priceSpecification:

Properti Wajib? Jenis Deskripsi
Hotel.Offer.priceSpecification.price Required float

Total harga termasuk pajak dan biaya untuk hotel.

Tarif Google harus selalu diberi anotasi di halaman landing Anda bersama dengan detail tarif lengkap Anda. Dengan memberi anotasi pada detail tarif, Anda dapat menyelesaikan pemeriksaan akurasi harga. Google menerima harga tingkat hotel dan tingkat kamar.

Hotel.Offer.priceSpecification.priceCurrency Required currency Kode mata uang tiga huruf untuk harga yang ditentukan. Contoh: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Perincian total harga termasuk pajak dan biaya untuk hotel. Ada dua jenis data terstruktur harga:

  • CompoundPriceSpecification memberikan perincian harga untuk mencakup hal berikut:

    • Tarif dasar: Harga dasar per malam

    • Pajak per menginap: Harga per malam dengan pajak.

    • Biaya per tamu: Harga per malam per hunian.

    • Diskon: Jumlah potongan.

  • UnitPriceSpecification digunakan untuk menentukan jenis biaya. Anda harus menyertakan nilai PriceComponentTypeEnumeration untuk menentukan biaya tambahan.

    Nilai untuk PriceComponentTypeEnumeration adalah:

    • Discount: Diskon umum terhadap harga.

    • ResortFee: Ini adalah biaya tambahan yang harus dibayar di hotel. Hal ini dapat bervariasi berdasarkan jenis properti akomodasi.

    • GenericTax: Ini adalah pajak tambahan lain-lain.

    • ServiceFee: Biaya ini adalah biaya tambahan yang dikenakan oleh channel pemesanan.

    • TransferFee: Biaya ini wajib dibayar untuk transportasi ke hotel, yang dipungut oleh hotel atau saluran pemesanan.

Anda harus menetapkan nilai dalam properti priceComponentType . Semua nilai diperlukan jika Anda memilih untuk menyertakan UnitPriceSpecification dan harus ditentukan dalam properti UnitPriceSpecification.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Tempat pembayaran hotel.Alur pembayaran hotel mencakup harga yang ditagih selama waktu check-out di situs pemesanan dan di hotel selama check-in.

Anda harus menggunakan properti potentialAction yang disertakan dengan kolom "recipient" PayAction untuk menunjukkan titik pembayaran. Lihat PayAction untuk mempelajari properti recipient lebih lanjut.

Google mendukung dua setelan berikut untuk penerima PayAction:

  • recipient.@type = "OnlineBusiness" mengacu pada pembayaran yang dikumpulkan pada saat pemesanan oleh penjual online. Ini adalah setelan default jika potentialAction tidak ditentukan.

  • recipient.@type = "Hotel" mengacu pada pembayaran yang dikumpulkan di hotel.

Contoh

Contoh JSON-LD

Harga

Berikut adalah contoh dasar menambahkan data terstruktur harga ke halaman web Anda. Beberapa penawaran tingkat hotel dapat disertakan dalam properti makesOffer.

Jenis PostalAddress seperti addressCountry, postalCode, streetAddress, dan kolom lainnya wajib diisi jika Anda memilih untuk menentukan properti address. Tarif yang ditampilkan Google harus dicantumkan terlebih dahulu di properti makesOffer. Jumlah harga yang ditentukan sudah termasuk semua pajak yang berlaku.

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

Rincian harga

Berikut adalah contoh properti priceSpecification dengan perincian harga. Tarif dasar, pajak seperti pajak umum dan diskon ditentukan menggunakan komponen UnitPriceSpecification. Jangan lupa untuk menetapkan kolom priceComponentType dengan nilai yang sesuai dengan komponen UnitPriceSpecification.

Harga total untuk lama menginap harus ditentukan dalam properti CompoundPriceSpecification. Perincian harga harus ditentukan dalam properti 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"
        }
      ]
    }
  }
}

Tempat Pembayaran

Berikut adalah contoh spesifikasi potentialAction dalam menggunakan jenis penerima PayAction.

Total harga paket adalah $1.170 dan situs online menagih sebagian total harga, yaitu $1.150 pada saat pemesanan yang ditentukan menggunakan "@type": "OnlineBusiness" dan pengguna harus membayar sisa $20 pada saat check-in di hotel yang ditentukan menggunakan @type": "Hotel".

Anda harus menentukan komponen potentialAction untuk mengelompokkan pembayaran pada saat pembuatan janji temu dan di hotel. Jika tidak ditentukan, payAction akan menafsirkan pembayaran pada saat pemesanan sebagai metode pembayaran default.

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

Contoh microdata

Rincian harga

Berikut adalah contoh properti priceSpecification dengan perincian harga. Tarif dasar, pajak seperti pajak umum dan diskon ditentukan menggunakan komponen UnitPriceSpecification. Jangan lupa untuk menetapkan properti name dengan nilai yang sesuai dengan komponen UnitPriceSpecification.

Harga total untuk lama menginap harus ditentukan dalam properti CompoundPriceSpecification. Perincian harga harus ditentukan dalam properti 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>

Properti hasMerchantReturnPolicy

Properti ini digunakan untuk memberi anotasi pada kebijakan pengembalian dana penjual dalam itinerari.

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

Sintaksis

hasMerchantReturnPolicy memiliki sintaksis berikut:

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

Properti

Berikut adalah properti hasMerchantReturnPolicy:

Atribut Wajib? Jenis Deskripsi
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Kebijakan pengembalian dana penjual. Partner harus menggunakan MerchantReturnPolicy.restockingFee untuk menunjukkan kebijakan pembatalan yang tidak mengembalikan dana penuh untuk durasi menginap.

Jika hasMerchantReturnPolicy tidak ditentukan atau dibiarkan kosong, diasumsikan bahwa jumlah tersebut tidak dapat dikembalikan. Anda dapat menentukan kebijakan tidak dapat dikembalikan menggunakan properti returnPolicyCategory: MerchantReturnNotPermitted.

Contoh

Kebijakan pengembalian

Berikut adalah contoh dasar data terstruktur untuk hotel dengan detail kamar dan harga total dengan pajak dan biaya. Contoh ini menunjukkan masa inap yang dapat dibatalkan tanpa biaya hingga pukul 23.00 (UTC) pada 18 Desember 2023. Partner harus menggunakan "MerchantReturnPolicy.restockingFee" untuk menunjukkan kebijakan pembatalan yang tidak mengembalikan dana penuh untuk masa inap. Default restockingFee adalah $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
    }
  }
}

Properti eligibleCustomerType

Properti ini dapat digunakan untuk memberi anotasi pada program reward yang disediakan untuk pelanggan keanggotaan hotel.

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

Sintaksis

Properti eligibleCustomerType memiliki sintaksis berikut:

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

Properti

Berikut adalah properti eligibleCustomerType:

Atribut Wajib? Jenis Deskripsi
Offer.eligibleCustomerType Optional BusinessEntityType

Program loyalitas atau reward anggota yang ditawarkan untuk pelanggan.

Banyak halaman hotel menampilkan tarif khusus anggota bersama dengan tarif publik, untuk mendorong pengguna mendaftar ke program loyalitas mereka. Tarif yang dibatasi untuk audiens tertentu, seperti tarif khusus anggota, dapat ditentukan dengan menetapkan properti Offer.eligibleCustomerType.

Contoh

Harga khusus anggota

Berikut adalah contoh dasar spesifikasi harga khusus anggota atau tarif tertutup untuk program loyalitas. Pelanggan adalah "anggota program reward" hotel.

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

Tarif anggota & reguler

Berikut contoh anotasi harga reguler dan harga khusus anggota. Harga khusus anggota dicantumkan terlebih dahulu, diikuti dengan tarif reguler.

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

Data terstruktur HotelRoom

Properti offers

Anotasi offers digunakan untuk menandai itinerari kamar Anda. Anda harus menggunakan properti offers untuk spesifikasi 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": {...}
}

Sintaksis

Properti offers memiliki sintaksis berikut:

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

Properti

Berikut adalah properti offers:

Properti Wajib? Jenis Deskripsi
offers Required Offer and LodgingReservation

Spesifikasi harga kamar untuk itinerari tertentu.

Properti offers dapat berisi array penawaran.

LodgingReservation.checkinTime Required DateTime

Waktu check-in dalam zona waktu pengguna. Jika zona waktu Anda tidak disebutkan, zona waktu hotel akan dipertimbangkan.

LodgingReservation.checkoutTime Required DateTime

Waktu check-out dalam zona waktu pengguna. Jika zona waktu Anda tidak disebutkan, zona waktu hotel akan dipertimbangkan.

Contoh

penawaran

Berikut adalah contoh dasar untuk menentukan offers di properti HotelRoom.

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    }
  }
}

Properti bed dan occupancy

Properti bed digunakan untuk memberi anotasi pada jenis tempat tidur dan jumlah tempat tidur yang tersedia di kamar. Properti occupancy digunakan untuk memberi anotasi pada jumlah tamu di dalam kamar. Properti bed dan occupancy dapat ditentukan menggunakan properti 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"
  }
}

Sintaksis

Properti bed dan occupancy memiliki sintaks berikut:

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

Properti bed dan occupancy hanya dapat ditetapkan menggunakan properti HotelRoom. Informasi spesifik per kamar, termasuk tarif tingkat kamar, dapat disertakan ke properti Hotel melalui properti containsPlace. Lihat contoh spesifikasi Hotel dan HotelRoom.

Properti

Berikut adalah properti bed dan occupancy:

Properti Wajib? Jenis Deskripsi
HotelRoom.bed Optional (Recommended) bed

Jenis tempat tidur yang termasuk dalam akomodasi dan jumlah penghuni di dalam kamar.

Nilai yang didukung adalah:

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

Jumlah tamu di kamar hotel. Jenis untuk hunian adalah QuantitativeValue.

Keterisian adalah properti eksplisit dari HotelRoom, bukan untuk Offer tertentu. Tarif hanya boleh diberi tag untuk jumlah tamu yang diminta.

containsPlace Optional (Recommended) LocationFeatureSpecification

Atribut ini digunakan untuk memberi anotasi tarif tingkat kamar yang terkait dengan kamar tertentu. Nilai ini juga dapat digunakan untuk menentukan fasilitas di dalam kamar.

Pelajari lebih lanjut cara menggunakan containsPlace di properti amenityFeature.

Contoh

HotelRoom

Berikut adalah contoh dasar tempat tidur dan hunian untuk spesifikasi kamar.

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

Berikut adalah contoh anotasi properti Hotel dan HotelRoom bersama dengan bed, occupancy, dan priceSpecification.

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

Properti HotelRoom priceSpecification

Spesifikasi harga kamar hotel serupa dengan spesifikasi harga hotel.Perbedaannya adalah harga kamar ditentukan menggunakan properti Product.offers, bukan properti Hotel.makesOffer.

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

Sintaksis

Properti priceSpecification untuk kamar hotel memiliki sintaksis berikut:

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

Properti

Berikut adalah properti HotelRoom priceSpecification:

Properti Wajib? Jenis Deskripsi
Hotel.Offer.priceSpecification.price Required float

Harga per kamar termasuk pajak dan biaya untuk Product.

Tarif Google harus selalu diberi anotasi di halaman landing Anda bersama dengan detail tarif lengkap Anda. Dengan memberi anotasi pada detail tarif, Anda dapat menyelesaikan pemeriksaan akurasi harga. Google menerima harga tingkat hotel dan tingkat kamar.

Hotel.Offer.priceSpecification.priceCurrency Required currency Kode mata uang tiga huruf untuk harga yang ditentukan. Contoh: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Perincian total harga termasuk pajak dan biaya untuk kamar hotel dan jumlah tamu dengan penawaran yang ditautkan ke HotelRoom dan Product. Ada dua jenis data terstruktur harga:

  • CompoundPriceSpecification memberikan perincian harga untuk mencakup hal berikut:

    • Tarif dasar: Harga dasar per malam

    • Pajak per menginap: Harga per malam dengan pajak.

    • Biaya per tamu: Harga per malam per hunian.

      occupancy adalah properti eksplisit dari HotelRoom, bukan untuk Offer tertentu. Tarif hanya boleh diberi tag untuk jumlah tamu yang diminta.

    • Diskon: Jumlah potongan.

  • UnitPriceSpecification digunakan untuk menentukan jenis biaya. Anda harus menyertakan nilai PriceComponentTypeEnumeration untuk menentukan biaya tambahan.

    Nilai untuk PriceComponentTypeEnumeration adalah:

    • Discount: Diskon umum terhadap harga.

    • ResortFee: Ini adalah biaya tambahan yang harus dibayar di hotel. Hal ini dapat bervariasi berdasarkan jenis properti akomodasi.

    • GenericTax: Ini adalah pajak tambahan lain-lain.

    • ServiceFee: Biaya ini adalah biaya tambahan yang dikenakan oleh channel pemesanan.

    Anda harus menetapkan nilai di properti name dari UnitPriceSpecification. Semua nilai wajib ada jika Anda memilih untuk menyertakan perincian harga dan harus ditentukan dalam komponen UnitPriceSpecification.

Contoh

Total harga kamar

Berikut adalah contoh dasar untuk menentukan total harga untuk durasi menginap dan harga per jumlah tamu.

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

Rincian harga kamar

Berikut adalah contoh harga per kamar atau paket. Perincian harga ditentukan untuk jenis kamar seperti kamar Deluxe dan jenis bed dan occupancy seperti tempat tidur KING dan SINGLE serta jumlah tamu 2 orang.

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

Properti includesObject

Properti ini digunakan untuk memberi anotasi pada layanan khusus tarif yang disediakan di hotel atau kamar, seperti opsi makanan dan layanan valet. Anda dapat membuat anotasi includesObject di properti Hotel atau HotelRoom.

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

Sintaksis

includesObject memiliki sintaksis berikut untuk layanan khusus tarif yang tersedia di ruangan:

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

Properti

includesObject memiliki properti berikut:

Atribut Wajib? Jenis Deskripsi
Offer.includesObject Optional TypeAndQuantityNode

Layanan yang disediakan di hotel atau kamar.

Fitur khusus tarif disertakan dengan properti includesObject. Kolom nama di "TypeAndQuantityNode.typeOfGood" harus digunakan untuk menunjukkan jenis layanan seperti layanan valet atau layanan makanan.

Fitur khusus tarif juga dapat disertakan dalam penawaran tingkat dasar, atau dapat ditentukan sebagai add-on dengan harga tambahan.

includesObject memerlukan nilai jenis TypeAndQuantityNode sebagai berikut:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Contoh

Layanan

Berikut adalah contoh dasar fitur khusus tarif untuk layanan parkir valet dan layanan makanan. Fitur khusus tarif harus ditentukan dengan properti "Offer.includesObject". Kolom nama di "TypeAndQuantityNode.typeOfGood" harus digunakan untuk menunjukkan jenis layanan.

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

Properti availability

Properti offer.availability digunakan untuk memberi anotasi pada itinerari yang habis terjual untuk kamar hotel.

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

Sintaksis

Properti availability memiliki sintaksis berikut:

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

Properti

Berikut adalah properti availability:

Atribut Wajib? Jenis Deskripsi
Offer.availability Optional ItemAvailability

Ketersediaan hotel atau kamar.

Tarif diekstrak dari schema.org/Offer dan informasi tarif tidak dibuat menggunakan schema.org/Hotel atau schema.org/HotelRoom. Artinya, bahkan itinerari yang terjual habis harus memiliki penawaran.

Penawaran tanpa priceSpecification dianggap tidak tersedia. Penawaran yang tidak tersedia harus ditentukan sebagai "Offer.availability= https://schema.org/SoldOut".

Offer.availability tidak perlu ditentukan jika penawaran diberi anotasi dengan priceSpecification. yang valid

Contoh

Ketersediaan

Berikut adalah contoh dasar untuk menunjukkan ketidaktersediaan kamar hotel. Anda harus menyertakan jenis tempat tidur, jumlah tempat tidur, dan detail jumlah tamu untuk kamar yang ditentukan.

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

Properti amenityFeature

Fasilitas dapat ditentukan dalam jenis Hotel atau HotelRoom menggunakan properti amenityFeature. Anda harus menggunakan properti containsPlace untuk menentukan fasilitas yang disediakan di dalam kamar.

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

Sintaksis

Properti amenityFeature dan containsPlace memiliki sintaksis berikut:

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

Fasilitas

Fasilitas berikut diizinkan dan ditentukan dalam properti name.

Atribut Wajib? Jenis Deskripsi
amenityFeature.AC Optional boolean Apakah properti memiliki AC.
amenityFeature.AirportShuttle Optional boolean Apakah host menyediakan transportasi ke dan dari bandara atau terminal lainnya.
amenityFeature.Balcony Optional boolean Apakah akomodasi memiliki balkon.
amenityFeature.BeachAccess Optional boolean Apakah properti memiliki akses ke pantai umum di dekat properti.
amenityFeature.ChildFriendly Optional boolean Apakah properti cocok untuk anak-anak.
amenityFeature.Crib Optional boolean Apakah properti menyediakan tempat tidur bayi.
amenityFeature.Elevator Optional boolean Apakah properti memiliki elevator.
amenityFeature.FirePlace Optional boolean Apakah akomodasi memiliki perapian.
amenityFeature.FreeBreakfast Optional boolean Apakah properti menyertakan sarapan gratis untuk semua tamu. Gunakan fitur tarif untuk menunjukkan apakah sarapan disertakan hanya untuk paket tarif tertentu.
amenityFeature.GymFitnessEquipment Optional boolean Apakah properti memiliki gym atau perlengkapan kebugaran.
amenityFeature.Heating Optional boolean Apakah akomodasi memiliki pemanas.
amenityFeature.HotTub Optional boolean Apakah properti memiliki bak mandi air panas.
amenityFeature.InstantBookable Optional boolean Apakah properti dapat langsung dipesan melalui proses checkout. Alternatifnya menunggu persetujuan.
amenityFeature.IroningBoard Optional boolean Apakah properti menyediakan papan setrika.
amenityFeature.Kitchen Optional boolean Apakah akomodasi memiliki dapur.
amenityFeature.Microwave Optional boolean Apakah akomodasi menyediakan microwave.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Apakah akomodasi memiliki pemandian terbuka. Jika ditentukan di tingkat ruang, kamar mandi harus bersifat pribadi hanya untuk penghuni ruang.
amenityFeature.OutdoorGrill Optional boolean Apakah properti memiliki pemanggang.
amenityFeature.OvenStove Optional boolean Apakah properti memiliki kompor.
amenityFeature.Patio Optional boolean Apakah properti memiliki teras.
amenityFeature.Pool Optional boolean Apakah akomodasi memiliki kolam renang.
amenityFeature.PrivateBeachAccess Optional boolean Apakah properti memiliki akses khusus ke pantai non-publik.
amenityFeature.SelfCheckinCheckout Optional boolean Apakah properti mendukung check in dan check out mandiri.
amenityFeature.WasherDryer Optional boolean Apakah akomodasi memiliki peralatan laundry.
amenityFeature.Wifi Optional boolean Apakah properti memiliki Wi-Fi.
amenityFeature.Smoking Optional boolean Apakah akomodasi mengizinkan merokok.
amenityFeature.InternetType Optional Enum

Jenis internet yang tersedia di properti.

Nilai yang didukung adalah:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Jenis tempat parkir yang tersedia di properti.

Nilai yang didukung adalah:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Jenis kolam renang yang tersedia di properti.

Nilai yang didukung adalah:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Menunjukkan apakah ruangan memiliki desain gaya Jepang.

Nilai yang didukung adalah:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Nomor izin usaha yang akan ditampilkan di properti di wilayah tertentu di dunia. Properti ini dapat diulangi dan jika ada beberapa izin usaha, sebaiknya tambahkan pemilik atau otoritas izin usaha tersebut. Contoh, "Paris: 123456ABC"

Properti

Berikut adalah properti amenityFeature:

Properti Wajib? Jenis Deskripsi
amenityFeature Optional LocationFeatureSpecification

Fasilitas yang disediakan di hotel atau kamar. Properti ini dapat ditentukan menggunakan properti amenityFeature . Fasilitas harus tersedia untuk semua tamu di hotel, terlepas dari paket tarif yang dipilih. amenityFeature ditentukan menggunakan nilai properti LocationFeatureSpecification.

Fasilitas dapat ditentukan di tingkat Hotel atau HotelRoom.

containsPlace Optional LocationFeatureSpecification

Fasilitas yang disediakan di hotel atau kamar untuk semua tamu hotel. Nilai dapat ditentukan menggunakan amenityFeature . Fasilitas harus tersedia untuk semua tamu di kamar hotel, terlepas dari paket tarif yang dipilih.

Hotel.containsPlace.amenityFeature adalah fasilitas yang disediakan di hotel.

HotelRoom.containsPlace.amenityFeature adalah fasilitas yang disediakan di dalam kamar.

Contoh

Fasilitas di hotel dan kamar

Berikut adalah contoh hotel dengan kolam renang yang buka dari pukul 10.00 hingga 22.00 dan tidak memiliki gym di properti. Kamar hotel bebas rokok dan memiliki minibar.

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