הפניה לנתונים מובנים של מחירי מלונות

בדף הזה מפורטים המפרט הטכני והמונחים שקשורים לתגי עיצוב של נתונים מובְנים של מלונות ב-Schema.org.

סקירה כללית

נתונים מובְנים של מחירי מלונות מספקים פורמט סטנדרטי שניתן לקריאה על ידי מכונה, כדי להסביר, לאמת ולהציג את מחירי המלונות שמופיעים באתר שלכם, ללא קשר לפריסה החזותית. הנתונים האלה כוללים מחירים בסיסיים, תעריפים, מפרטים של חדרים, פירוט של עמלות ומיסים ומדיניות הזמנות.

‫Google ממליצה להוסיף הערות לדפי האינטרנט עם נתונים מובְנים סטנדרטיים שסופקו על ידי Schema.org כדי לחלץ מחירים מדפי האינטרנט בצורה מדויקת.

נתונים מובְנים רגילים מאפשרים להרחיב את האימותים של דיוק המחירים על ידי שיפור המהימנות של הסורקים, הגדלת מספר האימותים של דיוק המחירים, הפעלת ניפוי באגים ישיר של בעיות בדיוק המחירים ושמירה על ציון עקבי של דיוק המחירים.

אם אתם חדשים בתחום הנתונים המובְנים, כדאי לקרוא מידע נוסף על הפורמט והאוצר המילים של נתונים מובְנים.

במסגרת התכונה 'Google בתי מלון', מומלץ להשתמש בפורמט מיקרו נתונים כברירת מחדל כדי להוסיף הערות לדפי האינטרנט לצורך בדיקות דיוק המחירים של המלונות. הפורמט JSON-LD יצא משימוש לצורך אימות דיוק המחיר. חשוב לזכור שההמלצה הזו חלה רק על אימות הדיוק של מחירי המלונות, ולא משפיעה על שימושים אחרים בנתונים מובְנים ב-Google (כמו תוצאות חיפוש מתקדמות בחיפוש Google). כאן אפשר לקרוא מידע נוסף על פורמטים נתמכים של תכונות כלליות בחיפוש. במסמכי התיעוד האלה מופיע תוכן מפורט שמתייחס באופן ספציפי להטמעה של נתונים מובְנים במלונות.

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 משתמשים בתחביר הבא:

מיקרו נתונים

<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

המבצעים של המלון עבור מסלול הנסיעה שצוין.

המאפיין makesOffer יכול להכיל מערך של מבצעים.

LodgingReservation.checkinTime Required DateTime

שעת הצ'ק-אין באזור הזמן של המשתמש. אם אזור הזמן שלכם לא מוזכר, המערכת מתייחסת לאזור הזמן של המלון.

LodgingReservation.checkoutTime Required DateTime

שעת התשלום בקופה באזור הזמן של המשתמש. אם אזור הזמן שלכם לא מוזכר, המערכת מתייחסת לאזור הזמן של המלון.

makesOffer דוגמה

הדוגמה הבאה מציגה איך מוסיפים הערות להצעות של מלונות. אפשר לציין כמה מבצעים למסלול נסיעה, אבל קודם צריך לציין את המחיר שמוצג ב-Google ואז את המחירים האחרים. סכום המחיר שצוין כולל את כל המיסים הרלוונטיים.

מיקרו נתונים

<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

המחיר הכולל של המלון, כולל מיסים ועמלות.

התעריף של Google צריך להיות תמיד מסומן בדף הנחיתה, לצד פרטי התעריף המלאים. הוספת הערות לפרטי המחירים מאפשרת לכם לבצע בדיקות של דיוק המחירים. ‫Google מקבלת מחירים ברמת המלון וברמת החדר.

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 שכלול בשדה PayAction's "recipient". מידע נוסף על נכס recipient זמין במאמר PayAction.

‫Google תומכת בשתי ההגדרות הבאות עבור הנמען של PayAction:

  • recipient.@type = "OnlineBusiness" מתייחס לתשלום שנגבה בזמן ההזמנה על ידי המוכר באינטרנט. זו הגדרת ברירת המחדל אם לא מציינים את potentialAction.

  • recipient.@type = "Hotel" מתייחס לתשלום שנגבה במלון.

