หน้านี้เป็นข้อมูลอ้างอิงสำหรับการเพิ่มมาร์กอัป Structured Data ลงในข้อมูลราคาของโรงแรม
ภาพรวม
Structured Data ของราคาโรงแรมใช้เพื่ออธิบาย ตรวจสอบ และแสดงรายละเอียด ราคาโรงแรมที่แสดงในเว็บไซต์ของคุณ ไม่ว่าจะเป็นอินเทอร์เฟซผู้ใช้ใดก็ตาม ซึ่งรวมถึงราคาฐาน ราคา ห้องพัก ค่าธรรมเนียมและภาษี รวมถึงฟิลด์ที่เกี่ยวข้องกับการกำหนดราคาด้วย
Google ขอแนะนำให้พาร์ทเนอร์ใส่คำอธิบายประกอบในหน้าเว็บด้วย Structured Data ที่ได้มาตรฐาน ซึ่งเครื่องอ่านได้สำหรับ Crawler โดยschema.org เพื่อให้คัดลอกราคาจากหน้าเว็บได้อย่างถูกต้อง
ซึ่งจะช่วยให้เราขยายการตรวจสอบความถูกต้องของราคาได้ด้วยการปรับปรุง ความน่าเชื่อถือของ Crawler ประโยชน์ที่คุณจะได้รับคือจำนวนการตรวจสอบความถูกต้องของราคาที่เพิ่มขึ้นและความสามารถในการแก้ไขข้อบกพร่องเกี่ยวกับความถูกต้องของราคาโดยตรง รวมถึงการมีคะแนนความถูกต้องของราคาที่สอดคล้องกัน
หากคุณเพิ่งใช้ Structured Data เป็นครั้งแรก โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับคําศัพท์และรูปแบบของ Structured Data
Google Hotels ขอแนะนำให้ใช้รูปแบบ JSON-LD เพื่อประกอบคำอธิบายหน้าเว็บ ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบอื่นๆ ที่ยอมรับได้ในรูปแบบที่รองรับ
เอกสารนี้มีเนื้อหาอ้างอิงโดยละเอียดเกี่ยวกับการติดตั้งใช้งาน Structured Data ในโรงแรม
ระบบจะใช้ข้อมูลที่มีโครงสร้าง Hotel เพื่อใส่คำอธิบายประกอบฟิลด์เฉพาะโรงแรมในหน้าเว็บ Hotel Structured Data มีพร็อพเพอร์ตี้ต่อไปนี้
พร็อพเพอร์ตี้
nameและaddressmakesOfferพร็อพเพอร์ตี้Hotel priceSpecificationพร็อพเพอร์ตี้hasMerchantReturnPolicyพร็อพเพอร์ตี้eligibleCustomerTypeพร็อพเพอร์ตี้
ระบบจะใช้ข้อมูลที่มีโครงสร้าง HotelRoom เพื่อใส่คำอธิบายประกอบฟิลด์ที่เฉพาะเจาะจงห้องใน
หน้าเว็บ
HotelRoom Structured Data มีพร็อพเพอร์ตี้ต่อไปนี้
offersพร็อพเพอร์ตี้พร็อพเพอร์ตี้
bedและoccupancyพร็อพเพอร์ตี้
HotelRoom priceSpecificationincludesObjectพร็อพเพอร์ตี้availabilityพร็อพเพอร์ตี้amenityFeatureพร็อพเพอร์ตี้
Structured Data ของโรงแรม
พร็อพเพอร์ตี้ name และ address
พร็อพเพอร์ตี้ name และ address ใช้เพื่อประกอบชื่อและสถานที่ตั้งของโรงแรม พร็อพเพอร์ตี้ name และ address มีดังนี้
"@type": "Hotel",
"name": "hotel-name",
"identifier": "hotel-id-1234",
"address": {
"@type": "PostalAddress",
"addressCountry": "XX",
"addressLocality": "City Name",
"addressRegion": "State Name",
"postalCode": "01234",
"streetAddress": "1234 Main St."
},
ไวยากรณ์
พร็อพเพอร์ตี้ name และ address ใช้ไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "hotel-name",
"identifier": "hotel-id-1234",
"address": {
"@type": "PostalAddress",
"addressCountry": "XX",
"addressLocality": "City Name",
"addressRegion": "State Name",
"postalCode": "01234",
"streetAddress": "1234 Main St."
},
"makesOffer": {
"@type": ["Offer", "LodgingReservation"]
...
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ name และ address มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Hotel.name | Required | string | ชื่อโรงแรม |
| Hotel.identifier | Required | string | รหัสโรงแรมของพาร์ทเนอร์ ตัวระบุต้องเป็นสตริงที่ไม่ซ้ำกันต่อโรงแรม และควรตรงกับสตริงที่ใช้ในฟีดราคา |
| Hotel.address | Optional | PostalAddress | ที่อยู่หรือตำแหน่งของโรงแรม |
ตัวอย่าง
ชื่อและที่อยู่
ต่อไปนี้เป็นตัวอย่างพื้นฐานของการเพิ่มคำอธิบายประกอบ name และ address
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Mountain Hotel",
"identifier": "hotel-id-1234",
"address": {
"@type": "PostalAddress",
"addressCountry": "AT",
"addressLocality": "Innsbruck",
"addressRegion": "Tyrol",
"postalCode": "6020",
"streetAddress": "Technikerstrasse 21"
},
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
ที่พัก makesOffer แห่ง
ใช้คำอธิบายประกอบ makesOffer เพื่อมาร์กอัป
แผนการเดินทางของโรงแรม
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/InStock",
...
}
ไวยากรณ์
พร็อพเพอร์ตี้ makesOffer ใช้ไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "hotel-name",
"identifier": "hotel-id-1234",
"address": { ... },
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/InStock",
"priceSpecification": { ... }
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ makesOffer มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| makesOffer | Required | Offer and LodgingReservation | ข้อเสนอของโรงแรมสำหรับแผนการเดินทางที่ระบุ
พร็อพเพอร์ตี้ |
| LodgingReservation.checkinTime | Required | DateTime | เวลาเช็คอินในเขตเวลาของผู้ใช้ หากไม่ได้ระบุเขตเวลาของคุณ ระบบจะพิจารณาเขตเวลาของโรงแรม |
| LodgingReservation.checkoutTime | Required | DateTime | เวลาเช็คเอาต์ในเขตเวลาของผู้ใช้ หากไม่ได้ระบุเขตเวลาของคุณ ระบบจะพิจารณาเขตเวลาของโรงแรม |
ตัวอย่าง
makesOffer
ต่อไปนี้เป็นตัวอย่างพื้นฐานในการใส่คำอธิบายประกอบข้อเสนอโรงแรม คุณระบุข้อเสนอหลายรายการสำหรับแผนการเดินทางได้ แต่ควรระบุราคาที่ Google แสดงก่อน แล้วตามด้วยราคาอื่นๆ จำนวนเงินของราคา ที่ระบุรวมภาษีที่เกี่ยวข้องทั้งหมด
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Mountain Hotel",
"identifier": "hotel-id-1234",
"address": { ... },
"makesOffer": [
{
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
},
{
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1200.74,
"priceCurrency": "USD"
}
}
]
}
ที่พัก Hotel priceSpecification แห่ง
พร็อพเพอร์ตี้นี้ใช้เพื่อประกอบข้อมูลราคาสำหรับโรงแรมหรือห้องพักโรงแรม คุณต้องระบุพร็อพเพอร์ตี้เพิ่มเติมอีก 2 รายการเพื่อใส่คำอธิบายประกอบราคาและภาษี
คุณควรใช้ CompoundPriceSpecification
เพื่อระบุข้อมูลราคาโดยรวม เช่น อัตราฐาน ภาษี และส่วนลด
ใช้ UnitPriceSpecification
เพื่อระบุภาษีเพิ่มเติมหรือค่าธรรมเนียมประเภทพิเศษ
เช่น ResortFee, GenericTax และ ServiceFee priceSpecification
พร็อพเพอร์ตี้รวมอยู่กับพร็อพเพอร์ตี้ Offer
{
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
},
...
]
}
}
ไวยากรณ์
พร็อพเพอร์ตี้ Hotel priceSpecification ใช้ไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
...
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "",
"price": "float",
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency",
"priceComponentType": "GenericTax",
"potentialAction": {
"@type": "https://schema.org/PayAction",
"recipient": {
"@type": "OnlineBusiness",
"name": "name-of-the-business"
}
}
},
{
"@type": "UnitPriceSpecification",
"name": "Discount",
"price": "float",
"priceCurrency": "currency",
"priceComponentType": "Discount"
}
]
}
}
}
Microdata
<div itemscope itemtype="https://schema.org/Hotel">
<meta itemprop="name" content="hotel-name"/>
...
<div itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation" itemprop="makesOffer">
...
<div itemscope itemtype="https://schema.org/CompoundPriceSpecification" itemprop="priceSpecification">
<meta itemprop="price" content="float"/>
<meta itemprop="priceCurrency" content="currency"/>
<div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
<meta itemprop="name" content=""/>
<meta itemprop="price" content="float"/>
<meta itemprop="priceCurrency" content="currency"/>
</div>
<div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
<meta itemprop="name" content="GenericTax" />
<meta itemprop="price" content="float"/>
<meta itemprop="priceCurrency" content="currency"/>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
<meta itemprop="name" content="Discount"/>
<meta itemprop="price" content="float"/>
<meta itemprop="priceCurrency" content="currency"/>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ hotel priceSpecification มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | ราคารวมของโรงแรม ซึ่งรวมภาษีและค่าธรรมเนียม คุณควรใส่คำอธิบายประกอบราคาของ Google ในหน้า Landing Page พร้อมกับ รายละเอียดราคาที่สมบูรณ์เสมอ การใส่คำอธิบายประกอบรายละเอียดราคาจะช่วยให้คุณทำการตรวจสอบความถูกต้องของราคาได้ Google ยอมรับทั้งราคาที่ระดับโรงแรมและระดับห้องพัก |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | รหัสสกุลเงิน 3 ตัวอักษรสำหรับราคาที่ระบุ เช่น "USD"
|
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | การแจกแจงราคารวม รวมถึงภาษีและค่าธรรมเนียมสำหรับโรงแรม ข้อมูลที่มีโครงสร้างของราคาแบ่งออกเป็น 2 ประเภท ได้แก่
คุณต้องตั้งค่าในพร็อพเพอร์ตี้ |
| Hotel.Offer.priceSpecification.priceComponent. potentialAction | Optional | PayAction | จุดชำระเงินของโรงแรม ขั้นตอนการชำระเงินของโรงแรมรวมถึงราคา ที่เรียกเก็บในเวลาเช็คเอาต์ในเว็บไซต์การจองและที่โรงแรม ระหว่างเช็คอิน คุณควรใช้พร็อพเพอร์ตี้ Google รองรับการตั้งค่า 2 รายการต่อไปนี้สำหรับผู้รับของ
|
ตัวอย่าง
ตัวอย่าง JSON-LD
ราคา
ต่อไปนี้คือตัวอย่างพื้นฐานของการเพิ่ม Structured Data ของราคาลงในหน้าเว็บ
คุณระบุข้อเสนอระดับโรงแรมหลายรายการได้ในพร็อพเพอร์ตี้
makesOffer
ต้องระบุประเภท PostalAddress เช่น addressCountry, postalCode, streetAddress และช่องอื่นๆ หากคุณเลือกที่จะระบุพร็อพเพอร์ตี้ address ราคาที่ Google แสดงควรระบุเป็นอันดับแรกในพร็อพเพอร์ตี้ makesOffer จำนวนราคาที่ระบุรวมภาษีที่เกี่ยวข้องทั้งหมด
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"address": {
"@type": "PostalAddress",
"addressCountry": "AT",
"addressLocality": "Innsbruck",
"addressRegion": "Tyrol",
"postalCode": "6020",
"streetAddress": "Technikerstrasse 21"
},
"makesOffer": [
{
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
},
{
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1200.74,
"priceCurrency": "USD"
}
},
...
]
}
รายละเอียดราคา
ต่อไปนี้คือตัวอย่างพร็อพเพอร์ตี้ priceSpecification ที่มีรายละเอียดราคา คุณกำหนดอัตราฐาน ภาษี เช่น ภาษีทั่วไป และส่วนลดได้โดยใช้คอมโพเนนต์ UnitPriceSpecification อย่าลืมตั้งค่าฟิลด์
priceComponentTypeด้วยค่าที่สอดคล้องกับคอมโพเนนต์
UnitPriceSpecification
ควรกำหนดราคารวมสำหรับระยะเวลาในการเข้าพักในพร็อพเพอร์ตี้ CompoundPriceSpecification ควรระบุรายละเอียดราคาในพร็อพเพอร์ตี้ priceComponent
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"address": {...},
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "",
"price": 1150,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 172.74,
"priceCurrency": "USD",
"priceComponentType": "GenericTax"
},
{
"@type": "UnitPriceSpecification",
"name": "Discount",
"price": -100,
"priceCurrency": "USD",
"priceComponentType": "Discount"
}
]
}
}
}
จุดชำระเงิน
ต่อไปนี้เป็นตัวอย่างการระบุ potentialAction ในการใช้ประเภทผู้รับของ PayAction
ราคารวมของแพ็กเกจคือ $1170 และเว็บไซต์ออนไลน์จะเรียกเก็บเงินบางส่วนจากราคารวม ซึ่งเท่ากับ $1150 ในเวลาที่จองโดยใช้ "@type": "OnlineBusiness" และผู้ใช้ต้องชำระเงินอีก $20 ในเวลาที่เช็คอินที่โรงแรมโดยใช้ @type": "Hotel"
คุณต้องระบุpotentialActionเพื่อแยกย่อยการชำระเงิน ณ เวลาที่ทำการจองและที่โรงแรม หากไม่ได้ระบุไว้
payAction จะตีความการชำระเงิน ณ เวลาที่จองเป็นวิธีการชำระเงินเริ่มต้น
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00]",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1170,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"price": 1150,
"priceCurrency": "USD",
"potentialAction": {
"@type": "https://schema.org/PayAction",
"recipient": {
"@type": "OnlineBusiness",
"name": "myonlinebusiness"
}
}
},
{
"@type": "UnitPriceSpecification",
"price": 20,
"priceCurrency": "USD",
"potentialAction": {
"@type": "https://schema.org/PayAction",
"recipient": {
"@type": "Hotel",
"name": "The Langham, Boston",
"address": { ... }
}
}
}
]
}
}
}
ตัวอย่าง Microdata
รายละเอียดราคา
ต่อไปนี้คือตัวอย่างพร็อพเพอร์ตี้ priceSpecification ที่มีรายละเอียดราคา คุณกำหนดอัตราฐาน ภาษี เช่น ภาษีทั่วไป และส่วนลดได้โดยใช้คอมโพเนนต์ UnitPriceSpecification อย่าลืมตั้งค่าพร็อพเพอร์ตี้
name ด้วยค่าที่สอดคล้องกับคอมโพเนนต์
UnitPriceSpecification
ควรกำหนดราคารวมสำหรับระยะเวลาในการเข้าพักในพร็อพเพอร์ตี้ CompoundPriceSpecification ควรระบุรายละเอียดราคาในพร็อพเพอร์ตี้ priceComponent
<div itemscope itemtype="https://schema.org/Hotel">
<meta itemprop="name" content="ACME Hotel"/>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemscope itemtype="https://schema.org/PostalAddress" itemprop="address">
<meta itemprop="addressCountry" content="US" />
<meta itemprop="addressLocality" content="Mountain View" />
<meta itemprop="addressRegion" content="Santa Clara" />
<meta itemprop="postalCode" content="94040" />
<meta itemprop="streetAddress" content="123 Main street" />
</div>
<div itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation" itemprop="makesOffer">
<meta itemprop="checkinTime" content="2023-03-10 15:00:00" />
<meta itemprop="checkoutTime" content="2023-03-16 10:00:00"/>
<div itemscope itemtype="https://schema.org/CompoundPriceSpecification" itemprop="priceSpecification">
<meta itemprop="price" content="1222.74" />
<meta itemprop="priceCurrency" content="USD" />
<div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
<meta itemprop="name" content="" />
<meta itemprop="price" content="1150" />
<meta itemprop="priceCurrency" content="USD" />
</div>
<div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
<meta itemprop="name" content="GenericTax" />
<meta itemprop="price" content="172.74" />
<meta itemprop="priceCurrency" content="USD" />
<meta itemprop="priceComponentType" content="GenericTax" />
</div>
<div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
<meta itemprop="name" content="Discount" />
<meta itemprop="price" content="-100" />
<meta itemprop="priceCurrency" content="USD" />
<meta itemprop="priceComponentType" content="Discount" />
</div>
</div>
</div>
</div>
ที่พัก hasMerchantReturnPolicy แห่ง
พร็อพเพอร์ตี้นี้ใช้เพื่อประกอบนโยบายการคืนเงินของผู้ขายในแผนการเดินทาง
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
"restockingFee": 0
}
ไวยากรณ์
hasMerchantReturnPolicy มีไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
...
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"priceSpecification": { ... },
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
"restockingFee": 0
}
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ hasMerchantReturnPolicy มีดังนี้
| แอตทริบิวต์ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Offer.hasMerchantReturnPolicy | Optional | MerchantReturnPolicy | นโยบายการคืนเงินของผู้ขาย พาร์ทเนอร์ควรใช้
หากไม่ได้ระบุ |
ตัวอย่าง
นโยบายคืนสินค้า
ตัวอย่างต่อไปนี้เป็นตัวอย่างพื้นฐานของ Structured Data สำหรับโรงแรมที่มีรายละเอียดห้องพักและราคารวมพร้อมภาษีและค่าธรรมเนียม ตัวอย่างนี้แสดงการเข้าพัก
ที่ยกเลิกได้โดยไม่มีค่าใช้จ่ายจนถึงเวลา 23:00 น. (UTC) ของวันที่
18 ธันวาคม 2023 พาร์ทเนอร์ควรใช้
"MerchantReturnPolicy.restockingFee" เพื่อระบุนโยบายการยกเลิก
ที่ไม่ได้คืนเงินเต็มจำนวนสำหรับการเข้าพัก restockingFee ค่าเริ่มต้น
คือ $0
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"description": "Beautiful resort in the outskirts of the city",
"address": {...},
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"priceSpecification": {...},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "2023-12-18 23:00:00",
"restockingFee": 0
}
}
}
ที่พัก eligibleCustomerType แห่ง
คุณใช้พร็อพเพอร์ตี้นี้เพื่อใส่คำอธิบายประกอบโปรแกรมสะสมคะแนนที่มอบให้แก่ลูกค้าที่เป็นสมาชิกของโรงแรม ได้
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
}
ไวยากรณ์
พร็อพเพอร์ตี้ eligibleCustomerType มีไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
...
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"eligibleCustomerType": "RewardsMember",
"priceSpecification": { ... }
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ eligibleCustomerType มีดังนี้
| แอตทริบิวต์ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Offer.eligibleCustomerType | Optional | BusinessEntityType | โปรแกรมสะสมคะแนนหรือรางวัลสำหรับสมาชิกที่เสนอให้แก่ ลูกค้า หน้าโรงแรมหลายหน้าแสดงราคาสมาชิกพร้อมกับราคาสำหรับบุคคลทั่วไป เพื่อกระตุ้นให้ผู้ใช้ลงชื่อสมัครใช้โปรแกรมสะสมคะแนน คุณระบุราคาที่จำกัด สำหรับกลุ่มเป้าหมายที่เฉพาะเจาะจง เช่น ราคาสำหรับสมาชิก ได้โดยการตั้งค่าพร็อพเพอร์ตี้Offer.eligibleCustomerType |
ตัวอย่าง
ราคาสำหรับสมาชิก
ต่อไปนี้คือตัวอย่างพื้นฐานของการระบุราคาสำหรับสมาชิกหรือราคาที่จำกัด สำหรับโปรแกรมสะสมคะแนน ลูกค้าเป็น "สมาชิกโปรแกรมสะสมคะแนน" ของโรงแรม
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"address": {...},
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"name": "RewardsMember",
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1342.74,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1069.98,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 172.74,
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "ResortFee",
"price": 100,
"priceCurrency": "USD"
}
]
}
}
}
ราคาสำหรับสมาชิกและราคาปกติ
นี่คือตัวอย่างของทั้งคำอธิบายประกอบราคาอัตราปกติและราคาสมาชิก โดยจะแสดงราคาสำหรับสมาชิกก่อน แล้วตามด้วยราคาปกติ
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"address": {...},
"makesOffer": [
{
"@type": ["Offer", "LodgingReservation"],
"name": "RewardsMember",
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1342.74,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1069.98,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 172.74,
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "ResortFee",
"price": 100,
"priceCurrency": "USD"
}
]
}
},
{
"@type": ["Offer", "LodgingReservation"],
"name": "regularRate",
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"priceSpecification": {
"price": 1572.24,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1369.98,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 202.26,
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "ResortFee",
"price": 100,
"priceCurrency": "USD"
}
]
}
}
]
}
Structured Data ของ HotelRoom
ที่พัก offers แห่ง
ระบบจะใช้คำอธิบายประกอบ offers เพื่อมาร์กอัปแผนการเดินทางของห้องพัก
คุณควรใช้พร็อพเพอร์ตี้ offers สำหรับข้อกำหนด 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": {...}
}
ไวยากรณ์
พร็อพเพอร์ตี้ offers มีไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "HotelRoom",
"identifier": "hotel-room-id-1234",
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
...
}
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ offers มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| offers | Required | Offer and LodgingReservation | ข้อกำหนดราคาห้องพักสำหรับแผนการเดินทางที่ระบุ พร็อพเพอร์ตี้ |
| LodgingReservation.checkinTime | Required | DateTime | เวลาเช็คอินในเขตเวลาของผู้ใช้ หากไม่ได้ระบุเขตเวลาของคุณ ระบบจะพิจารณาเขตเวลาของโรงแรม |
| LodgingReservation.checkoutTime | Required | DateTime | เวลาเช็คเอาต์ในเขตเวลาของผู้ใช้ หากไม่ได้ระบุเขตเวลาของคุณ ระบบจะพิจารณาเขตเวลาของโรงแรม |
ตัวอย่าง
ข้อเสนอพิเศษ
ตัวอย่างต่อไปนี้เป็นตัวอย่างพื้นฐานสำหรับการระบุ offers ใน HotelRoom
property
{
"@context": "https://schema.org",
"@type": "HotelRoom",
"identifier": "hotel-room-id-1234",
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
พร็อพเพอร์ตี้ bed และ occupancy
พร็อพเพอร์ตี้ bed ใช้เพื่อประกอบคำอธิบายประเภทเตียงและจำนวนเตียงที่พร้อมให้บริการในห้องพัก พร็อพเพอร์ตี้ occupancy ใช้เพื่อใส่คำอธิบายประกอบจำนวน
แขกในห้อง คุณระบุพร็อพเพอร์ตี้ bed และ occupancy ได้โดยใช้พร็อพเพอร์ตี้ HotelRoom
"@type": "Hotel",
"identifier": "hotel-id-1234",
"containsPlace": {
"@type": ["HotelRoom", "Product"],
"identifier": "hotel-room-id",
"bed": {
"@type": "BedDetails",
"numberOfBeds": "integer",
"typeOfBed": "KING"
},
"occupancy": {
"@type": "QuantitativeValue",
"value": "integer"
}
}
ไวยากรณ์
พร็อพเพอร์ตี้ bed และ occupancy มีไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "hotel-name",
"identifier": "hotel-id-1234",
"containsPlace": {
"@type": ["HotelRoom", "Product"],
"name": "room-name",
"identifier": "hotel-room-id-1234",
"bed": {
"@type": "BedDetails",
"numberOfBeds": "integer",
"typeOfBed": "KING"
},
"occupancy": {
"@type": "QuantitativeValue",
"value": "integer"
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": {
"@type": "UnitPriceSpecification",
"name": "",
"price": "float",
"priceCurrency": "currency"
},
...
}
}
}
}
คุณตั้งค่าพร็อพเพอร์ตี้ bed และ occupancy ได้โดยใช้พร็อพเพอร์ตี้ HotelRoom เท่านั้น คุณสามารถรวมข้อมูลเฉพาะห้องพัก ซึ่งรวมถึงราคาในระดับห้องพัก
ไว้ในพร็อพเพอร์ตี้ Hotel ผ่านพร็อพเพอร์ตี้ containsPlace ได้ ดูHotel และHotelRoom ตัวอย่างข้อกำหนด
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ bed และ occupancy มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| HotelRoom.bed | Optional (Recommended) | bed | ประเภทเตียงที่รวมอยู่ในที่พักและจำนวนผู้เข้าพักในห้อง ค่าที่รองรับมีดังนี้
|
| HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | จำนวนแขกในห้องพักของโรงแรม ประเภทการเข้าพักคือ
การเข้าพักเป็นพร็อพเพอร์ตี้ที่ชัดเจนของ
|
| containsPlace | Optional (Recommended) | LocationFeatureSpecification | ใช้เพื่อใส่คำอธิบายประกอบราคาที่ระดับห้องพักซึ่งเชื่อมโยงกับห้องพักที่เฉพาะเจาะจง นอกจากนี้ ยังใช้เพื่อระบุสิ่งอำนวยความสะดวกในห้องได้ด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ |
ตัวอย่าง
HotelRoom
ตัวอย่างต่อไปนี้เป็นตัวอย่างพื้นฐานของเตียงและการเข้าพักสำหรับข้อกำหนดห้องพัก
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room, 1 King Bed",
"identifier": "hotel-room-id-1234",
"bed": [
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "SINGLE"
}
],
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
โรงแรมและ HotelRoom
ตัวอย่างต่อไปนี้แสดงการใส่คำอธิบายประกอบพร็อพเพอร์ตี้ Hotel และ HotelRoom
พร้อมกับ bed, occupancy และ priceSpecification
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "hotel-name",
"identifier": "hotel-id-1234",
"containsPlace": {
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room, 1 King Bed",
"identifier": "hotel-room-id",
"bed": {
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "Minibar",
"value": true
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
}
ที่พัก HotelRoom priceSpecification แห่ง
ข้อมูลจำเพาะของราคาห้องพักโรงแรมจะคล้ายกับข้อมูลจำเพาะของราคาโรงแรม
ความแตกต่างคือราคาห้องพักจะระบุโดยใช้พร็อพเพอร์ตี้ Product.offers
แทนพร็อพเพอร์ตี้ Hotel.makesOffer
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": {
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
}
...
}
ไวยากรณ์
พร็อพเพอร์ตี้ priceSpecification สำหรับห้องพักในโรงแรมมีไวยากรณ์ดังนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
...
"bed": {
"@type": "BedDetails",
"numberOfBeds": "integer",
"typeOfBed": "KING"
},
"occupancy": {
"@type": "QuantitativeValue",
"value": "integer"
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "",
"price": "float",
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency",
"priceComponentType": "GenericTax"
},
{
"@type": "UnitPriceSpecification",
"name": "Discount",
"price": "float",
"priceCurrency": "currency",
"priceComponentType": "Discount"
}
]
}
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ HotelRoom priceSpecification มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | ราคาต่อห้องรวมภาษีและค่าธรรมเนียมสำหรับ คุณควรใส่คำอธิบายประกอบราคาของ Google ในหน้า Landing Page พร้อมกับ รายละเอียดราคาที่สมบูรณ์เสมอ การใส่คำอธิบายประกอบรายละเอียดราคาจะช่วยให้คุณทำการตรวจสอบความถูกต้องของราคาได้ Google ยอมรับทั้งราคาที่ระดับโรงแรมและระดับห้องพัก |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | รหัสสกุลเงิน 3 ตัวอักษรสำหรับราคาที่ระบุ เช่น "USD"
|
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | การแจกแจงราคารวมซึ่งรวมภาษีและค่าธรรมเนียมสำหรับห้องพักโรงแรมและอัตราการเข้าพักพร้อมข้อเสนอที่ลิงก์กับ
|
ตัวอย่าง
ราคาห้องพักทั้งหมด
ตัวอย่างพื้นฐานต่อไปนี้แสดงการกำหนดราคารวมสำหรับระยะเวลาเข้าพักและราคาต่ออัตราการเข้าพัก
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room King, 1 Single Bed",
"identifier": "hotel-room-id-1234",
"bed": [
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "SINGLE"
}
],
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1232.74,
"priceCurrency": "USD"
}
},
...
}
รายละเอียดราคาห้องพัก
ตัวอย่างต่อไปนี้เป็นตัวอย่างราคาต่อห้องหรือแพ็กเกจ ระบบจะกำหนดรายละเอียดราคา
สำหรับประเภทห้องพัก เช่น ห้องพัก Deluxe และประเภท bed และ occupancy
เช่น เตียง KING และ SINGLE และอัตราการเข้าพัก 2 ท่าน
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room King, 1 Single Bed",
"identifier": "hotel-room-id-1234",
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"bed": [
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "SINGLE"
}
],
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1150,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 172.74,
"priceCurrency": "USD",
"priceComponentType": "GenericTax"
},
{
"@type": "UnitPriceSpecification",
"name": "Discount",
"price": -100,
"priceCurrency": "USD",
"priceComponentType": "Discount"
}
]
}
}
}
ที่พัก includesObject แห่ง
พร็อพเพอร์ตี้นี้ใช้เพื่อประกอบคำอธิบายประกอบบริการเฉพาะอัตราที่ระบุไว้ในโรงแรม
หรือห้องพัก เช่น ตัวเลือกอาหารและบริการรับจอดรถ คุณใส่คำอธิบายประกอบ
includesObjectในพร็อพเพอร์ตี้ Hotel หรือ HotelRoom ก็ได้
{
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": "float",
"unitText": "currency",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
ไวยากรณ์
includesObject มีไวยากรณ์ต่อไปนี้สำหรับบริการที่เฉพาะเจาะจงอัตรา
ซึ่งพร้อมให้บริการในห้องพัก
JSON-LD
{
"@context": "https://schema.org",
...
"@type": ["HotelRoom", "Product"],
...
"offers": {
"@type": ["Offer", "LodgingReservation"],
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
},
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": "float",
"unitText": "currency",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
}
พร็อพเพอร์ตี้
includesObject มีพร็อพเพอร์ตี้ต่อไปนี้
| แอตทริบิวต์ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Offer.includesObject | Optional | TypeAndQuantityNode | บริการที่มีให้ในโรงแรมหรือห้องพัก ฟีเจอร์เฉพาะอัตราจะรวมอยู่ในพร็อพเพอร์ตี้ นอกจากนี้ ฟีเจอร์เฉพาะอัตราอาจรวมอยู่ในข้อเสนอระดับฐาน หรืออาจระบุเป็นส่วนเสริมโดยมีค่าใช้จ่ายเพิ่มเติม
|
ตัวอย่าง
บริการ
ต่อไปนี้เป็นตัวอย่างพื้นฐานของฟีเจอร์เฉพาะอัตราสำหรับบริการจอดรถและบริการอาหาร
ควรระบุฟีเจอร์เฉพาะอัตราด้วยพร็อพเพอร์ตี้
"Offer.includesObject" ควรใช้ฟิลด์ชื่อใน
"TypeAndQuantityNode.typeOfGood" เพื่อระบุประเภทของ
บริการ
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room, 1 King Bed",
"identifier": "hotel-room-id-1234",
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
},
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": 50,
"unitText": "USD",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
}
ที่พัก availability แห่ง
พร็อพเพอร์ตี้ offer.availability ใช้เพื่อใส่คำอธิบายประกอบแผนการเดินทางที่ห้องพักโรงแรมขายหมด
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/SoldOut"
}
ไวยากรณ์
พร็อพเพอร์ตี้ availability มีไวยากรณ์ต่อไปนี้
JSON-LD
{
"@context": "https://schema.org",
...
"@type": ["HotelRoom", "Product"],
"name": "room-type",
"identifier": "hotel-room-id-1234",
"bed": {
"@type": "BedDetails",
"numberOfBeds": "integer",
"typeOfBed": "KING"
},
"occupancy": {
"@type": "QuantitativeValue",
"value": "integer"
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/SoldOut"
}
}
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ availability มีดังนี้
| แอตทริบิวต์ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| Offer.availability | Optional | ItemAvailability | ความพร้อมให้บริการของโรงแรมหรือห้องพัก ระบบดึงข้อมูลอัตราจาก
ข้อเสนอที่ไม่มี คุณไม่จำเป็นต้องระบุ |
ตัวอย่าง
ความพร้อมใช้งาน
ตัวอย่างต่อไปนี้เป็นตัวอย่างพื้นฐานที่แสดงความไม่พร้อมให้บริการของห้องพักในโรงแรม คุณควรระบุประเภทเตียง จำนวนเตียง และรายละเอียดอัตราการเข้าพัก สำหรับห้องพักที่ระบุ
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room, 1 King Bed",
"identifier": "hotel-room-id-1234",
"bed": [
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "SINGLE"
}
],
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"availability": "https://schema.org/SoldOut",
"priceSpecification": {...}
}
}
ที่พัก amenityFeature แห่ง
คุณระบุสิ่งอำนวยความสะดวกได้ในประเภท Hotel หรือ HotelRoom โดยใช้พร็อพเพอร์ตี้ amenityFeature คุณควรใช้พร็อพเพอร์ตี้ containsPlace เพื่อระบุสิ่งอำนวยความสะดวกที่มีในห้องพัก
{
"@type": "Hotel",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "HotTub",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"opens": "HH:mm:ss",
"closes": "HH:mm:ss"
}
},
{
"@type": "LocationFeatureSpecification",
"name": "GymFitnessEquipment",
"value": "boolean"
}
],
"containsPlace": {
"@type": "HotelRoom",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "Minibar",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Smoking",
"value": false
}
]
}
}
ไวยากรณ์
พร็อพเพอร์ตี้ amenityFeature และ containsPlace มีไวยากรณ์ดังนี้
JSON-LD
{
"@context": "https://schema.org",
"@type": "Hotel",
...
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "HotTub",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"opens": "HH:mm:ss",
"closes": "HH:mm:ss"
}
},
"containsPlace": {
"@type": "HotelRoom",
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "Minibar",
"value": "boolean"
}
}
}
สิ่งอำนวยความสะดวก
อนุญาตให้ใช้สิ่งอำนวยความสะดวกต่อไปนี้และกำหนดไว้ในพร็อพเพอร์ตี้ name
| แอตทริบิวต์ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| amenityFeature.AC | Optional | boolean | ที่พักมีเครื่องปรับอากาศหรือไม่ |
| amenityFeature.AirportShuttle | Optional | boolean | ที่พักมีบริการรับส่งจากสนามบินหรืออาคารผู้โดยสารอื่นๆ หรือไม่ |
| amenityFeature.Balcony | Optional | boolean | ที่พักมีระเบียงหรือไม่ |
| amenityFeature.BeachAccess | Optional | boolean | ที่พักมีทางเข้าถึงชายหาดสาธารณะที่อยู่ใกล้กับที่พักหรือไม่ |
| amenityFeature.ChildFriendly | Optional | boolean | ที่พักเหมาะสำหรับเด็กหรือไม่ |
| amenityFeature.Crib | Optional | boolean | ที่พักมีเตียงเด็กหรือไม่ |
| amenityFeature.Elevator | Optional | boolean | ที่พักมีลิฟต์หรือไม่ |
| amenityFeature.FirePlace | Optional | boolean | ที่พักมีเตาผิงหรือไม่ |
| amenityFeature.FreeBreakfast | Optional | boolean | ที่พักรวมอาหารเช้าฟรีสำหรับผู้เข้าพักทุกคนหรือไม่ ใช้ ฟีเจอร์ราคาเพื่อระบุว่ารวมอาหารเช้าเฉพาะแพ็กเกจราคา ที่เฉพาะเจาะจงหรือไม่ |
| amenityFeature.GymFitnessEquipment | Optional | boolean | ที่พักมียิมหรืออุปกรณ์ฟิตเนสหรือไม่ |
| amenityFeature.Heating | Optional | boolean | ที่พักมีระบบทำความร้อนหรือไม่ |
| amenityFeature.HotTub | Optional | boolean | ที่พักมีอ่างน้ำร้อนหรือไม่ |
| amenityFeature.InstantBookable | Optional | boolean | ที่พักพร้อมให้จองทันทีผ่านขั้นตอนการชำระเงินหรือไม่ หรือต้องรอการอนุมัติก่อน |
| amenityFeature.IroningBoard | Optional | boolean | ที่พักมีที่รองรีดผ้าหรือไม่ |
| amenityFeature.Kitchen | Optional | boolean | ที่พักมีห้องครัวหรือไม่ |
| amenityFeature.Microwave | Optional | boolean | ที่พักมีไมโครเวฟหรือไม่ |
| amenityFeature.OpenAirBath(Hotels only) | Optional | boolean | ที่พักมีห้องอาบน้ำแบบเปิดโล่งหรือไม่ หากระบุ ที่ระดับห้องพัก อ่างอาบน้ำควรเป็นแบบส่วนตัวสำหรับผู้เข้าพักในห้องเท่านั้น |
| amenityFeature.OutdoorGrill | Optional | boolean | ที่พักมีเตาปิ้งย่างหรือไม่ |
| amenityFeature.OvenStove | Optional | boolean | ที่พักมีเตาอบหรือไม่ |
| amenityFeature.Patio | Optional | boolean | ที่พักมีเฉลียงหรือไม่ |
| amenityFeature.Pool | Optional | boolean | ที่พักมีสระว่ายน้ำหรือไม่ |
| amenityFeature.PrivateBeachAccess | Optional | boolean | ที่พักมีทางเฉพาะสำหรับเข้าถึงชายหาดส่วนตัวหรือไม่ |
| amenityFeature.SelfCheckinCheckout | Optional | boolean | ที่พักรองรับการเช็คอินและเช็คเอาต์ด้วยตนเองหรือไม่ |
| amenityFeature.WasherDryer | Optional | boolean | ที่พักมีอุปกรณ์ซักรีดหรือไม่ |
| amenityFeature.Wifi | Optional | boolean | ที่พักมี Wi-Fi หรือไม่ |
| amenityFeature.Smoking | Optional | boolean | ที่พักอนุญาตให้สูบบุหรี่หรือไม่ |
| amenityFeature.InternetType | Optional | Enum | ประเภทอินเทอร์เน็ตที่พร้อมใช้งานในที่พัก ค่าที่รองรับมีดังนี้
|
| amenityFeature.ParkingType | Optional | Enum | ประเภทที่จอดรถในที่พัก ค่าที่รองรับมีดังนี้
|
| amenityFeature.PoolType | Optional | Enum | ประเภทสระว่ายน้ำในที่พัก ค่าที่รองรับมีดังนี้
|
| amenityFeature.RoomStyle | Optional | Enum | ระบุว่าห้องพักมีการออกแบบสไตล์ญี่ปุ่นหรือไม่ ค่าที่รองรับมีดังนี้
|
| amenityFeature.LicenseNum | Required | string | หมายเลขใบอนุญาตของธุรกิจที่จะแสดงในที่พักในบางภูมิภาคของโลก ซึ่งอาจซ้ำกันได้ และหากมีใบอนุญาตหลายใบ เราขอแนะนำให้เพิ่มเจ้าของหรือหน่วยงานที่ออกใบอนุญาต ตัวอย่างเช่น |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ amenityFeature มีดังนี้
| พร็อพเพอร์ตี้ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
| amenityFeature | Optional | LocationFeatureSpecification | สิ่งอำนวยความสะดวกที่มีให้ในโรงแรมหรือห้องพัก คุณระบุได้โดยใช้พร็อพเพอร์ตี้ คุณระบุสิ่งอำนวยความสะดวกได้ที่ระดับ |
| containsPlace | Optional | LocationFeatureSpecification | สิ่งอำนวยความสะดวกที่โรงแรมหรือห้องพักมีให้บริการแก่แขกทุกท่าน โดยระบุได้โดยใช้
|
ตัวอย่าง
สิ่งอำนวยความสะดวกในโรงแรมและห้องพัก
ต่อไปนี้เป็นตัวอย่างโรงแรมที่มีสระว่ายน้ำเปิดตั้งแต่เวลา 10:00 น. ถึง 22:00 น. และไม่มีฟิตเนสในที่พัก ห้องพักในโรงแรมเป็นห้องปลอดบุหรี่ และมีมินิบาร์
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"address": { ... },
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "HotTub",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"opens": "10:00:00",
"closes": "22:00:00"
}
},
{
"@type": "LocationFeatureSpecification",
"name": "GymFitnessEquipment",
"value": false
}
],
"containsPlace": {
"@type": "HotelRoom",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "Minibar",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Smoking",
"value": false
}
],
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
}