مرجع داده های ساختاری قیمت هتل

این صفحه مرجعی برای افزودن نشانه‌گذاری‌های داده‌های ساختاریافته به داده‌های قیمت‌گذاری هتل‌های شما ارائه می‌دهد.

نمای کلی

داده‌های ساختاریافته قیمت هتل برای توضیح، اعتبارسنجی و نمایش دقیق قیمت‌های هتل ذکر شده در وب‌سایت شما صرف نظر از رابط کاربری استفاده می‌شوند. این شامل قیمت پایه، نرخ‌ها، اتاق‌ها، هزینه‌ها و مالیات‌ها و فیلدهای مرتبط با قیمت‌گذاری نیز می‌شود.

گوگل به شرکا توصیه می‌کند صفحات وب خود را با داده‌های ساختاریافته استاندارد که توسط schema.org ارائه می‌شود و برای خزنده‌ها قابل خواندن توسط ماشین است، حاشیه‌نویسی کنند تا قیمت‌ها را به طور دقیق از صفحات وب شما استخراج کنند.

این امر امکان مقیاس‌بندی اعتبارسنجی‌های دقت قیمت را از طریق بهبود قابلیت اطمینان خزنده‌ها فراهم می‌کند. مزیت آن برای شما افزایش تعداد اعتبارسنجی‌های دقت قیمت و امکان اشکال‌زدایی مستقیم مشکلات دقت قیمت و همچنین داشتن یک امتیاز ثابت برای دقت قیمت است.

اگر در زمینه داده‌های ساختاریافته تازه‌کار هستید، درباره واژگان و قالب داده‌های ساختاریافته بیشتر بیاموزید.

گوگل هتلز فرمت JSON-LD را برای حاشیه‌نویسی صفحات وب شما توصیه می‌کند. برای کسب اطلاعات بیشتر در مورد سایر فرمت‌های قابل قبول، به فرمت‌های پشتیبانی شده مراجعه کنید. این مستندات، محتوای مرجع دقیقی را برای پیاده‌سازی داده‌های ساختاریافته در هتلز ارائه می‌دهد.

داده‌های ساختاریافته Hotel برای حاشیه‌نویسی فیلدهای مخصوص هتل در صفحه وب شما استفاده می‌شوند. داده‌های ساختاریافته Hotel دارای ویژگی‌های زیر هستند:

داده‌های ساختاریافته HotelRoom برای حاشیه‌نویسی فیلدهای مخصوص اتاق در صفحه وب شما استفاده می‌شوند.

داده‌های ساختاریافته HotelRoom دارای ویژگی‌های زیر هستند:

داده‌های ساختاریافته هتل

ویژگی‌های 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

پیشنهاد(های) هتل برای برنامه سفر داده شده.

ویژگی makesOffer می‌تواند شامل آرایه‌ای از پیشنهادات باشد.

LodgingReservation.checkinTime Required DateTime

زمان ورود به سیستم در منطقه زمانی کاربر. اگر منطقه زمانی شما ذکر نشده باشد، منطقه زمانی هتل در نظر گرفته می‌شود.

LodgingReservation.checkoutTime Required DateTime

زمان خروج در منطقه زمانی کاربر. اگر منطقه زمانی شما ذکر نشده باشد، منطقه زمانی هتل در نظر گرفته می‌شود.

مثال

پیشنهاد می‌دهد

مثال زیر یک مثال ساده برای حاشیه‌نویسی پیشنهادات هتل شماست. می‌توانید چندین پیشنهاد برای یک برنامه سفر مشخص کنید، اما باید ابتدا نرخ نمایش داده شده در گوگل و سپس سایر نرخ‌ها را مشخص کنید. مبلغ قیمت مشخص شده شامل تمام مالیات‌های مربوطه می‌شود.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Mountain Hotel",
  "identifier": "hotel-id-1234",
  "address": { ... },
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1200.74,
        "priceCurrency": "USD"
      }
    }
  ]
}

Hotel priceSpecification ملک