דוגמאות

הדוגמאות הבאות ממחישות איך מציינים מחירים של מלונות.

מחיר

זוהי דוגמה בסיסית להוספת נתונים מובְנים של מחיר לדף אינטרנט. אפשר לכלול כמה מוצרים ברמת המלון במאפיין makesOffer.

אם בוחרים לציין את המאפיין address, חובה לציין גם סוגים של PostalAddress כמו addressCountry, postalCode, streetAddress ושדות אחרים. המחיר שמוצג ב-Google צריך להיות הראשון במאפיין 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.

המחיר הכולל של החבילה הוא 1,170$, ובאתר האינטרנט נגבה חלק מהמחיר הכולל, שהוא 1,150$, בזמן ההזמנה שצוין באמצעות "@type": "OnlineBusiness". המשתמש צריך לשלם את היתרה, 20$, בזמן הצ'ק-אין במלון, שצוין באמצעות @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

מדיניות ההחזרים הכספיים של המוכר. השותפים צריכים להשתמש בערך MerchantReturnPolicy.restockingFee כדי לציין מדיניות ביטולים שלא מאפשרת החזר מלא על משך השהייה.

אם לא מציינים את הערך hasMerchantReturnPolicy או משאירים אותו ריק, ההנחה היא שלא ניתן לקבל החזר על הסכום. אפשר לציין את מדיניות אי-ההחזר באמצעות המאפיין returnPolicyCategory: MerchantReturnNotPermitted.

דוגמה למדיניות החזרת מוצרים

הדוגמה הבאה היא דוגמה בסיסית של נתונים מובְנים של מלון עם פרטי חדר ומחיר כולל עם מיסים ועמלות. בדוגמה הזו מצוין שהייה שאפשר לבטל ללא חיוב עד השעה 23:00 (UTC) ב-18 בדצמבר 2023. השותפים צריכים להשתמש בתג "MerchantReturnPolicy.restockingFee" כדי לציין מדיניות ביטולים שלא כוללת החזר מלא על השהייה. ערך ברירת המחדל של restockingFee הוא $0.

מיקרו נתונים

<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 משמשות לסימון של מסלולי הנסיעה שלכם בחדר. כדי לציין את HotelRoom, צריך להשתמש במאפיין offers.

"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

המפרט של מחיר החדר במסלול הנסיעה הנתון.

המאפיין offers יכול להכיל מערך של מבצעים.

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. אפשר לכלול מידע ספציפי לחדר, כולל מחירים ברמת החדר, בנכס Hotel דרך נכס containsPlace. מידע נוסף מופיע בדוגמה למפרט של 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

דוגמאות

דוגמאות למפרטים של מיטות ותפוסה:

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)

המאפיין לציון מחיר חדר במלון דומה למאפיין לציון מחיר מלון.ההבדל הוא שבמקום המאפיין Hotel.makesOffer, משתמשים במאפיין Product.offers כדי לציין את מחירי החדרים.

"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

המחיר לחדר כולל המיסים והעמלות ל-Product.

התעריף של Google צריך להיות תמיד מסומן בדף הנחיתה, לצד פרטי התעריף המלאים. הוספת הערות לפרטי המחירים מאפשרת לכם לבצע בדיקות של דיוק המחירים. ‫Google מקבלת מחירים ברמת המלון וברמת החדר.

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: זהו מס נוסף שאינו מוגדר.

    • ServiceFee: עמלה נוספת שגובה ערוץ ההזמנות.

    צריך להגדיר את הערכים במאפיין name של UnitPriceSpecification. אם בוחרים לכלול פירוט מחירים, צריך לציין את כל הערכים ברכיב 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 ו-occupancyKINGSINGLE, ולתפוסה של 2 אורחים.

מיקרו נתונים

<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. בשדה השם ב-"TypeAndQuantityNode.typeOfGood" צריך לציין את סוג השירות, כמו שירות חנייה או שירות ארוחות.

יכול להיות שגם תכונות ספציפיות למחיר ייכללו בהצעות ברמת הבסיס, או שייצוינו כתוספים במחיר נוסף.

