این صفحه مشخصات فنی و مرجع واژگان مربوط به نشانهگذاریهای دادههای ساختاریافته هتل Schema.org را ارائه میدهد.
نمای کلی
دادههای ساختاریافته قیمت هتل، قالبی استاندارد و قابل خواندن توسط ماشین را برای توضیح، اعتبارسنجی و نمایش قیمتهای هتل ذکر شده در وبسایت شما، صرف نظر از طرحبندی بصری شما، فراهم میکند. این شامل قیمتهای پایه، نرخها، مشخصات اتاق، هزینهها و مالیاتهای جزئی و سیاستهای رزرو میشود.
گوگل توصیه میکند که صفحات وب خود را با دادههای ساختاریافته استاندارد ارائه شده توسط Schema.org حاشیهنویسی کنید تا قیمتها را به طور دقیق از صفحات وب خود استخراج کنید.
دادههای ساختاریافته استاندارد، امکان مقیاسبندی اعتبارسنجیهای دقت قیمت را از طریق بهبود قابلیت اطمینان خزندهها، افزایش تعداد اعتبارسنجیهای دقت قیمت، امکان اشکالزدایی مستقیم مشکلات دقت قیمت و حفظ امتیاز ثابت دقت قیمت فراهم میکنند.
اگر در زمینه دادههای ساختاریافته تازهکار هستید، درباره واژگان و قالب دادههای ساختاریافته بیشتر بیاموزید.
هتلهای گوگل به طور پیشفرض فرمت میکرودیتا را برای حاشیهنویسی صفحات وب شما جهت بررسی دقت قیمت هتل توصیه میکنند. فرمت JSON-LD برای اعتبارسنجی دقت قیمت منسوخ شده است. توجه داشته باشید که این توصیه صرفاً برای اعتبارسنجی دقت قیمت هتل اعمال میشود و بر سایر کاربردهای دادههای ساختاریافته در گوگل (مانند نتایج غنی جستجوی گوگل) تأثیری ندارد. برای کسب اطلاعات بیشتر در مورد فرمتهای پشتیبانیشده برای ویژگیهای جستجوی عمومی، به فرمتهای پشتیبانیشده مراجعه کنید. این مستندات، محتوای مرجع دقیقی را برای پیادهسازی دادههای ساختاریافته در هتلها ارائه میدهد.
دادههای ساختاریافته Hotel برای حاشیهنویسی فیلدهای مخصوص هتل در صفحه وب شما استفاده میشوند. دادههای ساختاریافته Hotel دارای ویژگیهای زیر هستند:
ویژگیهای
nameوaddressملک
makesOfferدارای خاصیت
hasMerchantReturnPolicy
دادههای ساختاریافته HotelRoom برای حاشیهنویسی فیلدهای مخصوص اتاق در صفحه وب شما استفاده میشوند.
دادههای ساختاریافته HotelRoom دارای ویژگیهای زیر هستند:
ملک
offersویژگیهای
bedوoccupancyincludesObjectویژگی شیء استویژگی
availabilityامکانات
amenityFeature
ویژگیهای ناوبری برای توضیح عناصر تعاملی و وضعیت صفحه به خزندهها استفاده میشوند. برای اطلاعات بیشتر، به برچسبگذاری ناوبری مراجعه کنید.
دادههای ساختاریافته هتل
ویژگیهای زیر برای موجودیت هتل اعمال میشود.
ویژگیهای 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 از سینتکس زیر استفاده میکنند:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">1234 Main St.</span>,
<span itemprop="addressLocality">City Name</span>,
<span itemprop="addressRegion">State Name</span>
<span itemprop="postalCode">01234</span>
<span itemprop="addressCountry">XX</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 آمده است:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<h1 itemprop="name">Mountain Hotel</h1>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">Technikerstrasse 21</span>,
<span itemprop="addressLocality">Innsbruck</span>,
<span itemprop="addressRegion">Tyrol</span>
<span itemprop="postalCode">6020</span>
<span itemprop="addressCountry">AT</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 از سینتکس زیر استفاده میکند:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
Check-out: <time itemprop="checkoutTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
<meta itemprop="availability" content="https://schema.org/InStock"/>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
...
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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
مثال زیر یک مثال ساده برای حاشیهنویسی پیشنهادات هتل شماست. میتوانید چندین پیشنهاد برای یک برنامه سفر مشخص کنید، اما باید ابتدا نرخ نمایش داده شده در گوگل و سپس سایر نرخها را مشخص کنید. مبلغ قیمت مشخص شده شامل تمام مالیاتهای مربوطه میشود.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">Mountain Hotel</span>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1200.74</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Mountain Hotel",
"identifier": "hotel-id-1234",
"address": { ... },
"makesOffer": [
{
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
},
{
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1200.74,
"priceCurrency": "USD"
}
}
]
}
Hotel priceSpecification ملک
این ویژگی برای حاشیهنویسی اطلاعات قیمتگذاری هتل یا اتاقهای هتل شما استفاده میشود. دو ویژگی اضافی وجود دارد که برای حاشیهنویسی قیمتها و مالیاتهای شما مورد نیاز است. شما باید از CompoundPriceSpecification برای مشخص کردن اطلاعات کل قیمتگذاری مانند نرخ پایه، مالیات و تخفیفها استفاده کنید. از UnitPriceSpecification برای مشخص کردن مالیاتهای اضافی یا انواع خاص هزینهها مانند ResortFee ، GenericTax و ServiceFee استفاده کنید. ویژگی priceSpecification با ویژگی Offer همراه است.
{
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
},
...
]
}
}
نحو
ویژگی Hotel priceSpecification از سینتکس زیر استفاده میکند:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
...
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name"></span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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"
}
]
}
}
}
خواص
hotel priceSpecification به شرح زیر است:
| ملک | الزامی است؟ | نوع | توضیحات |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | قیمت کل شامل مالیات و هزینههای هتل. نرخ گوگل همیشه باید در صفحه فرود شما به همراه جزئیات کامل نرخ، حاشیهنویسی شود. حاشیهنویسی جزئیات نرخ به شما امکان میدهد تا بررسیهای دقیقی از قیمت انجام دهید. گوگل هم قیمتهای سطح هتل و هم قیمتهای سطح اتاق را میپذیرد. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | یک کد ارزی سه حرفی برای قیمت مشخص شده. مثال: "USD" . |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | تفکیک قیمت کل شامل مالیات و هزینههای هتل. دو نوع داده ساختار یافته قیمت وجود دارد:
شما باید مقادیر را در ویژگی |
| Hotel.Offer.priceSpecification.priceComponent. potentialAction | Optional | PayAction | محل پرداخت هتل. جریانهای پرداخت هتل شامل قیمتهایی است که در زمان خروج از سایت رزرو و در زمان ورود به هتل دریافت میشوند. شما باید از ویژگی گوگل از دو تنظیم زیر برای گیرندهی
|
مثالها
در ادامه نمونههایی از مشخصات قیمت هتلها آمده است.
قیمت
در ادامه یک مثال ساده از افزودن دادههای ساختاریافته قیمت به صفحه وب شما آورده شده است. میتوان چندین پیشنهاد در سطح هتل را در ویژگی makesOffer گنجاند.
اگر بخواهید ویژگی address را مشخص کنید، انواع PostalAddress مانند addressCountry ، postalCode ، streetAddress و سایر فیلدها اجباری هستند. نرخ نمایش داده شده توسط گوگل باید در ابتدا در ویژگی makesOffer ذکر شود. مبلغ قیمت مشخص شده شامل تمام مالیاتهای مربوطه میشود.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">Technikerstrasse 21</span>,
<span itemprop="addressLocality">Innsbruck</span>,
<span itemprop="addressRegion">Tyrol</span>
<span itemprop="postalCode">6020</span>
<span itemprop="addressCountry">AT</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1200.74</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 مشخص شود.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<h1 itemprop="name">ACME Hotel</h1>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">123 Main street</span>,
<span itemprop="addressLocality">Mountain View</span>,
<span itemprop="addressRegion">Santa Clara</span>
<span itemprop="postalCode">94040</span>
<span itemprop="addressCountry">US</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total Price: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
<!-- Price Components -->
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base Rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
<meta itemprop="priceComponentType" content="GenericTax" />
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">-100</span>
<meta itemprop="priceComponentType" content="Discount" />
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 آمده است.
قیمت کل بسته ۱۱۷۰ دلار است و وبسایت آنلاین بخشی از قیمت کل را که ۱۱۵۰ دلار است، در زمان رزرو که با استفاده از "@type": "OnlineBusiness" مشخص شده است، دریافت میکند و کاربر باید ۲۰ دلار باقیمانده را در زمان ورود به هتل که با استفاده از " @type": "Hotel" مشخص شده است، پرداخت کند.
شما باید کامپوننت potentialAction را برای تفکیک پرداخت در زمان رزرو و در هتل مشخص کنید. اگر مشخص نشده باشد، payAction پرداخت در زمان رزرو را به عنوان روش پرداخت پیشفرض تفسیر میکند.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Price Due: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1170</span>
<!-- Paid Online -->
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
<div itemprop="potentialAction" itemscope itemtype="https://schema.org/PayAction">
<div itemprop="recipient" itemscope itemtype="https://schema.org/OnlineBusiness">
<span itemprop="name">myonlinebusiness</span>
</div>
</div>
</div>
<!-- Paid at Hotel -->
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">20</span>
<div itemprop="potentialAction" itemscope itemtype="https://schema.org/PayAction">
<div itemprop="recipient" itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">The Langham, Boston</span>
</div>
</div>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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": { ... }
}
}
}
]
}
}
}
دارای خاصیت hasMerchantReturnPolicy
این ویژگی برای حاشیهنویسی سیاست بازپرداخت فروشنده در برنامههای سفر استفاده میشود.
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
"restockingFee": 0
}
نحو
hasMerchantReturnPolicy دارای سینتکس زیر است:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
...
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="hasMerchantReturnPolicy" itemscope itemtype="https://schema.org/MerchantReturnPolicy">
<link itemprop="returnPolicyCategory" href="https://schema.org/MerchantReturnFiniteReturnWindow"/>
<link itemprop="refundType" href="https://schema.org/FullRefund"/>
<meta itemprop="merchantReturnDays" content="YYYY-MM-DDTHH:mm:ss"/>
<meta itemprop="restockingFee" content="0"/>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 | سیاست بازپرداخت وجه فروشنده. شرکا باید از اگر |
مثال سیاست بازگشت کالا
در ادامه یک مثال ساده از دادههای ساختاریافته برای یک هتل با جزئیات اتاق و قیمت کل به همراه مالیات و هزینهها آمده است. این مثال نشاندهنده اقامتی است که میتوان آن را بدون هیچ هزینهای تا ساعت ۱۱ شب (UTC) در ۱۸ دسامبر ۲۰۲۳ لغو کرد. شرکا باید از "MerchantReturnPolicy.restockingFee" برای نشان دادن سیاستهای لغوی که کل مبلغ اقامت را بازپرداخت نمیکنند، استفاده کنند. restockingFee به طور پیشفرض روی ۰ دلار تنظیم شده است.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="hasMerchantReturnPolicy" itemscope itemtype="https://schema.org/MerchantReturnPolicy">
<link itemprop="returnPolicyCategory" href="https://schema.org/MerchantReturnFiniteReturnWindow"/>
<link itemprop="refundType" href="https://schema.org/FullRefund"/>
Cancellation Deadline: <time itemprop="merchantReturnDays" content="2023-12-18T23:00:00">2023-12-18 23:00:00</time>
Fee: $<span itemprop="restockingFee">0</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 دارای سینتکس زیر است:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
...
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="eligibleCustomerType" content="RewardsMember"/>
...
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 مشخص کرد. |
مثالها
در زیر نمونههایی از نرخهای پاداش اعضا آمده است.
نرخهای اعضا
در ادامه یک مثال ساده از قیمتگذاری اعضا یا تعیین نرخهای مشخص برای برنامههای وفاداری آمده است. مشتری، «عضو پاداش» هتل است.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<!-- Address details -->
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<span itemprop="name">RewardsMember</span>
<meta itemprop="eligibleCustomerType" content="RewardsMember"/>
Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1342.74</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1069.98</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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"
}
]
}
}
}
نرخهای اعضا و نرخهای عادی
این نمونهای از حاشیهنویسی قیمتهای معمولی و قیمتهای ویژه اعضا است. قیمتگذاری اعضا ابتدا و به دنبال آن قیمتهای ویژه اعضا ذکر شده است.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<!-- Address details -->
</div>
<!-- Member Rate -->
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<span itemprop="name">RewardsMember</span>
<meta itemprop="eligibleCustomerType" content="RewardsMember"/>
Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1342.74</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1069.98</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="currency">$</span><span itemprop="price">172.74</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
</div>
</div>
</div>
<!-- Regular Rate -->
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<span itemprop="name">regularRate</span>
Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1572.24</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1369.98</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="currency">$</span><span itemprop="price">202.26</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"address": {...},
"makesOffer": [
{
"@type": ["Offer", "LodgingReservation"],
"name": "RewardsMember",
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1342.74,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1069.98,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 172.74,
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "ResortFee",
"price": 100,
"priceCurrency": "USD"
}
]
}
},
{
"@type": ["Offer", "LodgingReservation"],
"name": "regularRate",
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"priceSpecification": {
"price": 1572.24,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1369.98,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 202.26,
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "ResortFee",
"price": 100,
"priceCurrency": "USD"
}
]
}
}
]
}
دادههای ساختاریافته HotelRoom
ویژگیهای زیر به موجودیت 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 دارای سینتکس زیر است:
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom">
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
Check-out: <time itemprop="checkoutTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
...
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom">
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 دارای سینتکس زیر هستند:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">room-name</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<!-- Bed Details -->
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">integer</span>
<span itemprop="typeOfBed">KING</span>
</div>
<!-- Occupancy -->
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">integer</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "hotel-name",
"identifier": "hotel-id-1234",
"containsPlace": {
"@type": ["HotelRoom", "Product"],
"name": "room-name",
"identifier": "hotel-room-id-1234",
"bed": {
"@type": "BedDetails",
"numberOfBeds": "integer",
"typeOfBed": "KING"
},
"occupancy": {
"@type": "QuantitativeValue",
"value": "integer"
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": {
"@type": "UnitPriceSpecification",
"name": "",
"price": "float",
"priceCurrency": "currency"
},
...
}
}
}
}
ویژگیهای bed و occupancy فقط با استفاده از ویژگی HotelRoom قابل تنظیم هستند. اطلاعات مربوط به اتاق، از جمله نرخهای سطح اتاق، میتوانند از طریق ویژگی containsPlace به ویژگی Hotel اضافه شوند. به مثال مشخصات Hotel و HotelRoom مراجعه کنید.
خواص
ویژگیهای bed و occupancy به شرح زیر است:
| ملک | الزامی است؟ | نوع | توضیحات |
|---|---|---|---|
| HotelRoom.bed | Optional (Recommended) | bed | نوع تخت (یا تختهای) موجود در محل اقامت و تعداد ساکنین اتاق. مقادیر پشتیبانی شده عبارتند از:
|
| HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | تعداد مهمانان در اتاق هتل. نوع اشغال اتاق از نوع ظرفیت اتاق، ویژگی صریح |
| containsPlace | Optional (Recommended) | LocationFeatureSpecification | از آن برای حاشیهنویسی نرخهای سطح اتاق مرتبط با اتاقهای خاص استفاده میشود. همچنین میتوان از آن برای مشخص کردن امکانات رفاهی اتاق استفاده کرد. درباره نحوه استفاده از |
مثالها
در ادامه نمونههایی از مشخصات تخت و تعداد نفرات آمده است.
مثال HotelRoom
در زیر یک مثال اساسی از تعداد تختها و تعداد نفرات برای مشخصات اتاق آمده است.
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room, 1 King Bed",
"identifier": "hotel-room-id-1234",
"bed": [
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "SINGLE"
}
],
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
مثال Hotel و HotelRoom
در ادامه مثالی از حاشیهنویسی ویژگیهای Hotel و HotelRoom به همراه ویژگیهای bed ، occupancy و priceSpecification آمده است.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<meta itemprop="identifier" content="hotel-room-id"/>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Minibar</span>
<meta itemprop="value" content="true"/>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 برای اتاقهای هتل دارای سینتکس زیر است:
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
...
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name"></span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 | قیمت هر اتاق شامل مالیات و هزینههای مربوط به نرخ گوگل همیشه باید در صفحه فرود شما به همراه جزئیات کامل نرخ، حاشیهنویسی شود. حاشیهنویسی جزئیات نرخ به شما امکان میدهد تا بررسیهای دقیقی از قیمت انجام دهید. گوگل هم قیمتهای سطح هتل و هم قیمتهای سطح اتاق را میپذیرد. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | یک کد ارزی سه حرفی برای قیمت مشخص شده. مثال: "USD" . |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | تفکیک قیمت کل شامل مالیات و هزینههای اتاق هتل و تعداد اتاقهای اشغال شده به همراه پیشنهادهای مرتبط با
|
مثالها
نمونههایی از مشخصات قیمت HotelRoom در زیر آمده است.
مثال قیمت کل اتاق
در ادامه یک مثال ساده از تعریف قیمت کل برای مدت اقامت و قیمت هر اتاق آمده است.
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room King, 1 Single Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1232.74</span>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 و ظرفیت ۲ مهمان تعریف شده است.
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room King, 1 Single Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">-100</span>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 برای سرویسهای با نرخ مشخص موجود در اتاق، سینتکس زیر را دارد:
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
...
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/Service">
<span itemprop="name">Valet</span>
</div>
</div>
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<meta itemprop="amountOfThisGood" content="float"/>
<meta itemprop="unitText" content="currency"/>
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/FoodService">
<span itemprop="name">MealCredit</span>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@context": "https://schema.org",
...
"@type": ["HotelRoom", "Product"],
...
"offers": {
"@type": ["Offer", "LodgingReservation"],
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
},
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": "float",
"unitText": "currency",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
}
ملک
شیء includesObject دارای ویژگی زیر است:
| ویژگی | الزامی است؟ | نوع | توضیحات |
|---|---|---|---|
| Offer.includesObject | Optional | TypeAndQuantityNode | خدماتی که در هتل یا اتاق ارائه میشود. ویژگیهای مختص نرخ، در ویژگی ویژگیهای خاص نرخ نیز ممکن است در پیشنهادات سطح پایه گنجانده شوند، یا ممکن است به عنوان افزونههایی با قیمت اضافی مشخص شوند.
|
مثال includesObject
در ادامه یک مثال ساده از ویژگیهای نرخ-محور برای پارکینگهای خدماتی و خدمات غذایی آمده است. ویژگیهای نرخ-محور باید با ویژگی Offer.includesObject مشخص شوند. فیلد name در TypeAndQuantityNode.typeOfGood باید برای نشان دادن نوع خدمات استفاده شود.
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
<!-- Included Services -->
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/Service">
<span itemprop="name">Valet</span>
</div>
</div>
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<meta itemprop="amountOfThisGood" content="50"/>
<meta itemprop="unitText" content="USD"/>
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/FoodService">
<span itemprop="name">MealCredit</span>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 دارای سینتکس زیر است:
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
...
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<meta itemprop="availability" content="https://schema.org/SoldOut"/>
Sold Out
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 | در دسترس بودن هتل یا اتاق. نرخها از پیشنهادی بدون اگر پیشنهاد با یک |
مثال availability
مثال زیر یک مثال ساده برای نشان دادن خالی بودن اتاق هتل است. شما باید نوع تخت، تعداد تختها و جزئیات ظرفیت اتاق مشخص شده را ذکر کنید.
میکرودیتا
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<meta itemprop="availability" content="https://schema.org/SoldOut"/>
Sold Out
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<!-- Price Specification details -->
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@context": "https://schema.org",
"@type": ["HotelRoom", "Product"],
"name": "Deluxe Room, 1 King Bed",
"identifier": "hotel-room-id-1234",
"bed": [
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "KING"
},
{
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "SINGLE"
}
],
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"availability": "https://schema.org/SoldOut",
"priceSpecification": {...}
}
}
امکانات amenityFeature
امکانات رفاهی را میتوان با استفاده از ویژگی amenityFeature در نوع Hotel یا HotelRoom مشخص کرد. برای مشخص کردن امکانات رفاهی ارائه شده در اتاق، باید از ویژگی containsPlace استفاده کنید.
{
"@type": "Hotel",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "HotTub",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"opens": "HH:mm:ss",
"closes": "HH:mm:ss"
}
},
{
"@type": "LocationFeatureSpecification",
"name": "GymFitnessEquipment",
"value": "boolean"
}
],
"containsPlace": {
"@type": "HotelRoom",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "Minibar",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Smoking",
"value": false
}
]
}
}
نحو
ویژگیهای amenityFeature و containsPlace دارای سینتکس زیر هستند:
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
...
<!-- Hotel Amenity -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">HotTub</span>
<div itemprop="hoursAvailable" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
<time itemprop="opens" content="HH:mm:ss">HH:mm:ss</time>
<time itemprop="closes" content="HH:mm:ss">HH:mm:ss</time>
</div>
</div>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom">
<!-- Room Amenity -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Minibar</span>
<meta itemprop="value" content="boolean"/>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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 | اینکه آیا ملک وای فای دارد یا خیر. |
| 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 | امکانات رفاهی ارائه شده در هتل یا اتاق برای همه مهمانان هتل. این امکانات را میتوان با استفاده از |
مثال امکانات رفاهی
نمونهی زیر، نمونهای ساده از هتلی است که استخر آن از ساعت ۱۰ صبح تا ۱۰ شب باز است و باشگاه ورزشی ندارد. اتاق هتل سیگار کشیدن ممنوع است و مینیبار دارد.
میکرودیتا
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<!-- Amenities -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">HotTub</span>
<div itemprop="hoursAvailable" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
Open from <time itemprop="opens" content="10:00:00">10:00</time>
to <time itemprop="closes" content="22:00:00">22:00</time>
</div>
</div>
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">GymFitnessEquipment</span>:
<meta itemprop="value" content="false"/> No
</div>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom">
<!-- Room Amenities -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Minibar</span>:
<meta itemprop="value" content="true"/> Yes
</div>
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Smoking</span>:
<meta itemprop="value" content="false"/> No
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
</div>
JSON-LD (منسوخ شده)
{
"@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"
}
}
}
}
برچسبگذاری ناوبری
ویژگیهای سفارشی HTML5 با پیشوند data-nav- برای حاشیهنویسی عناصر تعاملی و اعلام وضعیت صفحه استفاده میشوند و به خزنده اجازه میدهند تا در جریان رزرو پیمایش کند.
نحو
تگگذاری ناوبری از سینتکس ویژگی زیر استفاده میکند:
ویژگیها
<body data-nav-stage="stage_name">
...
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Action
</button>
...
<button data-nav-close="true">Dismiss</button>
</body>
خواص
ویژگیهای ناوبری به شرح زیر هستند:
| ویژگی | ارزشها | توضیحات |
|---|---|---|
| data-nav-stage | landing, room-selection, checkout, confirmation | وضعیت فعال قیف را برای خزندهها اعلام میکند. به <body> یا پوشش سطح بالا متصل است. |
| data-nav-stage-final | true, false | نشانگر آخرین صفحه از جریان (پیشفرض false ). اگر هیچ عنصری با data-nav-criticalpath="true" در صفحهای وجود نداشته باشد، خزنده بهطور خودکار آن را بهعنوان صفحه پایانی جریان در نظر میگیرد. |
| data-nav-criticalpath | true, false | عنصری را علامتگذاری میکند که خزنده برای رسیدن به صفحه رزرو نهایی باید با آن تعامل داشته باشد. اگر هیچ عنصری با data-nav-criticalpath="true" در صفحهای وجود نداشته باشد، خزنده به طور خودکار آن را به عنوان صفحه نهایی جریان در نظر میگیرد. |
| data-nav-interactiontype | CLICK, SELECT | عمل تعامل را مشخص میکند. CLICK برای دکمهها/لینکها است. SELECT برای منوهای کشویی/گروههای رادیویی است. |
| data-nav-interactionorder | integer | یک توالی اجرا برای پیمایش چند مرحلهای ارائه میدهد. اعداد کوچکتر ابتدا اجرا میشوند. |
| data-nav-close | true | دکمههای رد کردن را در پنجرههای بازشو، پوششهای بنر کوکی یا ماژولهای افزایش فروش علامتگذاری میکند. |
مثال ناوبری
در ادامه نمونههایی از تگگذاری ناوبری آمده است.
روی ناوبری کلیک کنید
در ادامه یک مثال ساده از ناوبری کلیک که مرحله قیف فروش را اعلام میکند، آورده شده است.
<body data-nav-stage="room-selection" data-nav-stage-final="false">
<h1>Select Your Room</h1>
<!-- Crawler needs to click this to proceed -->
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Select & Proceed
</button>
</body>
ناوبری چند مرحلهای
در ادامه مثالی از ناوبری چند مرحلهای شامل بنر کوکی، نمایش آکاردئونی و کلیک آمده است.
<div data-nav-stage="landing" data-nav-stage-final="false">
<!-- Hotel, LodgingReservation info, and Offer price are expected to be included in this page -->
<!-- Step 1: Accept cookies -->
<div class="cookie-banner">
<p>We use cookies to improve your experience.</p>
<button data-nav-close="true"
data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">Accept cookies</button>
</div>
<!-- Step 2: Open accordion to reveal pricing (Crucial for making prices visible in Mobile UIs) -->
<div data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="2"
class="accordion-header">
<span>View Room Rates</span>
</div>
<!-- Step 3: Book the room -->
<div class="accordion-content">
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="3">
Book Now
</button>
</div>
</div>
اعلامیه صفحه نهایی
در ادامه مثالی از اعلان صفحه پایانی جریان رزرو آمده است.
<!-- Marks this as the final confirmation page where price is extracted -->
<!-- Hotel, LodgingReservation info, and Offer price are expected to be included in this page -->
<div data-nav-stage="confirmation" data-nav-stage-final="true">
<h1>Grand View Hotel</h1>
<!-- Price and other details here -->
</div>