این ویژگی برای حاشیه‌نویسی اطلاعات قیمت‌گذاری هتل یا اتاق‌های هتل شما استفاده می‌شود. دو ویژگی اضافی وجود دارد که برای حاشیه‌نویسی قیمت‌ها و مالیات‌های شما مورد نیاز است. شما باید از CompoundPriceSpecification برای مشخص کردن اطلاعات کل قیمت‌گذاری مانند نرخ پایه، مالیات و تخفیف‌ها استفاده کنید. از UnitPriceSpecification برای مشخص کردن مالیات‌های اضافی یا انواع خاص هزینه‌ها مانند ResortFee ، GenericTax و ServiceFee استفاده کنید. ویژگی priceSpecification با ویژگی Offer همراه است.

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

نحو

ویژگی Hotel priceSpecification از سینتکس زیر استفاده می‌کند:

JSON-LD

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

میکرودیتا

  <div itemscope itemtype="https://schema.org/H>otel&<quot;
    meta itemprop="name" c>ontent="<hotel-name"/
    ...
    div itemscope itemtype="https://schema.org/Offer https://schema.org/Lodgin>gReservation"<; itemprop="makesOffer"
      ...
      div itemscope itemtype="https://schema.org/Co>mpoundPri<ceSpecification" itemprop="p>riceSpeci<fication"
        meta itemprop="price&>quot; con<tent="float"/
        meta itemprop="priceCurrency" content="curren>cy"/
 <       div itemscope itemtype=&q>uot;https:/</schema.org/UnitPriceSpecification&quo>t; itemprop<="priceComponent"
          meta itempr>op="<name>" co<ntent=""/
          meta itemprop="price" content="float"/
   >       meta< itemprop="priceCurrency" content>="curr<ency"/
        /div
        div i>temscope it<emtype="https://schema.org/UnitPriceSpecific>ation"< itemprop="priceComponent"
          meta item>prop=&quo<t;na>me" <content="GenericTax" /
          meta itemprop="price" content="flo>at"/
 <         meta itemprop="priceCurren>cy" co<ntent="currency"/
          >meta itempr<op="priceComponentType" content="G>enericTax&q<uot;/
        /div
        div itemscope itemtype=&quo>t;https:/</sch>ema.org</Uni>tPric<eSpe>cif<icat>ion" 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

قیمت کل شامل مالیات و هزینه‌های هتل.

نرخ گوگل همیشه باید در صفحه فرود شما به همراه جزئیات کامل نرخ، حاشیه‌نویسی شود. حاشیه‌نویسی جزئیات نرخ به شما امکان می‌دهد تا بررسی‌های دقیقی از قیمت انجام دهید. گوگل هم قیمت‌های سطح هتل و هم قیمت‌های سطح اتاق را می‌پذیرد.

Hotel.Offer.priceSpecification.priceCurrency Required currency یک کد ارزی سه حرفی برای قیمت مشخص شده. مثال: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

تفکیک قیمت کل شامل مالیات و هزینه‌های هتل. دو نوع داده ساختار یافته قیمت وجود دارد:

  • CompoundPriceSpecification جزئیات قیمت را ارائه می‌دهد که شامل موارد زیر است:

    • نرخ پایه: قیمت پایه برای هر شب

    • مالیات به ازای هر اقامت: قیمت هر شب با احتساب مالیات.

    • هزینه‌های هر نفر: قیمت هر شب اقامت برای هر نفر.

    • تخفیف: مبلغ کسر.

  • UnitPriceSpecification برای مشخص کردن نوع هزینه‌ها استفاده می‌شود. برای مشخص کردن هزینه‌های اضافی، باید مقادیر PriceComponentTypeEnumeration نیز وارد کنید.

    مقادیر مربوط به PriceComponentTypeEnumeration عبارتند از:

    • Discount : تخفیف عمومی نسبت به قیمت.

    • ResortFee : هزینه‌ای اضافی است که باید در هتل پرداخت شود. این هزینه بسته به نوع اقامتگاه می‌تواند متفاوت باشد.

    • GenericTax : این یک مالیات متفرقه اضافی است.

    • ServiceFee : هزینه اضافی است که توسط کانال رزرو دریافت می‌شود.

    • TransferFee : این یک هزینه اجباری برای حمل و نقل به هتل است که توسط هتل یا کانال رزرو دریافت می‌شود.

شما باید مقادیر را در ویژگی priceComponentType تنظیم کنید. اگر تصمیم دارید UnitPriceSpecification را لحاظ کنید، تمام مقادیر الزامی هستند و باید در ویژگی UnitPriceSpecification مشخص شوند.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