הפרמטר includesObject מחייב ערך מסוג TypeAndQuantityNode באופן הבא:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

includesObject דוגמה

הדוגמה הבאה היא של תכונות ספציפיות למחיר של שירותי חנייה ושירותי מזון. צריך לציין תכונות שקשורות למחיר באמצעות המאפיין Offer.includesObject. בשדה השם ב-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

הזמינות של המלון או החדר.

השערים נלקחים מ- schema.org/Offer, ופרטי השער לא נוצרו באמצעות schema.org/Hotel או schema.org/HotelRoom. כלומר, גם למסלולי נסיעה שאין בהם יותר מקומות פנויים צריך להיות מבצע.

מבצע ללא priceSpecification נחשב כלא זמין. מבצעים שלא ניתן לממש צריכים להיות מסומנים בערך "Offer.availability= https://schema.org/SoldOut".

אין צורך לציין את Offer.availability אם המבצע מתויג באמצעות priceSpecification. תקין.

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)

אפשר לציין את השירותים בנכס מסוג Hotel או HotelRoom באמצעות המאפיין amenityFeature. צריך להשתמש במאפיין containsPlace כדי לציין את שירותי המלון שניתנים בחדר.

{
  "@type": "Hotel",
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "HH:mm:ss",
        "closes": "HH:mm:ss"
      }
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "GymFitnessEquipment",
      "value": "boolean"
    }
  ],
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": [
      {
        "@type": "LocationFeatureSpecification",
        "name": "Minibar",
        "value": true
      },
      {
        "@type": "LocationFeatureSpecification",
        "name": "Smoking",
        "value": false
      }
    ]
  }
}

תחביר

התחביר של המאפיינים amenityFeature ו-containsPlace הוא:

מיקרו נתונים

<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 האם בנכס יש Wi-Fi.
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

מספר הרישיון של העסק שיוצג בנכס באזורים מסוימים בעולם. אפשר לחזור על הפעולה הזו, ואם יש כמה רישיונות, מומלץ להוסיף את הבעלים או את הרשות של הרישיון. לדוגמה: "Paris: 123456ABC"

מאפיינים

אלה המאפיינים של amenityFeature:

נכס חובה? סוג תיאור
amenityFeature Optional LocationFeatureSpecification

השירותים שמוצעים במלון או בחדר. אפשר לציין את המאפיין amenityFeature . שירותי המלון צריכים להיות זמינים לכל האורחים במלון, ללא קשר לתוכנית התמחור שנבחרה. המאפיין amenityFeature מצוין באמצעות ערך המאפיין LocationFeatureSpecification.

אפשר לציין את השירותים ברמה Hotel או ברמה HotelRoom.

containsPlace Optional LocationFeatureSpecification

השירותים שמוצעים במלון או בחדר לכל אורחי המלון. אפשר לציין את המידע הזה באמצעות התג amenityFeature . שירותי המלון צריכים להיות זמינים לכל האורחים בחדר המלון, ללא קשר לתוכנית התמחור שנבחרה.

Hotel.containsPlace.amenityFeature הם השירותים שמסופקים במלון.

HotelRoom.containsPlace.amenityFeature הם השירותים שמסופקים בחדר.

דוגמה לשירותי המלון

הנה דוגמה בסיסית למלון עם בריכה שפתוחה מ-10:00 עד 22:00, ללא חדר כושר במקום. החדר במלון הוא ללא עישון ויש בו מיני-בר.

מיקרו נתונים

<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> או לרכיב wrapper ברמה גבוהה.
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 תיוג לחצני סגירה בחלונות קופצים, בשכבות-על של הודעה על שימוש בקובצי Cookie או בחלונות קופצים של שדרוג.

דוגמאות לתיוג ניווט.

קליק לניווט

הדוגמה הבאה היא דוגמה בסיסית של ניווט בלחיצה שמצהירה על שלב המשפך.

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

ניווט בכמה שלבים

הדוגמה הבאה ממחישה ניווט רב-שלבי שכולל הודעה על שימוש בקובצי Cookie, פתיחה של רכיב אקורדיון וקליק.

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