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

בדף הזה מוסבר איך להוסיף תגי עיצוב של נתונים מובְנים לנתוני התמחור של המלונות.

סקירה כללית

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

‫Google ממליצה לשותפים להוסיף הערות לדפי האינטרנט שלהם עם נתונים מובְנים סטנדרטיים שניתנים לקריאה על ידי סורקים; הנתונים האלה מסופקים על ידי 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

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

דוגמה

makesOffer

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

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

מלון אחד (Hotel priceSpecification)

המאפיין הזה משמש לציון פרטי התמחור של המלון או של החדרים במלון. יש שני מאפיינים נוספים שנדרשים להוספת הערות למחירים ולמיסים. כדי לציין את פרטי התמחור הכוללים, כמו מחיר בסיס, מיסים והנחות, צריך להשתמש ב-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/Hotel">
    <meta itemprop="name" content="hotel-name"/>
    ...
    <div itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation" itemprop="makesOffer">
      ...
      <div itemscope itemtype="https://schema.org/CompoundPriceSpecification" itemprop="priceSpecification">
        <meta itemprop="price" content="float"/>
        <meta itemprop="priceCurrency" content="currency"/>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content=""/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="GenericTax" />
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="GenericTax"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="Discount"/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="Discount"/>
        </div>
      </div>
    </div>
  </div>

מאפיינים

אלה המאפיינים של hotel priceSpecification:

נכס חובה? סוג תיאור
Hotel.Offer.priceSpecification.price Required float

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

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

דוגמאות

דוגמאות ל-JSON-LD

מחיר

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

אם בוחרים לציין את המאפיין address, חובה לציין גם סוגים של PostalAddress כמו addressCountry, postalCode, streetAddress ושדות אחרים. המחיר שמוצג ב-Google צריך להיות הראשון ברשימה במאפיין makesOffer. סכום המחיר שצוין כולל את כל המיסים הרלוונטיים.

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

פירוט המחיר

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

את המחיר הכולל עבור משך השהייה צריך לציין במאפיין CompoundPriceSpecification. את פירוט המחיר צריך לציין במאפיין priceComponent.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": 1150,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "USD",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": -100,
          "priceCurrency": "USD",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

נקודת התשלום

הדוגמה הבאה ממחישה איך לציין את potentialAction באמצעות סוג הנמען של PayAction.

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

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

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00]",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1170,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "price": 1150,
          "priceCurrency": "USD",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "OnlineBusiness",
              "name": "myonlinebusiness"
            }
          }
        },
        {
          "@type": "UnitPriceSpecification",
          "price": 20,
          "priceCurrency": "USD",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "Hotel",
              "name": "The Langham, Boston",
              "address": { ... }
            }
          }
        }
      ]
    }
  }
}

דוגמה למיקרו נתונים

פירוט המחיר

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

את המחיר הכולל עבור משך השהייה צריך לציין במאפיין CompoundPriceSpecification. את פירוט המחיר צריך לציין במאפיין priceComponent.

<div itemscope itemtype="https://schema.org/Hotel">
  <meta itemprop="name" content="ACME Hotel"/>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemscope itemtype="https://schema.org/PostalAddress" itemprop="address">
    <meta itemprop="addressCountry" content="US" />
    <meta itemprop="addressLocality" content="Mountain View" />
    <meta itemprop="addressRegion" content="Santa Clara" />
    <meta itemprop="postalCode" content="94040" />
    <meta itemprop="streetAddress" content="123 Main street" />
  </div>
  <div itemscope itemtype="https://schema.org/Offer   https://schema.org/LodgingReservation"  itemprop="makesOffer">
    <meta itemprop="checkinTime" content="2023-03-10 15:00:00" />
    <meta itemprop="checkoutTime" content="2023-03-16 10:00:00"/>
    <div itemscope itemtype="https://schema.org/CompoundPriceSpecification"   itemprop="priceSpecification">
    <meta itemprop="price" content="1222.74" />
    <meta itemprop="priceCurrency" content="USD" />
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"    itemprop="priceComponent">
        <meta itemprop="name" content="" />
        <meta itemprop="price" content="1150" />
        <meta itemprop="priceCurrency" content="USD" />
      </div>
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"  itemprop="priceComponent">
        <meta itemprop="name" content="GenericTax" />
        <meta itemprop="price" content="172.74" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceComponentType" content="GenericTax" />
      </div>
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"   itemprop="priceComponent">
        <meta itemprop="name" content="Discount" />
        <meta itemprop="price" content="-100" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceComponentType" content="Discount" />
      </div>
    </div>
  </div>
</div>

מלון אחד (hasMerchantReturnPolicy)

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

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