محل پرداخت هتل. جریان‌های پرداخت هتل شامل قیمت‌هایی است که در زمان خروج از سایت رزرو و در زمان ورود به هتل دریافت می‌شوند.

شما باید از ویژگی potentialAction که همراه با فیلد " recipient " در PayAction ارائه می‌شود، برای نشان دادن نقطه پرداخت استفاده کنید. برای کسب اطلاعات بیشتر در مورد ویژگی recipient به PayAction مراجعه کنید.

گوگل از دو تنظیم زیر برای گیرنده‌ی PayAction پشتیبانی می‌کند:

  • recipient.@type = "OnlineBusiness" به پرداختی که در زمان رزرو توسط فروشنده آنلاین دریافت می‌شود، اشاره دارد. اگر potentialAction مشخص نشده باشد، این تنظیم پیش‌فرض است.

  • recipient.@type = "Hotel" به پرداختی که در هتل دریافت می‌شود اشاره دارد.

مثال‌ها

مثال‌های JSON-LD

قیمت

در ادامه یک مثال ساده از افزودن داده‌های ساختاریافته قیمت به صفحه وب شما آورده شده است. می‌توان چندین پیشنهاد در سطح هتل را در ویژگی makesOffer گنجاند.

اگر بخواهید ویژگی address را مشخص کنید، انواع PostalAddress مانند addressCountry ، postalCode ، streetAddress و سایر فیلدها اجباری هستند. نرخ نمایش داده شده توسط گوگل باید در ابتدا در ویژگی 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 آمده است.

قیمت کل بسته ۱۱۷۰ دلار است و وب‌سایت آنلاین بخشی از قیمت کل را که ۱۱۵۰ دلار است، در زمان رزرو که با استفاده از "@type": "OnlineBusiness" مشخص شده است، دریافت می‌کند و کاربر باید ۲۰ دلار باقیمانده را در زمان ورود به هتل که با استفاده از " @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": { ... }
            }
          }
        }
      ]
    }
  }
}

مثال میکرودیتا

تفکیک قیمت

در ادامه مثالی از ویژگی priceSpecification به همراه جزئیات قیمت آمده است. نرخ پایه، مالیات‌هایی مانند مالیات عمومی و تخفیف با استفاده از کامپوننت UnitPriceSpecification تعریف می‌شوند. به یاد داشته باشید که ویژگی name را با مقادیر مربوط به کامپوننت UnitPriceSpecification تنظیم کنید.

قیمت کل برای مدت اقامت باید در ویژگی CompoundPriceSpecification مشخص شود. جزئیات قیمت باید در ویژگی priceComponent مشخص شود.

<div itemscope itemtype="https://schema.org/H>ote<l"
  meta itemprop="name" c>ont<ent="ACME Hotel"/
  meta itemprop="i>den<tifier" content="hotel-id-1234"/
  div itemscope itemtype=&qu>ot;ht<tps://schema.org/PostalAddress" itemprop>=&quo<t;address"
    meta itemprop="addressCountry&qu>ot; c<ontent="US" /
    meta itemprop="addre>ssLoc<ality" content="Mountain View">; /
 <   meta itemprop="addressRegion" content=">San<ta C>lar<a" /
    meta itemprop="postalCode" content="94040" /
    meta itemprop="streetAdd>ress&<quot; content="123 Main street" /
  /div
  div it>emsco<pe itemtype="https://schema.org/Offer   https://schema>.org/<LodgingReservation"  itemprop="makesOffer"
    meta itemprop="checkinTime" co>ntent<="2023-03-10 15:00:00" /
    me>ta it<emprop="checkoutTime" content=">;2023-0<3-16 10:00:00"/
    div itemscope itemtype="https://schema.org/CompoundPriceSpecifica>tion"<;   itemprop="priceSpecifica>tion"<;
    meta itemprop="price" >content=&<quot;1222.74" /
    meta itemprop=">priceCu<rren>cy"<; content="USD" /
      div itemscope itemtype="https://schema.org/UnitPriceSp>ecificati<on"    itemprop="priceComponent&q>uot;
    <    meta itemprop="name" conte>nt="<" /
        meta itemprop="price&qu>ot; conte<nt="1150" /
        meta itemprop="priceCu>rrency&<quot>; conte<nt="USD" /
      /div
      div itemscope itemtype="https://schema.org/UnitPric>eSpecific<ation"  itemprop="priceComponen>t"
 <       meta itemprop="name" >content=&<quot;GenericTax" /
        meta itemprop>="pr<ice" content="172.74" /
        meta ite>mprop=&<quot>;pric<eCur>ren<cy&q>u<ot; >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": &quot;MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
      "restockingFee": 0
    }

