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

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

סקירה כללית

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

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

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

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

תחביר

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

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