תחביר

התחביר של hasMerchantReturnPolicy הוא:

JSON-LD

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

נכס

המאפיין hasMerchantReturnPolicy הוא:

מאפיין חובה? סוג תיאור
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

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

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

דוגמה

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

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

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "description": "Beautiful resort in the outskirts of the city",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-12-15 16:00:00",
    "checkoutTime": "2023-12-20 11:00:00",
    "priceSpecification": {...},
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "2023-12-18 23:00:00",
      "restockingFee": 0
    }
  }
}

מלון אחד (eligibleCustomerType)

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

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

תחביר

התחביר של המאפיין eligibleCustomerType הוא:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "eligibleCustomerType": "RewardsMember",
    "priceSpecification": { ... }
  }
}

נכס

המאפיין eligibleCustomerType הוא:

מאפיין חובה? סוג תיאור
Offer.eligibleCustomerType Optional BusinessEntityType

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

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

דוגמאות

מחירים לחברי מועדון

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

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

מחירים לחברי מועדון ומחירים רגילים

זו דוגמה להערות על מחירים רגילים ומחירים לחברי מועדון. המחיר לחברי המועדון מופיע ראשון ואחריו המחירים הרגילים.

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

נתונים מובנים של 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 הוא:

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

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

LodgingReservation

דוגמה

מבצעים

הדוגמה הבאה היא דוגמה בסיסית להגדרת 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": "hotel-id-1234",
"containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "identifier": "hotel-room-id",
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  }
}

תחביר

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

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "name": "room-name",
    "identifier": "hotel-room-id-1234",
    "bed": {
      "@type": "BedDetails",
      "numberOfBeds": "integer",
      "typeOfBed": "KING"
    },
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": "integer"
    },
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
      "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": "float",
        "priceCurrency": "currency",
        "priceComponent": {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        ...
      }
    }
  }
}

אפשר להגדיר את המאפיינים bed ו-occupancy רק באמצעות המאפיין HotelRoom. אפשר לכלול בנכס Hotel מידע ספציפי לחדר, כולל תעריפים ברמת החדר, דרך הנכס containsPlace. אפשר לעיין בדוגמה למפרט של Hotel ושל HotelRoom.

מאפיינים

אלה המאפיינים bed ו-occupancy:

נכס חובה? סוג תיאור
HotelRoom.bed Optional (Recommended) bed

סוג המיטה או המיטות שכלולות במקום האירוח ומספר האורחים בחדר.

הערכים הנתמכים הם:

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

מספר האורחים בחדר המלון. סוג הנתון של התפוסה הוא QuantitativeValue.

המאפיין 'תפוסה' הוא מאפיין מפורש של HotelRoom, ולא של Offer ספציפי. צריך לתייג את המחירים רק לפי מספר האורחים המבוקש.

containsPlace Optional (Recommended) LocationFeatureSpecification

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

containsPlaceמידע נוסף על השימוש ב- amenityFeature

דוגמאות

HotelRoom

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

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

מלון וחדר במלון

הדוגמה הבאה מראה איך מוסיפים הערות למאפיינים 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)

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

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

תחביר

התחביר של מאפיין priceSpecification לחדרי מלון הוא:

JSON-LD

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

מאפיינים

אלה המאפיינים של HotelRoom priceSpecification:

נכס חובה? סוג תיאור
Hotel.Offer.priceSpecification.price Required float

המחיר לחדר כולל המיסים והעמלות ל-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.

דוגמאות

המחיר הכולל לחדר

בדוגמה הבאה מוגדר המחיר הכולל לשהייה ומחיר לכל אורח.

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

פירוט מחיר החדר

דוגמה למחיר לחדר או לתוכנית. פירוט המחיר מוגדר לסוג החדר, למשל Deluxe, ולסוג המיטה, למשל bed ו-occupancy, ולתפוסה של 2 אורחים.KINGSINGLE

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room King, 1 Single Bed",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "bed": [
      {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "KING"
      },
      {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "SINGLE"
      }
    ],
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": 2
    },
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "Base rate",
          "price": 1150,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "USD",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": -100,
          "priceCurrency": "USD",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

מלון אחד (includesObject)

המאפיין הזה משמש לציון שירותים ספציפיים שכלולים במחיר החדר במלון, כמו אפשרויות לארוחות ושירות חנייה. אפשר להוסיף הערות לנתונים של includesObject בנכס Hotel או בנכס HotelRoom.

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

תחביר

התחביר של includesObject לשירותים ספציפיים לשיעור שזמינים בחדר הוא:

JSON-LD

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

נכס

ל-includesObject יש את המאפיין הבא:

מאפיין חובה? סוג תיאור
Offer.includesObject Optional TypeAndQuantityNode

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

התכונות שספציפיות לשיעור כלולות בנכס 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": {
          "@type": "Service",
          "name": "Valet"
        }
      },
      {
        "@type": "TypeAndQuantityNode",
        "amountOfThisGood": 50,
        "unitText": "USD",
        "typeOfGood": {
          "@type": "FoodService",
          "name": "MealCredit"
        }
      }
    ]
  }
}

מלון אחד (availability)

המאפיין offer.availability משמש להוספת הערות לתוכניות הנסיעה של חדרי המלון שנמכרו.

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

תחביר

התחביר של המאפיין availability הוא:

JSON-LD

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

נכס

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

מאפיין חובה? סוג תיאור
Offer.availability Optional ItemAvailability

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

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

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

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

דוגמה

זמינות

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

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

מלון אחד (amenityFeature)

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

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

תחביר

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

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "amenityFeature": {
    "@type": "LocationFeatureSpecification",
    "name": "HotTub",
    "hoursAvailable": {
      "@type": "OpeningHoursSpecification",
      "opens": "HH:mm:ss",
      "closes": "HH:mm:ss"
    }
  },
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": {
      "@type": "LocationFeatureSpecification",
      "name": "Minibar",
      "value": "boolean"
    }
  }
}

שירותי המלון

אלה השירותים שמותרים ומוגדרים במאפיין name.

מאפיין חובה? סוג תיאור
amenityFeature.AC Optional boolean האם יש מיזוג אוויר בנכס.
amenityFeature.AirportShuttle Optional boolean האם המארח מספק תחבורה אל שדה התעופה וממנו או אל טרמינלים אחרים וממנו.
amenityFeature.Balcony Optional boolean האם במקום הלינה יש מרפסת.
amenityFeature.BeachAccess Optional boolean האם יש גישה לחוף ציבורי בקרבת הנכס.
amenityFeature.ChildFriendly Optional boolean אם הנכס מתאים לילדים.
amenityFeature.Crib Optional boolean האם הנכס מספק עריסה.
amenityFeature.Elevator Optional boolean האם יש בנכס מעלית.
amenityFeature.FirePlace Optional boolean אם יש מקום לינה עם אח.
amenityFeature.FreeBreakfast Optional boolean האם ארוחת הבוקר כלולה במחיר לכל האורחים. כדאי להשתמש במאפייני התעריף כדי לציין אם ארוחת הבוקר כלולה רק בתוכניות תעריפים ספציפיות.
amenityFeature.GymFitnessEquipment Optional boolean האם במקום האירוח יש חדר כושר או ציוד כושר כלשהו.
amenityFeature.Heating Optional boolean האם יש חימום במקום הלינה.
amenityFeature.HotTub Optional boolean אם בנכס יש ג'קוזי.
amenityFeature.InstantBookable Optional boolean האם אפשר לבצע הזמנה בנכס באופן מיידי בתהליך התשלום. החלופה בהמתנה לאישור.
amenityFeature.IroningBoard Optional boolean האם יש בנכס קרשי גיהוץ.
amenityFeature.Kitchen Optional boolean אם במקום האירוח יש מטבח.
amenityFeature.Microwave Optional boolean האם יש מיקרוגל במקום האירוח.
amenityFeature.OpenAirBath(Hotels only) Optional boolean האם יש בחדר אמבטיה פתוחה. אם מציינים את המאפיין הזה ברמת החדר, האמבטיה צריכה להיות פרטית רק לאורחי החדר.
amenityFeature.OutdoorGrill Optional boolean אם יש בנכס מתקן ברביקיו.
amenityFeature.OvenStove Optional boolean אם יש בנכס כיריים.
amenityFeature.Patio Optional boolean האם יש בנכס פטיו.
amenityFeature.Pool Optional boolean האם במקום הלינה יש בריכה.
amenityFeature.PrivateBeachAccess Optional boolean האם יש בנכס גישה ייעודית לחוף לא ציבורי.
amenityFeature.SelfCheckinCheckout Optional boolean אם אפשר לבצע צ'ק אין וצ'ק אאוט עצמאיים בנכס.
amenityFeature.WasherDryer Optional boolean האם יש במקום האירוח מכשירי כביסה.
amenityFeature.Wifi Optional boolean האם יש בנכס Wi-Fi.
amenityFeature.Smoking Optional boolean האם מותר לעשן במקום האירוח.
amenityFeature.InternetType Optional Enum

סוג האינטרנט שזמין בנכס.

הערכים הנתמכים הם:

  • 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, ללא חדר כושר במקום. החדר במלון הוא ללא עישון ויש בו מיני-בר.

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