نحو

hasMerchantReturnPolicy دارای سینتکس زیر است:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "priceSpecification": { ... },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
      "restockingFee": 0
    }
  }
}

ملک

کد زیر خاصیت hasMerchantReturnPolicy است:

ویژگی الزامی است؟ نوع توضیحات
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

سیاست بازپرداخت وجه فروشنده. شرکا باید از MerchantReturnPolicy.restockingFee برای نشان دادن سیاست‌های لغو رزرو که کل مبلغ را برای مدت اقامت بازپرداخت نمی‌کنند، استفاده کنند.

اگر hasMerchantReturnPolicy مشخص نشده باشد یا خالی گذاشته شده باشد، فرض بر این است که مبلغ قابل استرداد نیست. می‌توانید با استفاده از ویژگی returnPolicyCategory: MerchantReturnNotPermitted سیاست عدم استرداد را مشخص کنید.

مثال

سیاست بازگشت کالا

در ادامه یک مثال ساده از داده‌های ساختاریافته برای یک هتل با جزئیات اتاق و قیمت کل به همراه مالیات و هزینه‌ها آمده است. این مثال نشان‌دهنده اقامتی است که می‌توان آن را بدون هیچ هزینه‌ای تا ساعت ۱۱ شب (UTC) در ۱۸ دسامبر ۲۰۲۳ لغو کرد. شرکا باید از "MerchantReturnPolicy.restockingFee" برای نشان دادن سیاست‌های لغوی که کل مبلغ اقامت را بازپرداخت نمی‌کنند، استفاده کنند. restockingFee به طور پیش‌فرض روی ۰ دلار تنظیم شده است.

{
  "@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&quot;,
      "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",
    &quot;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

برنامه‌های وفاداری یا جوایز عضویت که برای مشتریان ارائه می‌شود.

Many hotel pages display member rates together with public rates, to encourage users to sign up for their loyalty programs. Rates restricted to particular audiences, such as member rates, can be specified by setting the Offer.eligibleCustomerType property.

مثال‌ها

نرخ‌های اعضا

در ادامه یک مثال ساده از قیمت‌گذاری اعضا یا تعیین نرخ‌های مشخص برای برنامه‌های وفاداری آمده است. مشتری، «عضو پاداش» هتل است.

{
  "@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&quot;
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "ResortFee",
          "price": 100,
          "priceCurrency": "USD"
        }
      ]
    }
  }
}

نرخ‌های ویژه اعضا و عادی

این نمونه‌ای از حاشیه‌نویسی قیمت‌های معمولی و قیمت‌های ویژه اعضا است. قیمت‌گذاری اعضا ابتدا و به دنبال آن قیمت‌های ویژه اعضا ذکر شده است.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "name": "RewardsMember",
      "checkinTime": "2023-12-15 16:00:00",
      "checkoutTime": "2023-12-20 11:00:00",
      "eligibleCustomerType": "RewardsMember",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1342.74,
        "priceCurrency": "USD",
        "priceComponent": [
          {
            "@type": "UnitPriceSpecification",
            "name": "Base rate",
            "price": 1069.98,
            "priceCurrency": "USD"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "GenericTax",
            "price": 172.74,
            "priceCurrency": "currency"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "ResortFee",
            "price": 100,
            "priceCurrency": "USD"
          }
        ]
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "name": "regularRate",
      "checkinTime": "2023-12-15 16:00:00",
      "checkoutTime": "2023-12-20 11:00:00",
      "priceSpecification": {
        "price": 1572.24,
        "priceCurrency": "USD",
        "priceComponent": [
          {
            "@type": "UnitPriceSpecification",
            "name": "Base rate",
            "price": 1369.98,
            "priceCurrency": "USD"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "GenericTax",
            "price": 202.26,
            "priceCurrency": "currency"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "ResortFee",
            "price": 100,
            "priceCurrency": "USD"
          }
        ]
      }
    }
  ]
}

داده‌های ساختاریافته HotelRoom

ملک offers

حاشیه‌نویسی‌های offers برای نشانه‌گذاری برنامه‌های سفر اتاق شما استفاده می‌شوند. شما باید از ویژگی offers برای مشخصات HotelRoom استفاده کنید.

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

نحو

ویژگی offers دارای سینتکس زیر است:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      ...
    }
  }
}

خواص

موارد زیر از جمله املاک offers هستند:

ملک الزامی است؟ نوع توضیحات
offers Required Offer and LodgingReservation

مشخصات قیمت اتاق برای برنامه سفر داده شده.

ویژگی offers می‌تواند شامل مجموعه‌ای از پیشنهادات باشد.

LodgingReservation.checkinTime Required DateTime

زمان ورود به سیستم در منطقه زمانی کاربر. اگر منطقه زمانی شما ذکر نشده باشد، منطقه زمانی هتل در نظر گرفته می‌شود.

LodgingReservation.checkoutTime Required DateTime

زمان خروج در منطقه زمانی کاربر. اگر منطقه زمانی شما ذکر نشده باشد، منطقه زمانی هتل در نظر گرفته می‌شود.

مثال

پیشنهادات

در ادامه یک مثال ساده برای مشخص کردن offers در ملک HotelRoom آمده است.

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

ملک bed و occupancy

از ویژگی bed برای مشخص کردن نوع تخت و تعداد تخت‌های موجود در اتاق استفاده می‌شود. از ویژگی occupancy برای مشخص کردن تعداد مهمانان در اتاق استفاده می‌شود. ویژگی‌های bed و occupancy را می‌توان با استفاده از ویژگی HotelRoom مشخص کرد.

"@type";: "Hotel",
"identifier": &quot;hotel-id-1234",
"containsPlace": {
    "@type": [&quot;HotelRoom", "Product&quot;],
    "identifier": "hotel-room-id",
  "bed&quot;: {
    "@type": &quot;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 قابل تنظیم هستند. اطلاعات مربوط به اتاق، از جمله نرخ‌های سطح اتاق، می‌توانند از طریق ویژگی containsPlace به ویژگی Hotel اضافه شوند. به مثال مشخصات Hotel و HotelRoom مراجعه کنید.

خواص

ویژگی‌های bed و occupancy به شرح زیر است:

ملک الزامی است؟ نوع توضیحات
HotelRoom.bed Optional (Recommended) bed

نوع تخت (یا تخت‌های) موجود در محل اقامت و تعداد ساکنین اتاق.

مقادیر پشتیبانی شده عبارتند از:

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

تعداد مهمانان در اتاق هتل. نوع اشغال اتاق از نوع QuantitativeValue است.

ظرفیت اتاق، ویژگی صریح HotelRoom است و مختص یک Offer ویژه نیست. نرخ‌ها فقط باید برای ظرفیت درخواستی برچسب‌گذاری شوند.

containsPlace Optional (Recommended) LocationFeatureSpecification

از آن برای حاشیه‌نویسی نرخ‌های سطح اتاق مرتبط با اتاق‌های خاص استفاده می‌شود. همچنین می‌توان از آن برای مشخص کردن امکانات رفاهی اتاق استفاده کرد.

درباره نحوه استفاده از containsPlace در ویژگی amenityFeature بیشتر بیاموزید.

مثال‌ها

اتاق هتل

در زیر یک مثال اساسی از تعداد تخت‌ها و تعداد نفرات برای مشخصات اتاق آمده است.

{
  "@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&quot;],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    }
  }
}

هتل و اتاق هتل

در ادامه مثالی از حاشیه‌نویسی ویژگی‌های Hotel و HotelRoom به همراه ویژگی‌های bed ، occupancy و priceSpecification آمده است.

{
  "@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&quot;: {
  "@type": "CompoundPriceSpecification",
  "price": "float",
  ";priceCurrency": "currency",
  "priceComponent": {
    "@type": "UnitPriceSpecification",
    "name": "GenericTax",
    "price": "float",
    "priceCurrency": "currency"
  }
  ...
}

نحو

ویژگی priceSpecification برای اتاق‌های هتل دارای سینتکس زیر است:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  ...
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

خواص

موارد زیر HotelRoom priceSpecification است:

ملک الزامی است؟ نوع توضیحات
Hotel.Offer.priceSpecification.price Required float

قیمت هر اتاق شامل مالیات و هزینه‌های مربوط به Product .

نرخ گوگل همیشه باید در صفحه فرود شما به همراه جزئیات کامل نرخ، حاشیه‌نویسی شود. حاشیه‌نویسی جزئیات نرخ به شما امکان می‌دهد تا بررسی‌های دقیقی از قیمت انجام دهید. گوگل هم قیمت‌های سطح هتل و هم قیمت‌های سطح اتاق را می‌پذیرد.

Hotel.Offer.priceSpecification.priceCurrency Required currency یک کد ارزی سه حرفی برای قیمت مشخص شده. مثال: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

تفکیک قیمت کل شامل مالیات و هزینه‌های اتاق هتل و تعداد اتاق‌های اشغال شده به همراه پیشنهادهای مرتبط با HotelRoom و Product . دو نوع داده ساختار یافته قیمت وجود دارد:

  • CompoundPriceSpecification جزئیات قیمت را ارائه می‌دهد که شامل موارد زیر است:

    • نرخ پایه: قیمت پایه برای هر شب

    • مالیات به ازای هر اقامت: قیمت هر شب با احتساب مالیات.

    • هزینه‌های هر نفر: قیمت هر شب اقامت برای هر نفر.

      occupancy ، مشخصاً متعلق به HotelRoom است و برای یک Offer ویژه نیست. نرخ‌ها فقط باید برای ظرفیت درخواستی برچسب‌گذاری شوند.

    • تخفیف: مبلغ کسر.

  • UnitPriceSpecification برای مشخص کردن نوع هزینه‌ها استفاده می‌شود. برای مشخص کردن هزینه‌های اضافی، باید مقادیر PriceComponentTypeEnumeration نیز وارد کنید.

    مقادیر مربوط به PriceComponentTypeEnumeration عبارتند از:

    • Discount : تخفیف عمومی نسبت به قیمت.

    • ResortFee : هزینه‌ای اضافی است که باید در هتل پرداخت شود. این هزینه بسته به نوع اقامتگاه می‌تواند متفاوت باشد.

    • GenericTax : It is an additional miscellaneous tax.

    • ServiceFee : هزینه اضافی است که توسط کانال رزرو دریافت می‌شود.

    شما باید مقادیر را در ویژگی name UnitPriceSpecification تنظیم کنید. اگر تصمیم دارید جزئیات قیمت را لحاظ کنید، تمام مقادیر الزامی هستند و باید در کامپوننت 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": [&quot;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 و ظرفیت ۲ مهمان تعریف شده است.

{
  "@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": &quot;TypeAndQuantityNode",
      "typeOfGood": {
        "@type": "Service",
        "name&quot;: &quot;Valet"
      }
    },
    {
      "@type": "TypeAndQuantityNode",
      "amountOfThisGood": "float",
      "unitText": "currency",
      "typeOfGood": {
        "@type": "FoodService",
        "name": "MealCredit"
      }
    }
  ]
}

نحو

includesObject برای سرویس‌های با نرخ مشخص موجود در اتاق، سینتکس زیر را دارد:

JSON-LD

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

ملک

شیء includesObject دارای ویژگی زیر است:

ویژگی الزامی است؟ نوع توضیحات
Offer.includesObject Optional TypeAndQuantityNode

خدماتی که در هتل یا اتاق ارائه می‌شود.

ویژگی‌های مختص نرخ، در ویژگی includesObject گنجانده شده‌اند. فیلد نام در "TypeAndQuantityNode.typeOfGood" باید برای نشان دادن نوع سرویس مانند سرویس غذا یا سرویس پارک خودرو استفاده شود.

ویژگی‌های خاص نرخ نیز ممکن است در پیشنهادات سطح پایه گنجانده شوند، یا ممکن است به عنوان افزونه‌هایی با قیمت اضافی مشخص شوند.

includesObject به مقداری از نوع TypeAndQuantityNode به صورت زیر نیاز دارد:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

مثال

خدمات

در ادامه یک مثال ساده از ویژگی‌های نرخ-محور برای پارکینگ‌های خدماتی و خدمات غذایی آمده است. ویژگی‌های نرخ-محور باید با ویژگی "Offer.includesObject" مشخص شوند. فیلد نام در "TypeAndQuantityNode.typeOfGood" باید برای نشان دادن نوع خدمات استفاده شود.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    },
    "includesObject": [
      {
        "@type": "TypeAndQuantityNode",
        "typeOfGood": {
          &quot;@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": &quot;YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/SoldOut"
}

نحو

ویژگی availability دارای سینتکس زیر است:

JSON-LD

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

ملک

موارد زیر ویژگی availability هستند:

ویژگی الزامی است؟ نوع توضیحات
Offer.availability Optional ItemAvailability

در دسترس بودن هتل یا اتاق.

نرخ‌ها از schema.org/Offer استخراج می‌شوند و اطلاعات نرخ با استفاده از schema.org/Hotel یا schema.org/HotelRoom ایجاد نمی‌شود. این بدان معناست که حتی برنامه‌های سفری که تمام شده‌اند نیز باید دارای پیشنهاد قیمت باشند.

پیشنهادی بدون priceSpecification غیرقابل دسترس تلقی می‌شود. پیشنهادهای غیرقابل دسترس باید به صورت "Offer.availability= https://schema.org/SoldOut " مشخص شوند.

اگر پیشنهاد با یک priceSpecification. معتبر حاشیه‌نویسی شده باشد، نیازی به مشخص کردن Offer.availability نیست.

مثال

در دسترس بودن

مثال زیر یک مثال ساده برای نشان دادن خالی بودن اتاق هتل است. شما باید نوع تخت، تعداد تخت‌ها و جزئیات ظرفیت اتاق مشخص شده را ذکر کنید.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "availability": "https://schema.org/SoldOut",
    "priceSpecification": {...}
  }
}

امکانات amenityFeature

امکانات رفاهی را می‌توان با استفاده از ویژگی amenityFeature در نوع Hotel یا HotelRoom مشخص کرد. برای مشخص کردن امکانات رفاهی ارائه شده در اتاق، باید از ویژگی containsPlace استفاده کنید.

{
  "@type": &quot;Hotel",
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "HH:mm:ss",
        "closes": "HH:mm:ss"
      }
    },
    {
      "@type": &quot;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 اینکه آیا ملک وای فای دارد یا خیر.
amenityFeature.Smoking Optional boolean اینکه آیا محل اقامت اجازه سیگار کشیدن را می‌دهد یا خیر.
amenityFeature.InternetType Optional Enum

نوع اینترنت موجود در ملک.

مقادیر پشتیبانی شده عبارتند از:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

نوع پارکینگ موجود در ملک.

مقادیر پشتیبانی شده عبارتند از:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

نوع استخر موجود در ملک.

مقادیر پشتیبانی شده عبارتند از:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

نشان می‌دهد که آیا اتاق به سبک ژاپنی طراحی شده است یا خیر.

مقادیر پشتیبانی شده عبارتند از:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

License number of the business that is to be shown on the property in certain regions of the world. It can be repeated and if multiple licenses exist then it is recommended to add the owner or authority of the license. For example, "Paris: 123456ABC"

خواص

ویژگی‌های amenityFeature زیر عبارتند از:

ملک الزامی است؟ نوع توضیحات
amenityFeature Optional LocationFeatureSpecification

امکانات رفاهی ارائه شده در هتل یا اتاق. این امکانات را می‌توان با استفاده از ویژگی amenityFeature مشخص کرد. امکانات رفاهی باید صرف نظر از طرح نرخ انتخابی، برای همه مهمانان هتل در دسترس باشد. amenityFeature با استفاده از مقدار ویژگی LocationFeatureSpecification مشخص می‌شود.

امکانات رفاهی را می‌توان در سطح Hotel یا HotelRoom مشخص کرد.

containsPlace Optional LocationFeatureSpecification

امکانات رفاهی ارائه شده در هتل یا اتاق برای همه مهمانان هتل. این امکانات را می‌توان با استفاده از amenityFeature مشخص کرد. امکانات رفاهی باید صرف نظر از برنامه نرخی انتخابی، برای همه مهمانان در اتاق هتل در دسترس باشد.

Hotel.containsPlace.amenityFeature امکانات رفاهی ارائه شده در هتل هستند.

HotelRoom.containsPlace.amenityFeature امکانات رفاهی ارائه شده در اتاق هستند.

مثال

امکانات رفاهی در هتل و اتاق

مثال زیر هتلی است که استخر آن از ساعت ۱۰ صبح تا ۱۰ شب باز است و باشگاه ورزشی ندارد. اتاق هتل سیگار کشیدن ممنوع است و مینی‌بار دارد.

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