סכימת מלאי גרסה 1

פידים של קטלוג מזון מבוססים על ישויות של schema.org DataFeed. פיד של קטלוג אוכל כולל פרטים לגבי הלוקאל של המסעדה, כמו כתובת, התפריט והמיקום של המסעדה, וכן פרטים על השירותים של המסעדה, כמו דמי המשלוח, אזורי המשלוח ופריטים אחרים, כמפורט בהמשך.

DataFeed מכיל אוסף של רכיבים, שכל אחד מהם מייצג פריט יחיד שמבטא באוצר המילים של schema.org. אפשר להשתמש בסוג DataFeed על מנת לפרסם את כל הנתונים המובְנים בפורמט JSON-LD.

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

פורמטים של תאריך ושעה

הערך DateTime מבוסס על סוג של schema.org, ואם לא צוין אחרת, הוא חייב להיות בפורמט ISO 8601 ולכלול את התאריך, השעה ואזור הזמן. יש להשתמש בתחביר הבא עבור DateTime:

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

למשל:

2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z  // UTC time zone. The optional "Z" suffix represents the UTC time zone.

Time הוא הזמן המקומי באזור הזמן של מסעדה או שירות מסוימים, והוא מבוסס גם על סוג schema.org וצריך גם לעמוד בפורמט ISO 8601. השעה משתמשת בתחביר הבא:

// Time format:
THH:MM:SS

למשל:

T08:08:00 // 8:08 AM

חשוב לשים לב לדברים הבאים בכל פעם שמציינים DateTime או Time:

  • הקידומת "T" לפני השעה היא חלק מהפורמט וחובה לציין אותה.
  • צריך לציין את אזור הזמן עבור DATETIME. הוא לא נדרש עבור TIME.
  • יש לציין את השעה לפי השעון המקומי של המסעדה או השירות.

מעטפה

הקוד ההתחלתי של פיד של קטלוג מזון צריך לכלול קטע בשם 'מעטפה'.

מעטפה היא המבנה ברמה העליונה של כל פיד, והיא צריכה להיות DataFeed עם המאפיינים הבאים:

מאפיין (property) סוג צורך תיאור
@context כתובת URL חובה ההקשר שבו נעשה שימוש. בדרך כלל הוא "http://schema.googleapis.com".
@type טקסט חובה הערך הוא תמיד "DataFeed".
dateModified DateTime חובה

ערך השינוי האחרון של DateTime בפיד הנתונים, בפורמט ISO 8601.

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

מומלץ מאוד ליישם את זה אם משתמשים גם בדחיפה וגם בסריקה. צריך לציין את חותמת הזמן הזו באמצעות אזור זמן ורמת פירוט של אלפיות השנייה. לדוגמה, "2016-12-28T06:30:00:123-07:00".

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

dataFeedElement מערך של Menu או Restaurant או Service חובה פריט אחד או יותר שהם חלק מהפיד הזה. בהמשך מופיעים פרטים.

בדוגמה הבאה מוצגת המעטפה:

דוגמה

{
  "@context": "http://schema.googleapis.com",
  "dateModified": "2016-12-28T06:30:00:123-07:00",
  "@type": "DataFeed",
  "dataFeedElement": [
    /* All items that are part of this feed go here */
  ]
}

AdditiveDetails

כדי להשתמש בסוג הזה, מוסיפים את ההקשר של gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

לאחר מכן מוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItem או MenuItemOption המתאימים.

בטבלה הבאה מתוארים המאפיינים של הסוג AdditiveDetails:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד AdditiveDetails.
additiveName טקסט אופציונלי שם התוסף.
additiveLevelOfContainment טקסט אופציונלי קוד עצירה לכל gs1:LevelOfContainmentCode. לדוגמה http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM או http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN.

הדוגמה הבאה מציגה את השימוש בסוג AdditiveDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/8",
  "name": "Energy Drink",
  "description": "A 0.25l can of energy drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-energy-drink",
    "price": "3.49",
    "priceCurrency": "USD"
  },
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AdditiveDetails",
      "additiveName": "phosphate",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

AddOnMenuItem

פריט של אוכל או משקה שרשום בתפריט של תוסף MenuItem.

בטבלה הבאה מפורטים המאפיינים של הסוג AddOnMenuItem:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד "AddOnmenuItem".
@id כתובת URL חובה מזהה ייחודי של האפשרות בתפריט של התוסף.
name טקסט חובה טקסט שמזהה את AddOnmenuItem כאשר משתמש מעיין בתפריט.
description טקסט אופציונלי תיאור האפשרות בתפריט של התוסף.
image כתובת URL אופציונלי

תמונה של המנה בתפריט של התוסף שתואמת להנחיות הבאות:

  • יחס גובה-רוחב 3:2
  • >
  • רזולוציה מינימלית: 600x400 פיקסלים, 72 DPI
  • >
  • רזולוציה מומלצת: 1,400x960 פיקסלים, 72 dpi
offers מערך של Offer חובה*

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

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

ברירת המחדל של Offer.eligibleQuantity היא מינימום 0 ולא מקסימום 1.

המאפיינים הבאים של Offer נמצאים בשימוש ב-AddOnתפריטItem:

  • הדרישה היא Offer.sku
  • הדרישה היא Offer.price
  • הדרישה היא Offer.priceCurrency
  • Offer.availabilityStarts אופציונלי
  • Offer.availabilityEnds אופציונלי
  • Offer.availableDay אופציונלי
  • Offer.validFrom אופציונלי
  • Offer.validThrough אופציונלי
  • Offer.eligibleQuantity אופציונלי
  • Offer.inventoryLevel אופציונלי
hasMenuItemOptions מערך של MenuItemOption חובה*

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

  • הווריאציה הבסיסית היא על הפריט של התוסף עצמו (למשל: קטן, בינוני וצ'יפס גדול כתוסף)
  • הווריאציה הבסיסית של המנה בתפריט שהתוסף הזה משויך אליה (למשל: גבינה נוספת כתוסף לפיצה גדולה)
suitableForDiet מערך של RestrictedDiet אופציונלי המנה עומדת בהגבלה התזונתית שמתוארת (כמו "GlutenFreeDiet" או "VeganDiet"). זוהי רשימה ממצה של ערכים אפשריים.
nutrition NutritionInformation אופציונלי המידע התזונתי של המנה, בעיקר קלוריות.
menuAddOn מערך של AddOnMenuSection אופציונלי בקטע של AddOnתפריטItem יכול להיות תפריט שכולל פריטים מותרים שאפשר להוסיף כתוסף.

בדוגמה הבאה מוצג AddOnMenuItem:

דוגמה 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

דוגמה 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small-pepperoni-pizza",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large-pepperoni-pizza",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ],
  "menuAddOn": [
    {
      "@type": "AddOnMenuSection",
      "name": "Choice of toppings",
      "@id": "https://www.example.com/1089/addon/1",
      "hasMenuItem": [
        {
          "@type": "AddOnMenuItem",
          "@id": "https://www.example.com/1089/addon/1/a",
          "name": "Shrimp",
          "hasMenuItemOptions": [
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],
              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-small",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-large",
                "price": "2.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-small",
                "price": "1.50",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-large",
                "price": "2.50",
                "priceCurrency": "USD"
              }
            }
          ]
        }
      ]
    }
  ]
}

AddOnMenuSection

קיבוץ משנה של פריטי מזון או משקה כקטע תפריט תוסף לפריט בתפריט.

בטבלה הבאה מפורטים המאפיינים של הסוג AddOnMenuSection:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הוא תמיד "AddOnתפריטSection".
@id כתובת URL חובה המזהה הייחודי של קטע התפריט.
name טקסט חובה טקסט שיכול לזהות את הקטע AddOnStatusSection כשמשתמש גולש בתפריט.
description טקסט אופציונלי תיאור של קטע התפריט.
eligibleQuantity QuantitativeValue אופציונלי מספר הפריטים שמותר להוסיף כתוסף לקטגוריית התפריט. אפשר להשתמש בשדה הזה כדי להגביל את מספר התוספות, למשל את מספר התוספות המינימלי והמקסימלי שאפשר לבחור על פיצה.
image כתובת URL אופציונלי תמונה של הקטע בתפריט.
hasMenuItem מערך של AddOnMenuItem חובה* אפשרויות בתפריט של תוסף שכלולות בקטע AddOnmenu section.
offers מערך של Offer אופציונלי

אפשר להשתמש ב-Offer.availabilityStarts וב-Offer.availabilityEnds כדי לציין את תקופת הזמן שבה ה-AddOnStatusSection הזה זמין.

בדף העסקי שלמטה אפשר לראות אילו נכסי Offer נמצאים בשימוש ב-AddOnStatusSection.

  • Offer.availabilityStarts אופציונלי
  • Offer.availabilityEnds אופציונלי
  • Offer.availableDay אופציונלי
  • Offer.validFrom אופציונלי
  • Offer.validThrough אופציונלי
hasMenuSection מערך של AddOnMenuSection חובה* קיבוץ משנה לוגי של תפריט התוסף (כמו ארוחת ערב, מתאבנים או מנות דגים).
defaultOption מערך של AddOnMenuItem אופציונלי

אפשרויות בתפריט של תוספים ייבחרו מראש כברירת מחדל למשתמשים ב-AddOnMenuSection. המשתמשים יכולים לשנות את הבחירות הסופיות. אם לא מציינים defaultOption, לא נבחר מראש AddOnMenuItem.

אובייקטים מסוג AddOnMenuItem חייבים להתקיים ב-hasMenuItem של AddOnMenuSection.

המספר של defaultOption לא יכול לחרוג מהמספר המקסימלי של eligibleQuantity של AddOnMenuSection.

numberOfFreeAddOns מספרים אופציונלי מציין את מספר התוספים שהמשתמש יכול לבחור ללא תשלום.

הדוגמאות הבאות כוללות AddOnMenuSection אובייקטים:

דוגמה 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

דוגמה 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

דוגמה 3

בתפריט של 'כריך גבינה' יש אפשרות של 'בחירת גבינה' AddOnMenuSection, כשמוגדרת מראש האפשרויות 'שוויצרי' ו'מוצרלה' כברירת מחדל.

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "defaultOption": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a"
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b"
    }
  ],
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozzarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

AdvanceServiceDeliveryHoursSpecification

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

בדרך כלל, הערך של opens נמוך מהערך של closes. ההנחיות הבאות רלוונטיות לשימוש בנכסים opens ו-closes:

  • המאפיינים opens ו-closes הם אופציונליים ל-AdvanceServiceDeliveryHoursSpecification, אבל מומלץ מאוד לכלול אותם.
  • יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של opens או closes. המערכת מתעלמת מאזורי הזמן שצוינו.
  • אם לא צוינו opens ו-closes במפורש, אנחנו מניחים שהזמנה מראש זמינה בכל הימים בכל יום.
  • אם opens ו-closes זהים, ההנחה שלנו היא שהזמנה מראש לא זמינה.
  • אם הערך של opens גדול מ-closes, שעת הסגירה תפוענח ביום הבא. לדוגמה, אם שעת הפתיחה מוגדרת ל-1 בינואר בשעה 17:00 ושעת הסגירה היא 02:00, המסעדה תתפרש כסגירה ב-2 בינואר בשעה 02:00.
  • opens ו-closes מתייחסים למשבצת הזמן העתידית. closes הוא בלעדי. לדוגמה, אם השעה opens היא 10:00 ו-closes היא 16:00 עם serviceTimeInterval של 15 דקות, משבצת הזמן הראשונה מתחילה ב-10:00 והשעה האחרונה מתחילה ב-15:45.

בטבלה הבאה מתוארים המאפיינים של סוג AdvanceServiceDeliveryHoursSpecification:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד "AdvanceServiceShippingHoursSpecification".
validFrom DateTime משפטי תנאי

תאריך ההתחלה שממנו אפשר למלא הזמנות מראש של משתמשים. לדוגמה, '2017-05-01T00:00:00-07:00'.

אם המאפיין לא מוגדר, ההנחה היא שהוא תקף בכל יום. המאפיינים validFrom ו-validThrough חייבים להיות חסרים או נמצאים יחד.

אם הסוג הזה מוגדר בתור specialOpeningHoursSpecification ברמת Service, חובה להשתמש במאפיין validFrom הזה ב-AdvanceServiceDeliveryHoursSpecification.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

validThrough DateTime אופציונלי

תאריך הסיום שמעבר לו לא ניתן יהיה למלא יותר הזמנות מראש של משתמשים. לדוגמה, '2018-12-01T00:00:00-07:00'.

אם המאפיין לא מוגדר, ההנחה היא שהוא תקף בכל יום. המאפיינים validFrom ו-validThrough חייבים להיות חסרים או נמצאים יחד.

אם הסוג הזה מוגדר בתור specialOpeningHoursSpecification ברמת Service, חובה להשתמש במאפיין validThrough ב-AdvanceServiceDeliveryHoursSpecification.

המועד של validThrough הוא בלעדי. לדוגמה, אם השעה הזו מוגדרת ל-18:00, השעה תקפה עד 17:59:59.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

opens Time אופציונלי

רלוונטי למשבצות משלוח או לטייק אוויי.

השעה הספציפית ביום שבה ניתן למלא את ההזמנות מראש של המשתמשים. לדוגמה, השעה 06:30 נקראת 'T06:30:00'.

יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של opens. אם צוין אזור זמן, Google מתעלמת מהמידע הזה.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

closes Time אופציונלי

רלוונטי למשבצות משלוח או לטייק אוויי.

השעה הספציפית ביום שמעבר לה אי אפשר למלא הזמנות מראש של משתמשים. לדוגמה, השעה 21:00 תופיע כך: "T21:00:00". closes> הוא שירות בלעדי. לכן, אם מגדירים את השעה 21:00 למשך serviceTimeInterval של 15 דקות, משבצת הזמן האחרונה שזמינה מתחילה ב-20:45.

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

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

dayOfWeek מערך של DayOfWeek אופציונלי

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

  • "יום שני"
  • "יום שלישי"
  • "רביעי"
  • 'Thursday'
  • "שישי"
  • "חמישי"
  • "יום ראשון"

אם לא מציינים ימים בשבוע, הערך AdvanceServiceDeliveryHoursSpecification חל על כל הימים.

serviceTimeInterval Duration חובה

מרווח בין שני זמני שירות רצופים.

לדוגמה: אם השעות opens ו-closes הן 8:00 ו-20:00 וה-serviceTimeInterval הוא 15 דקות, המשתמש יכול לבחור את מועדי האספקה: 8:00, 8:15, 8:30, 8:45 וכן הלאה עד 20:00.

יש לציין את Duration כמשך זמן בתקן ISO 8601. לדוגמה: לדוגמה: "P15M" פירושו מרווחי זמן של 15 דקות.

advanceBookingRequirement QuantitativeValue חובה

מספר הדקות מזמן ההזמנה, שבו ניתן למלא את ההזמנה מראש.

יש להגדיר את הערכים min ו-max של QuantitativeValue כמספר הדקות ואת קוד היחידה כ-"MIN".

לדוגמה, אם כדי למלא הזמנה מראש נדרשות לפחות 60 דקות, והיא מוגבלת למילוי של יותר מיומיים לאחר מכן, הערך של min הוא 60 והערך של max הוא 2880.

הדוגמה הבאה מציגה שימוש מסוג AdvanceServiceDeliveryHoursSpecification:

דוגמה 1

{
  "@type": "AdvanceServiceDeliveryHoursSpecification",
  "opens": "T10:00:00",  // Delivery between 10AM and 7:59:59PM
  "closes": "T20:00:00",
  "serviceTimeInterval": "PT15M", // in slots spaced 15 minutes apart (ISO8601)
  "advanceBookingRequirement": {
    "minValue": 60,   // The slot should be at least 60 mins away
    "maxValue": 8640, // but not more than 6 days away
    "unitCode": "MIN"
  }
}

AllergenDetails

כדי להשתמש בסוג הזה, מוסיפים את ההקשר של gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

לאחר מכן מוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItem או MenuItemOption המתאימים.

בטבלה הבאה מתוארים המאפיינים של הסוג AllergenDetails:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד AllergenDetails.
allergenType טקסט אופציונלי סוג האלרגן לפי gs1:AllergenTypeCode . לדוגמה,http://gs1.org/voc/AllergenTypeCode-PEANUTS
allergenLevelOfContainmentCode טקסט אופציונלי קוד עצירה לכל gs1:LevelOfContainmentCode. לדוגמה http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM או http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN.

הדוגמה הבאה מציגה את השימוש בסוג AllergenDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/6",
  "name": "Strawberry joghurt drink",
  "description": "A 0.5l bottle of strawberry joghurt drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-joghurt-drink",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-GLUTEN",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

DeliveryChargeSpecification

בטבלה הבאה מתוארים המאפיינים של סוג DeliveryChargeSpecification:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "deliveryChargeSpecification".
@id כתובת URL אופציונלי מזהה למפרט דמי המשלוח.
price מספרים חובה עלות המשלוח הכוללת כערך מספרי בלבד. צריך להשתמש במאפיין priceCurrency כדי לציין את סוג המטבע במקום סמלי מטבע. לדוגמה, "6.00", בלי סמל המטבע.
priceCurrency טקסט חובה קוד המטבע בן 3 האותיות לפי תקן ISO 4217. לדוגמה, "USD".
eligibleTransactionVolume PriceSpecification אופציונלי נפח הטרנזקציות, ביחידה כספית, שמפרט חיוב המשלוח הזה תקף. לדוגמה, כדי לציין נפח רכישות מינימלי או כדי לציין שהמשלוח זמין ללא חיוב נוסף מעל נפח מסוים של הזמנות.
eligibleQuantity QuantitativeValue אופציונלי המרווח ויחידת המידה של הכמויות בהזמנה עבורן חל חיוב המשלוח. לדוגמה, אפשר לציין שחיוב מטען מסוים תקף רק לגבי כמות מסוימת.
eligibleRegion מערך של GeoShape או Place או GeoCircle אופציונלי המקום, או ה-Geo shape/GeoCircle של האזורים הגאו-פוליטיים שעבורם מופיע פירוט החיובים של המבצע או המשלוח. יש להשתמש בנכס הזה רק אם דמי המשלוח משתנים מאזור לאזור.
validFrom DateTime אופציונלי התאריך והשעה (כולל אזור הזמן) שבהם החיוב על המשלוח שצוין תקף. לדוגמה, '2017-05-01T06:30:00-07:00'. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.
validThrough DateTime אופציונלי התאריך והשעה (כולל אזור הזמן) שאחריהם החיוב על המשלוח שצוין לא תקף. לדוגמה, '2017-05-01T06:30:00-07:00'. השעה בvalidThrough היא בלעדית: לדוגמה, אם השעה הזו מוגדרת ל-18:00, השעה תקפה עד 17:59:59. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

בדוגמאות הבאות מוצגים רכיבי DeliveryChargeSpecification:

דוגמה 1

"offers": {
  "@type":"Offer",
  "priceSpecification":[
    {
      "@type": "DeliveryChargeSpecification",
      "price": "5.0",
      "priceCurrency": "USD"
    }
  ]
}

דוגמה 2

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

דוגמה 3

"priceSpecification": [{
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
    "price": "8.00", // Charges $8 for area5
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00",
      "priceCurrency": "USD"
    },
    "eligibleRegion": [ // area5
      {
        "@type": "GeoCircle",
        "geoMidpoint": {
          "@type": "GeoCoordinates",
          "latitude": "37.7392607",
          "longitude": "-122.3895522"
        },
        "geoRadius": "4505"
      }
    ]
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
    "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00", // Minimum order price for delivery is $20
      "priceCurrency": "USD"
    }
  }
]

בנוסף ל-"@type": ["DeliveryChargeSpecification"], אפשר להרחיב את האובייקט באמצעות UnitPriceSpecification:

"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]

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

מאפיין (property) סוג צורך תיאור
referenceQuantity QuantitativeValue חובה כמות סימוכין שעליה חל מחיר מסוים. לדוגמה, referenceQuantity של ערך 10 עם unitCode של 'P1' מביא ל-10% מערך ההזמנה. רק unitCode 'P1' נתמך בשלב הזה.
basePrice מספרים אופציונלי החיוב הבסיסי בנוסף ל-referenceQuantity. לדוגמה, referenceQuantity מתוך 10 עם unitCode הערך P1 ו-basePrice בסכום של 5 דולר ארה"ב מניבים 5 $+ 10% מערך ההזמנה. ערך ברירת המחדל הוא 0.

דוגמאות לדמי משלוח

Google מאפשרת לציין מגוון עמלות למשתמשים מראש, באמצעות Offer.PriceSpecification של ישות השירות.

שימו לב שבשלב הזה אפשר לסדר מקצה לקצה רק תמיכה אחת (DeliveryChargeSpecification). משלבים את כל סוגי העמלות ל-DeliveryChargeSpecification אחד.

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

אם אין עמלה, הערך Offer.PriceSpecification לא יופיע.

  • דוגמה 1: עמלת משלוח היא 5% מסך הביניים של עגלת הקניות
  • דוגמה 2: דמי משלוח בסך 20 ש"ח
  • דוגמה 3: דמי משלוח בסך 20 ש"ח ועוד 10% מהסכום הכולל של עגלת הקניות
  • דוגמה 4: עמלת המשלוח היא 20 ש"ח ועמלת כבודה היא 0.4 ש"ח
  • דוגמה 5: עמלת המשלוח היא 5% ועמלת הנוחות היא 2% מסך הביניים של עגלת הקניות
  • דוגמה 6: דמי משלוח הם 5 $ו-1 $לכל מרחק נוסף של 1 ק"מ

דוגמה 1

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

דוגמה 2

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

דוגמה 3

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "10.00", // 10%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "5.00" // User always pays $5 in addition to 10%
  }
]

דוגמה 4

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.10" //$5 + $0.1
  }

דוגמה 5

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "7.00", // 5% + 2%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  },
]

דוגמה 6

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "basePrice": 5.00, // User always pays $5
    "price": 1.00, // An additional $1.00 is added per 1km
    "priceCurrency": "USD",
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "unitCode": "MTR", // MTR == meter
      "value": "1000.0" // 1km
    }
  }
]

GeoCircle

בטבלה הבאה מתוארים המאפיינים של הסוג GeoCircle:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד 'GeoCircle'.
geoMidpoint GeoCoordinates חובה מציין את GeoCoordinates במרכז של GeoCircle.
geoRadius מספרים חובה מציין את הרדיוס המשוער (במטרים) של GeoCircle.

בדוגמה הבאה מוצג הרכיב GeoCircle:

דוגמה

{
  "@type": "GeoCircle",
  "geoMidpoint": {
    "@type": "GeoCoordinates",
    "latitude": "37.7392607",
    "longitude": "-122.3895522"
  },
  "geoRadius": "4505"
}

GeoCoordinates

בטבלה הבאה מתוארים המאפיינים של הסוג GeoCoordinates:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד 'קואורדינטות גיאוגרפיות'.
latitude מספרים חובה

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

הדיוק צריך להיות לפחות 5 ספרות אחרי הנקודה העשרונית.

longitude מספרים חובה

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

הדיוק צריך להיות לפחות 5 ספרות אחרי הנקודה העשרונית.

בדוגמה הבאה מוצג הרכיב GeoCoordinates:

דוגמה

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "35.7392607",
  "longitude": "-120.3895522"
}

GeoShape

בטבלה הבאה מתוארים המאפיינים של הסוג GeoShape:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "GeoForm".
polygon מערך טקסט חובה

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

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

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

בדוגמאות הבאות מוצגים רכיבי GeoShape:

דוגמה 1

{
  "@type": "GeoShape", // area4
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
},

דוגמה 2

{
  "@type": "GeoShape", // A service area with a hole.
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”,
               “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”]
},

דוגמה 3

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "areaServed": [
    {
      "@type": "GeoShape",  // Richmond District delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474"
    },
    {
      "@type": "GeoShape",  // Haight-Ashbury delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417"
    }  ],
...
},

בטבלה הבאה מפורטים המאפיינים של הסוג Menu:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הכותרת היא תמיד 'תפריט'.
@id כתובת URL חובה המזהה הייחודי של התפריט.
name טקסט אופציונלי טקסט שיכול לזהות את Menu כשמשתמש מעיין בתפריט.
description טקסט אופציונלי תיאור התפריט.
disclaimer MenuDisclaimer אופציונלי כתב ויתור לתפריט. לדוגמה, חשיפת מידע תזונתי וחשיפת אלרגנים.
hasMenuSection אובייקט יחיד או מערך של MenuSection אופציונלי קבוצות משנה לוגיות של התפריט (כמו ארוחת ערב, מתאבנים או מנות דגים).
hasMenuItem אובייקט יחיד או מערך של MenuItem אופציונלי MenuItem אובייקטים שנמצאים בתוך Menu, בדרך כלל כשה-Menu לא מחולק בחלוקת משנה על ידי MenuSections.
inLanguage טקסט אופציונלי השפה של תוכן התפריט, כקוד שפה מתוך תקן IIETF BCP 47. לדוגמה, 'en-US'.

הדוגמאות הבאות מציגות את השימוש בסוג Menu:

דוגמה 1

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "hasMenuSection": {
    "@type": "MenuSection",
    "@id": "http://www.provider.com/somerestaurant/menusection/1",
    "name": "Tacos",
    "description": "Tacos inspired by India cuisine.",
    "offers": {
      "@type": "Offer",
      "availabilityStarts": "T08:00:00", // Starts at 8:00AM
      "availabilityEnds": "T22:00:00" // Ends at 10:00PM. Available 8AM-9:59:59PM
    },
    "hasMenuItem": {
      "@type": "MenuItem",
      "@id": "http://www.provider.com/somerestaurant/menuitem/1",
      "name": "Aloo Gobi Taco",
      "description": "Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.",
      "offers": {
        "@type": "Offer",
        "sku": "offer-aloo-gobi-taco",
        "price": "3.50",
        "priceCurrency": "USD"
      },
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "170 Cal",
        "fatContent": "3 g",
        "fiberContent": "2 g",
        "proteinContent": "4 g"
      },
      "suitableForDiet": "http://schema.org/GlutenFreeDiet"
    }
  },
  "inLanguage": "English"
}

דוגמה 2

בדוגמה הזו hasMenuItem מוצג כמערך.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Main",
      "description": "Main course",
      "image": "http://www.provider.com/somerestaurant/main_dishes.jpg",
      "hasMenuItem": [
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/1",
          "name": "Pizza",
          "description": "Pizza",
          "offers": {
            "@type": "Offer",
            "sku": "offer-pizza",
            "price": "7.49",
            "priceCurrency": "USD",
            "availabilityStarts": "T08:00:00", // Starts at 8:00AM
            "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
          }
        },
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/2",
          "name": "Pasta",
          "description": "Pasta",
          "offers": [
            {
              "@type": "Offer",
              "sku": "offer-pasta-lunch",
              "price": "7.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T08:00:00", // Starts at 8:00AM
              "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
            },
            {
              "@type": "Offer",
              "sku": "offer-pasta-dinner",
              "price": "10.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T18:00:00", // Starts at 6:00PM
              "availabilityEnds": "T21:00:00" // Ends at 9:00PM, last order at 8:59:59PM
            }
          ]
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/2",
      "name": "Soups & Salads",
      "description": "Salads and a few choices of soup",
      "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/3",
        "name": "Pea Soup",
        "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-pea-soup",
          "price": "3.49",
          "priceCurrency": "USD"
        },
        "suitableForDiet": "http://schema.org/GlutenFreeDiet"
      }
    }
  ]
}

דוגמה 3

בדוגמה הזו hasMenuSection מוצג כמערך.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Dinner",
      "description": "Dinner dishes",
      "hasMenuSection": [
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/2",
          "name": "Starters",
          "description": "Appetizers and such",
          "image": "https://www.provider.com/somerestaurant/starter_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/1",
            "name": "Potato Skins",
            "description": "Small serving of stuffed potato skins.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-potato-skins",
              "price": "7.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/3",
          "name": "Soups & Salads",
          "description": "Salads and a few choices of soup",
          "image": "https://thisisarestaurant.com/soup_and_salad_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/2",
            "name": "Pea Soup",
            "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-pea-soup",
              "price": "3.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/4",
          "name": "Steak",
          "description": "Steak Dishes",
          "image": "https://steak.com/steak_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/3",
            "name": "Sirloin",
            "description": "Sirloin steak dish.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-sirloin-steak",
              "price": "15.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/5",
      "name": "Desserts",
      "description": "Dessert dishes.",
      "image": "http://www.provider.com/somerestaurant/dessert_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/4",
        "name": "Chocolate Pie",
        "description": "A slice of chocolate pie.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chocolate-pie",
          "price": "3.49",
          "priceCurrency": "USD"
        }
      }
    }
  ]
}

דוגמאות נוספות לישויות של Menu זמינות במאמר דוגמאות לפידים של מסעדות ותפריטים.

בטבלה הבאה מפורטים המאפיינים של הסוג MenuDisclaimer:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה זהו תמיד 'כתב ויתור של תפריט'.
@id כתובת URL חובה מזהה ייחודי של כתב הוויתור של התפריט.
text טקסט חובה טקסט של כתב הוויתור. לדוגמה, "צריכת האנרגיה היומית הממוצעת של מבוגר היא 8,700 kJ".
url כתובת URL אופציונלי כתובת URL שמפנה לדף שמספק פרטים נוספים על כתב הוויתור.

הדוגמה הבאה מציגה את השימוש בסוג MenuDisclaimer:

דוגמה

{
    "@type": "Menu",
    "@id": "menu_1",
    "disclaimer": {
        "@type": "MenuDisclaimer",
        "@id": "menu_1_disclaimer_1",
        "text": "The average adult daily energy intake is 8700 kJ",
        "url": "https://partner.domain.com/menu/provider/disclaimer/more-info.html"
    }
}

פריט תפריט שמייצג את הפריט בתפריט. בטבלה הבאה מפורטים המאפיינים של הסוג MenuItem:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד "menuItem".
@id כתובת URL חובה המזהה הייחודי של המנה בתפריט.
name טקסט חובה טקסט שיכול לזהות את MenuItem כשמשתמש מעיין בתפריט.
description טקסט אופציונלי תיאור האפשרות בתפריט.
image כתובת URL אופציונלי

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

  • יחס גובה-רוחב 3:2
  • רזולוציה מינימלית: 600x400 פיקסלים, 72 DPI
  • רזולוציה מומלצת: 1,400x960 פיקסלים 72 dpi
menuAddOn מערך של AddOnMenuSection אופציונלי פריטים בקטע תפריט שאפשר להוסיף כתוספים לאפשרות בתפריט.
offers מערך של Offer חובה*

מבצע אחד או יותר כדי לספק את המאפיין MenuItem. מתאר מתי ובאיזה מחיר זמין ה-MenuItem. רק מבצע אחד יכול להיות בתוקף בכל רגע נתון. אפשר לספק כמה מוצרים אם המחיר או הזמינות משתנים בהתאם לשעה ביום. אם פריט האוכל משתנה באמצעות מאפיין בסיס (לדוגמה, גודל פיצה), משתמשים במאפיין menuItemOption. ערך ברירת המחדל של Offer.eligibleQuantity הוא 0 לפחות ללא תקרה עליונה.

בדף האפליקציה שלמטה אפשר לראות אילו נכסי Offer נמצאים בשימוש ב-MenuItem.

  • הדרישה היא Offer.sku
  • הדרישה היא Offer.price
  • הדרישה היא Offer.priceCurrency
  • Offer.availabilityStarts אופציונלי
  • Offer.availabilityEnds אופציונלי
  • Offer.availableDay אופציונלי
  • Offer.validFrom אופציונלי
  • Offer.validThrough אופציונלי
  • Offer.eligibleQuantity אופציונלי
  • Offer.inventoryLevel אופציונלי
hasMenuItemOptions מערך של MenuItemOption חובה רשימה של אפשרויות הבסיס/הוריאציות של האפשרות הזו בתפריט. צריך להשתמש באפשרויות כדי לציין וריאציות בסיס שונות שזמינות לפריט, לדוגמה: Small, Medium ו-Large.
suitableForDiet מערך של RestrictedDiet אופציונלי המנה עומדת בהגבלה התזונתית שמתוארת (כמו "http://schema.org/GlutenFreeDiet" או "http://schema.org/VeganDiet". זוהי רשימה ממוספרת של ערכים אפשריים.
nutrition NutritionInformation אופציונלי מידע תזונתי של המנה, בעיקר קלוריות.
hasAllergen AllergenDetails אופציונלי אלרגנים של המנה לפי gs1:AllergenDetails. צריך להוסיף את ההקשר gs1 כדי להשתמש במאפיין הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItem.
additive מערך של AdditiveDetails אופציונלי כמות התוספות של המנה בכל gs1:AdditiveDetails. זוהי רשימה ממצה של ערכים אפשריים. מוסיפים את ההקשר gs1 כדי להשתמש במאפיין הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItem.
packaging PackagingDetails אופציונלי פרטי האריזה והמיחזור של פריט התפריט הזה לכל gs1:PackagingDetails. צריך להוסיף את ההקשר gs1 כדי להשתמש במאפיין הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItem.

בדוגמאות הבאות מוצגים רכיבי MenuItem:

דוגמה 1

"hasMenuItem": {
  "@type": "MenuItem",
  "@id": "http://www.provider.com/bar/menuitem/1",
  "name": "Potato Skins",
  "description": "Small serving of stuffed potato skins.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-potato-skins",
    "price": "7.49",
    "priceCurrency": "USD"
  },
  "suitableForDiet": "http://schema.org/GlutenFreeDiet"
}

דוגמה 2

"hasMenuItem": [
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170067",
    "name": "Veg Grill Burrito",
    "offers": {
      "@type": "Offer",
      "sku": "offer-veg-grill-burrito",
      "price": "12.99",
      "priceCurrency": "USD"
    },
    "menuAddOn": {
      "@type": "AddOnMenuSection",
      "name": "Cheese",
      "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
      "eligibleQuantity":
        "@type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 2 // Maximum of 2 cheeses are allowed
      }
    }
  },
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170018",
    "name": "Chicken Taco",
    "offers": {
      "@type": "Offer",
      "sku": "offer-chicken-taco",
      "price": "6.99",
      "priceCurrency": "USD"
    }
  }
]

דוגמה 3

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

דוגמה 4

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

דוגמה 5

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/9",
  "name": "Ice Coffee",
  "offers": {
    "@type": "Offer",
    "sku": "offer-ice-coffee",
    "price": "3.99",
    "priceCurrency": "USD"
  },
  "nutrition": {
    "@type": "NutritionInformation",
    "description": "Contains preservatives and artificial flavor"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-PEANUTS",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN"
    }
  ],
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ],
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.10",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
}

דוגמאות נוספות לישויות של MenuItem זמינות במאמר דוגמאות לפיד מסעדות ותפריטים.

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

לתרחישים לדוגמה של MenuItemOption, ראו התאמה אישית באמצעות MenuItemOption.

בטבלה הבאה מפורטים המאפיינים של הסוג MenuItemOption:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד "menuItemOption".
value PropertyValue חובה השדה PropertyValue מכיל צמד של שם/ערך שמייצג את האפשרות.
offers מערך של Offer חובה

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

בדף האפליקציה שלמטה אפשר לראות אילו נכסי Offer נמצאים בשימוש ב-MenuItemOption.

  • הדרישה היא Offer.sku
  • הדרישה היא Offer.price
  • הדרישה היא Offer.priceCurrency
  • Offer.availabilityStarts אופציונלי
  • Offer.availabilityEnds אופציונלי
  • Offer.availableDay אופציונלי
  • Offer.validFrom אופציונלי
  • Offer.validThrough אופציונלי
  • Offer.eligibleQuantity אופציונלי
  • Offer.inventoryLevel אופציונלי
menuAddOn Array of AddOnMenuSection אופציונלי קטע בתפריט של פריטים מותרים שאפשר להוסיף כתוסף. יש להשתמש באפשרות הזו רק אם תוספים הם ספציפיים לאפשרות מסוימת בתפריט. אחרת, צריך להוסיף תוספים באמצעות הנכס MenuItem.menuAddOn.
suitableForDiet מערך של RestrictedDiet אופציונלי רשימה ממוינת שמצוין בה תזונה שבה המנה עומדת בהגבלה התזונתית שמתוארת (לדוגמה, "http://schema.org/GlutenFreeDiet" או "http://schema.org/VeganDiet").
nutrition NutritionInformation אופציונלי מידע תזונתי של המנה, בעיקר קלוריות.
hasAllergen AllergenDetails אופציונלי אלרגנים של המנה לפי gs1:AllergenDetails. צריך להוסיף את ההקשר gs1 כדי להשתמש במאפיין הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItemOption.
additive מערך של AdditiveDetails אופציונלי תוספים של המנה בכל gs1:AdditiveDetails. זוהי רשימה ממצה של ערכים אפשריים. מוסיפים את ההקשר gs1 כדי להשתמש במאפיין הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItemOption.
packaging PackagingDetails אופציונלי מידע על האריזה והמיחזור של הפריט הזה בתפריט לכל gs1:PackagingDetails צריך להוסיף את ההקשר של gs1 כדי להשתמש במאפיין הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItemOption.

בדוגמה הבאה מוצגים רכיבי MenuItemOption:

דוגמה 1

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

דוגמה 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

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

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד 'תפריט המקטע'.
@id כתובת URL חובה המזהה הייחודי של קטע התפריט.
name טקסט חובה טקסט שיכול לזהות את MenuSection כשמשתמש מעיין בתפריט.
description טקסט אופציונלי תיאור של קטע התפריט.
hasMenuSection מערך של MenuSection אופציונלי קיבוץ משנה לוגי של MenuSection. לדוגמה, הקטע של תפריט ארוחת הערב יכול לכלול כמה מקטעים משניים, כמו 'מנות עוף' או 'צמחוניות'.
hasMenuItem מערך של MenuItem אופציונלי אפשרויות בתפריט שכלולות בMenuSection.
offers מערך של Offer אופציונלי

משתמשים ב-Offer.availabilityStarts וב-Offer.availabilityEnds כדי לציין את תקופת הזמן שבה ה-MenuSection הזה מוצג. אין להשתמש ב-Offer.eligibleQuantity.

ברשימה הבאה מוצגים המאפיינים של Offer שנמצאים בשימוש ב-MenuSection:

  • Offer.availabilityStarts אופציונלי
  • Offer.availabilityEnds אופציונלי
  • Offer.availableDay אופציונלי
  • Offer.validFrom אופציונלי
  • Offer.validThrough אופציונלי
image כתובת URL אופציונלי תמונה של הקטע בתפריט.

בדוגמאות הבאות מוצגות ישויות של MenuSection:

דוגמה 1

{
  "@type": "MenuSection",
  "@id": "http://www.provider.com/bar/menusection/4",
  "name": "Steak",
  "description": "Steak Dishes",
  "image": "https://steak.com/steak_dishes.jpg",
  "hasMenuItem": {
    "@type": "MenuItem",
    "@id": "http://www.provider.com/bar/menuitem/3",
    "name": "Sirloin",
    "description": "Sirloin steak dish.",
    "offers": {
      "@type": "Offer",
      "sku": "offer-sirloin-steak",
      "price": "15.49",
      "priceCurrency": "USD"
    },
    "suitableForDiet": "http://schema.org/GlutenFreeDiet"
  }
}

דוגמה 2

"hasMenuSection": [
  {
    "@type": "MenuSection",
    "@id": "https://www.example.com/1089/categorization/25114480",
    "name": "Main Items",
    "hasMenuItem": [
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170067",
        "name": "Veg Grill Burrito",
        "offers": {
          "@type": "Offer",
          "sku": "offer-veg-grill-burrito",
          "price": "12.99",
          "priceCurrency": "USD"
        },
        "menuAddOn": {
          "@type": "AddOnMenuSection",
          "name": "Cheese",
          "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
          "eligibleQuantity":
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2 // Maximum of 2 cheeses are allowed
          }
        }
      },
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170018",
        "name": "Chicken Taco",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chicken-taco",
          "price": "6.99",
          "priceCurrency": "USD"
        }
      }
    ]
  },
  {
    "@type": "AddOnMenuSection",
    "@id": "https://www.example.com/1089/addon/1",
    "name": "AddOnCheese",
    "hasMenuItem": [
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/a",
        "name": "Swiss",
        "offers": {
          "@type": "Offer",
          "sku": "offer-swiss",
          "price": "2.99",
          "priceCurrency": "USD"
        }
      },
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/b",
        "name": "Mozarella",
        "offers": {
          "@type": "Offer",
          "sku": "offer-mozzarella",
          "price": "1.99",
          "priceCurrency": "USD"
        }
      }
    ]
  }
]

דוגמאות נוספות לישויות של MenuSection זמינות במאמר דוגמאות לפידים של מסעדות ותפריטים.

NutritionInformation

בטבלה הבאה מתוארים המאפיינים של הסוג NutritionInformation. יחידות מידה הן תלויות אותיות רישיות. לדוגמה, אפשר להזין "Cal", אך לא ניתן להזין "cal".

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "NutritionInformation".
description טקסט אופציונלי מידע על תזונה בטקסט חופשי. לדוגמה, "מכיל חומרים משמרים".
calories טקסט אופציונלי

מספר הקלוריות בקלוריות, בקלוריות או בקילוג'אול, בפורמט הבא:

number Cal_kcal_OR_kJ

לדוגמה, "240 קלוריות".

carbohydrateContent טקסט אופציונלי

כמות הפחמימות, בדרך כלל ב-g, לפי הפורמט הבא:

number g_OR_mg

לדוגמה, "7 גר'".

cholesterolContent טקסט אופציונלי

כמות הכולסטרול, בדרך כלל במ"ג, בפורמט הבא:

number g_OR_mg

לדוגמה, "12 מ"ג".

fatContent טקסט אופציונלי

כמות השומן, בדרך כלל ב-g, לפי הפורמט הבא:

number g_OR_mg

לדוגמה, "42 גר'".

fiberContent טקסט אופציונלי

מספר g או מ"ג סיבים, בפורמט הבא:

number g_OR_mg
proteinContent טקסט אופציונלי

מספר גרם או מ"ג חלבון, בפורמט הבא:

number g_OR_mg
saturatedFatContent טקסט אופציונלי

מספר גרם או מ"ג של שומן רווי, בפורמט הבא:

number g_OR_mg
servingSize טקסט אופציונלי גודל המנה במילימטרים, ל', ג' או ק"ג, במונחים של מספר הנפח או המסה.
sodiumContent טקסט אופציונלי

מספר מ"ג או ג' של נתרן, בפורמט הבא:

number g_OR_mg
sugarContent טקסט אופציונלי

מספר הג' או מ"ג סוכר, בפורמט הבא:

number g_OR_mg
transFatContent טקסט אופציונלי

מספר גרם או מ"ג של שומן טראנס, בפורמט הבא:

number g_OR_mg
unsaturatedFatContent טקסט אופציונלי

כמות השומן הלא-רווי, בדרך כלל ב-g, בפורמט הבא:

number g_OR_mg

בדוגמאות הבאות מוצג רכיב NutritionInformation:

דוגמה 1

"nutrition": {
  "@type": "NutritionInformation",
  "calories": "170 Cal",
  "fatContent": "3 g",
  "fiberContent": "2 g",
  "proteinContent": "4 g"
},

דוגמה 2

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/7",
  "name": "Peach Ice Tea",
  "description": "A 0.5l bottle of peach ice tea.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-peach-ice-tea",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "nutrition": {
              "@type": "NutritionInformation",
              "description": "Contains preservatives and artificial flavor"
  }
},

ההצעה

מבצע על פריט בתפריט. בטבלה הבאה מתוארים המאפיינים של סוג Offer:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד 'Offer'.
sku טקסט משפטי תנאי

המזהה הייחודי של המבצע. יכול להיות כל ערך טקסט ייחודי בתוך Offer. ב-Checkout וב-Send יש הפניה לערכים sku בתור offerId ב-lineitem.

ניתן להשתמש בנכס הזה רק בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price טקסט משפטי תנאי

מחיר הפריט המוצע. לדוגמה, '6.00' בלי סמל המטבע.

המאפיין הזה נדרש רק בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

לא נעשה בו שימוש בסוגי המבצעים הבאים:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency טקסט משפטי תנאי

המטבע (בפורמט ISO 4217 בן 3 אותיות) של המחיר או רכיב המחיר, כשהוא מצורף אל PriceSpecification וסוגי המשנה שלו.

המאפיין הזה נדרש רק בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

לא נעשה בו שימוש בסוגי המבצעים הבאים:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime או Time אופציונלי התאריך והשעה או רק את השעה שבה המבצע זמין. לדוגמה, אם מגישים פנקייקים החל מהשעה 7:00, הערך בשדה הזה יכול להיראות כך: '2017-05-01T07:00:00-07:00'. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.
availabilityEnds DateTime או Time אופציונלי התאריך והשעה או רק את השעה שבה המבצע לא זמין. המועד הזה בלעדי. לדוגמה, אם הזמינות של פנקייקים מסתיימת ב-10:00, אפשר להגיש את הפנקייק האחרון בשעה 9:59:59. הערך בשדה הזה יכול להיראות כך: '2017-05-01T10:00:00-07:00'. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.
availableDay מערך של DayOfWeek אופציונלי

הימים בשבוע שבהם הפריט זמין. הערכים החוקיים כוללים:

  • "יום שני"
  • "יום שלישי"
  • "רביעי"
  • 'Thursday'
  • "שישי"
  • "חמישי"
  • "יום ראשון"

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

validFrom DateTime אופציונלי

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

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:

  • Service.Offer
validThrough DateTime אופציונלי

התאריך והשעה (כולל אזור הזמן) שאחריהם המחיר שצוין כבר לא תקף. לדוגמה, המחיר של פסטה הוא 8 $במהלך ארוחת הצהריים ו-10 $בארוחת הערב. השעה בvalidThrough היא בלעדית: לדוגמה, אם השעה הזו מוגדרת ל-18:00, השעה תקפה עד 17:59:59. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים.

  • Service.Offer
eligibleQuantity QuantitativeValue אופציונלי

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

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

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
aggregateRating AggregateRating אופציונלי

הדירוג הכולל, על סמך אוסף של ביקורות או דירוגים של הפריט.

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

הנכס הזה לא נמצא בשימוש בסוגים הבאים.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
inventoryLevel QuantitativeValue אופציונלי

הרמה המשוערת הנוכחית של המלאי של הפריט או הפריטים.

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification מערך של DeliveryChargeSpecification או מערך של PaymentChargeSpecification אופציונלי

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

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • Service.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy מערך של מזהים של Restaurant אופציונלי

מייצג את המסעדות שבהן אפשר Offer.

אם לא מציינים שום אפשרות, Offer יוצע לכל המסעדות.

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:

  • Service.Offer
applicableFulfillmentMethod מערך טקסט אופציונלי

מייצג את סוג השירות שמספק Offer. הערכים האפשריים הם "delivery" (משלוח) או "TakeOUT".

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

ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:

  • Service.Offer
@id כתובת URL הוצא משימוש המזהה הייחודי של המבצע. הוצא משימוש החל מ-25/4/19. יש להחליף ב-sku כפי שמתואר למעלה.

בדוגמאות הבאות מוצגים רכיבי Offer:

דוגמה 1

בדוגמה הבאה מוצג מבצע פשוט:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD"
}

דוגמה 2

במבצע לדוגמה הבא מוצגת הזמינות בין 8:00 ל-10:00 בסופי שבוע:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",  // Only available from 8-9:59:59 AM
  "availabilityEnds": "T10:00:00-07:00",
  "availableDay": ["Saturday", "Sunday"]  // Only on weekends.
}

דוגמה 3

הדוגמה הבאה מראה את הזמינות בשעות 9:00 עד 10:59:59 בימים שני, רביעי ושישי, אבל 8-11:59:59 בימים שלישי וחמישי:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T09:00:00-07:00",
  "availabilityEnds": "T11:00:00-07:00",
  "availableDay": ["Monday", "Wednesday", "Friday"]
}, {
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/141/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",
  "availabilityEnds": "T12:00:00-07:00",
  "availableDay": ["Tuesday", "Thursday"]
}

דוגמה 4

בדוגמה הבאה מוצגת כמות כשירה של פריט בתפריט של תוסף מסוים, כך שהמשתמש יכול להזמין עד 2 מנות מהפריט הזה:

{
  "@type": "AddOnMenuItem",
  "@id": "https://www.example.com/1089/addon/a",
  "name": "Ranch",
  "offers": {
    "@type": "Offer",
    "@id": "https://www.example.com/1089/addon/a/offer",
    "price": "2.99",
    "priceCurrency": "USD"
    "eligibleQuantity": {
         "@type": "QuantitativeValue",
         "maxValue": 2
     }
  }
}

דוגמה 5

בדוגמה הבאה מוצג מוצר למשלוח במיקום ספציפי:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD",
  "applicableFulfillmentMethods": ["DELIVERY"],
  "offeredBy": [
    {
      "@type": "Restaurant",
      "@id": "https://www.provider.com/location/1",
    }
  ]
}

OpeningHoursSpecification

מגדיר מתי שירותים יהיו זמינים. בדרך כלל, הערך של opens נמוך מהערך של closes. ההנחיות הבאות רלוונטיות לשימוש בנכסים opens ו-closes:

  • המאפיינים opens ו-closes הם אופציונליים, אבל מומלץ מאוד לציין מתי ההזמנה זמינה. השיטה המומלצת להגדרת שעות זמינות היא לכלול מערך deliveryHours שמכיל ServiceDeliveryHoursSpecification עם המאפיינים opens ו-closes. לאחר מכן אפשר לכלול אובייקט AdvanceServiceDeliveryHoursSpecification ב-deliveryHours עם המאפיינים opens ו-closes משלו, אם רוצים להציע חלון מוגבל יותר להזמנה מראש.
  • אם לא צוינו opens ו-closes במפורש, אנחנו מניחים ששירות ההזמנות זמין בכל יום ובכל שעות היום.
  • יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של opens או closes. אם מציינים אזור זמן, Google מתעלמת מהמידע הזה.
  • אם opens ו-closes זהים, אנחנו מניחים שהמסעדה פתוחה במשך 0 דקות.
  • אם הערך של opens גדול מ-closes, שעת הסגירה תפוענח ביום הבא. לדוגמה, אם שעת הפתיחה מוגדרת ל-1 בינואר בשעה 17:00 ושעת הסגירה היא 2:00, המסעדה תתפרש כסגירה ב-2 בינואר בשעה 02:00.
  • המועד של closes הוא בלעדי. לכן, אם שעות הפתיחה והסגירה מוגדרות לחלון ההזמנות ב-10:00 וב-16:00, בהתאמה, ההזמנה האחרונה תהיה 15:59:59.

בטבלה הבאה מתוארים המאפיינים של הסוג OpeningHoursSpecification:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד "OpeningHoursSpecification".
@id כתובת URL אופציונלי מזהה של OpeningHoursSpecification.
dayOfWeek מערך של DayOfWeek אופציונלי

היום בשבוע שבו שעות הפתיחה האלה תקפות. הערכים הקבילים הם "Monday" , "Monday" , "Monday" , "Thursday" , "Friday" , "Saturday" ו-"Sunday". למשל:

"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]

אם לא מציינים ימים בשבוע, הערך OpeningHoursSpecification חל על כל הימים.

opens Time אופציונלי

כשנעשה שימוש במפרט של Restaurant, המאפיין הזה מציין את שעת הפתיחה של המסעדה בימים מסוימים בשבוע. לדוגמה, השעה 06:30 נקראת 'T06:30:00'.

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

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

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

closes Time אופציונלי

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

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

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

validFrom DateTime אופציונלי

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

לדוגמה, אם השעות שצוינו חלות על כל שנת 2017, מגדירים את validFrom לערך "2017-01-01T00:00:00-07:00" ואת הערך validThrough כ-"2017-12-31T23:59:59-07:00".

כשמשתמשים במפרט של Service, המאפיין validFrom מציין את תאריך ההתחלה שהחל ממנו ניתן לבצע הזמנות של משתמשים.

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

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

באזור הזמן, מציינים את אזור הזמן של המסעדה או השירות.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

validThrough DateTime אופציונלי

בשימוש ב-Restaurant, התאריך שאחריו שעות הפתיחה שצוינו על ידי opens ו-closes לא חוקיות.

לדוגמה, אם השעות שצוינו חלות על כל שנת 2017, מגדירים את validFrom לערך "2017-01-01T00:00:00-07:00" ואת הערך validThrough כ-"2017-12-31T23:59:59-07:00".

כשמשתמשים במפרט של Service, המאפיין validThrough מציין את תאריך הסיום שאחריו לא ניתן יותר לבצע הזמנות של משתמשים.

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

בנוסף לתאריך, נדרשים החלקים של השעה ואזור הזמן ב-DateTime.

באזור הזמן, מציינים את אזור הזמן של המסעדה או השירות.

המועד של validThrough הוא בלעדי. לדוגמה, אם השעה הזו מוגדרת ל-18:00, השעה תקפה עד 17:59:59.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

deliveryHours מערך של ServiceDeliveryHoursSpecification או מערך של AdvanceServiceDeliveryHoursSpecification משפטי תנאי

המפרט של זמן המשלוח או זמן האספקה.

הפרמטר הזה נדרש, אלא אם המסעדה סגורה (כלומר, opens ו-closes מוגדרים ושווים זה לזה.

  • ServiceDeliveryHoursSpecification: אפשר להגדיר שעות פתיחה או סגירה במהלך שעות הפתיחה או הסגירה, שבהן המשתמשים יכולים לבצע הזמנות בהקדם האפשרי.
  • AdvanceServiceDeliveryHoursSpecification: אפשר להגדיר שעות פתיחה/סגירה במהלך שעות הפתיחה והסגירה, שבמהלכן המשתמשים יוכלו לבצע הזמנות מראש.

בדוגמאות הבאות מוצגים רכיבי OpeningHoursSpecification:

דוגמה 1

// Ordering times for Monday through Friday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      "@type": "AdvanceServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T12:00:00", // Advance ordering begins at noon
      "closes": "T23:59:59", // Advance ordering ends at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    },
    {
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T10:00:00", // ASAP ordering begins at 10AM
      "closes": "T14:00:00", // ASAP ordering ends at 2PM
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
},

דוגמה 2

// Ordering times for Saturday and Sunday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      // In this case advance orders are unavailable on Saturday and Sunday
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Saturday",
        "Sunday"
      ],
      "opens": "T12:00:00", // ASAP orders start at noon
      "closes": "T23:59:59", // ASAP orders end at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
}

דוגמה 3

"hoursAvailable": {
  "@type": "OpeningHoursSpecification",
  "validFrom": "2016-02-01T00:00:00-07:00",
  "validThrough": "2016-03-01T00:00:00-07:00",
  "opens": "T08:00:00",  // Ordering begins at 8:00AM and ends at 6:00PM.
                         // ASAP and and advance orders are restricted to this
                         // time frame since the user won't be able to place
                         // orders outside of this window.
  "closes": "T18:00:00",
  "deliveryHours": {
    "@type": "ServiceDeliveryHoursSpecification",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": "60",
      "unitCode": "MIN"
    }
  }
},

דוגמה 4

// List hours available for 2017 and 2018
"hoursAvailable": [
  {
    "@type": "OpeningHoursSpecification",
    // Array containing advance order hours for each day
    "deliveryHours": [
      {
        // Open 10:00AM to 9:29:59PM on Mondays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Monday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Tuesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Tuesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Wednesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Wednesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Thursdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "dayOfWeek": [
          "Thursday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Fridays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Friday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Saturdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Saturday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 11:00AM to 6:59:59PM on Sundays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Sunday"
        ],
        "opens": "T11:00:00",
        "closes": "T19:00:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      }
    ]
  }
],

PackagingDetails

מוסיפים את ההקשר gs1 כדי להשתמש בסוג הזה: "@context": ["http://gs1.org/voc/", "http://schema.org"]. ומוסיפים FoodBeverageTobaccoProduct לסוג של MenuItem או MenuItemOption.

בטבלה הבאה מתוארים המאפיינים של הסוג PackagingDetails:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "PackagingDetails".
packagingRecyclingProcessType טקסט אופציונלי סוג תהליך מיחזור האריזה לפי gs1:PackagingRecyclingProcessTypeCode. לדוגמה http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE או http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails אופציונלי פרטי ההפקדה של חבילה שניתן להחזיר לפי gs1:ReturnablePackageשקעDetails. לדוגמה, בבקבוקים ובפחיות אפשר להחזיר חבילות.

הדוגמה הבאה מציגה את השימוש בסוג PackagingDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

PaymentChargeSpecification

בטבלה הבאה מתוארים המאפיינים של הסוג PaymentChargeSpecification:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד PaymentChargeSpecification.
@id כתובת URL אופציונלי מזהה של PaymentChargeSpecification.
price מספרים חובה סכום החיוב הכולל. לדוגמה, "6.00", בלי סמל המטבע.
priceCurrency טקסט חובה קוד מטבע בן 3 אותיות של המחיר לפי תקן ISO 4217. לדוגמה, "USD".
eligibleTransactionVolume PriceSpecification אופציונלי נפח העסקאות ביחידה כספית שמפרט חיוב התשלום הזה תקף, למשל, כדי לציין נפח רכישה מינימלי.
eligibleQuantity QuantitativeValue אופציונלי כמויות ההזמנה שעבורן חל חיוב התשלום. לדוגמה, אפשר להשתמש במאפיין הזה כדי לדרוש מספר מינימלי של פריטים בהזמנה.
validFrom DateTime אופציונלי התאריך והשעה (כולל אזור הזמן) שבהם חיוב התשלום שצוין תקף. לדוגמה, 2017-05-01T07:00:00-07:00. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.
validThrough DateTime אופציונלי התאריך והשעה (כולל אזור הזמן) שבהם חיוב התשלום שצוין לא תקף. לדוגמה, 2017-05-01T07:30:00-07:00. השעה בvalidThrough היא בלעדית: לדוגמה, אם השעה הזו מוגדרת ל-18:00, השעה תקפה עד 17:59:59. מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

הדוגמה הבאה מציגה רכיב PaymentChargeSpecification:

דוגמה

"priceSpecification": [{
  "@type": "PaymentChargeSpecification",
  "@id": "http://www.provider.com/paymentCharge/bar",
  "priceCurrency": "USD",
  "price": "6.00", // Charges $6 for processing fee
  "eligibleQuantity": {
    "@type": "QuantitativeValue",
    "minValue": 2 // Minimum of two items required
  }
}]

בנוסף ל-"@type": ["PaymentChargeSpecification"], אפשר להרחיב את האובייקט באמצעות UnitPriceSpecification ("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]). התוסף מספק שני מאפיינים נוספים הנדרשים לחישוב עמלות שירות באחוזים.

נכס סוג צורך תיאור
referenceQuantity QuantitativeValue חובה כמות סימוכין שעליה חל מחיר מסוים. לדוגמה, referenceQuantity של ערך 10 עם unitCode של 'P1' מביא ל-10% מערך ההזמנה. בשלב הזה יש תמיכה רק ב-unitCode 'P1'.
basePrice מספרים אופציונלי החיוב הבסיסי בנוסף ל-referenceQuantity. לדוגמה, referenceQuantity מתוך 10 עם unitCode הערך P1 ו-basePrice בסכום של 5 דולר ארה"ב יובילו ל-5 $+ 10% מערך ההזמנה. ערך ברירת המחדל הוא 0.

דוגמאות לעמלה באיסוף עצמי

Google מאפשרת לציין מגוון עמלות למשתמשים מראש, באמצעות Offer.PriceSpecification של ישות השירות.

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

אם אין עמלה, הערך Offer.PriceSpecification לא יופיע.

  • דוגמה 1: עמלת שירות היא 5% מסכום הביניים של עגלת הקניות
  • דוגמה 2: עמלת שירות היא 20 ש"ח
  • דוגמה 3: עמלת כבודה היא 0.1 $ועמלת השירות היא 5% מסך הביניים של העגלה
  • דוגמה 4: עמלת הכבודה היא $0.1 ועמלת השירות היא $1
  • דוגמה 5: עמלת השירות היא 5% והטיפ הנדרש הוא 10% מסך הביניים של העגלה

דוגמה 1

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

דוגמה 2

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

דוגמה 3

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "0.10" // Bag fee $0.1
  }
]

דוגמה 4

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "1.10" //$1 + $0.1
  }
]

דוגמה 5

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "15.00", // 5% + 10%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

מקום

בטבלה הבאה מתוארים המאפיינים של הסוג Place:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד 'מקום'.
address PostalAddress חובה כתובת של מקום.

הדוגמה הבאה מציגה רכיב מקום:

דוגמה

{
  "@type": "Place", // area2
  "address": {
    "@type": "PostalAddress",
    "postalCode": "94041",
    "addressCountry": "US"
  }
},

PostalAddress

בטבלה הבאה מתוארים המאפיינים של הסוג PostalAddress:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד PostalAddress.
addressLocality טקסט חובה* הרשות המוניציפאלית או העיר. לדוגמה, "חיפה".
addressRegion טקסט חובה* האזור או המדינה. לדוגמה, "CA".
postalCode טקסט חובה* המיקוד. לדוגמה, "94102".
streetAddress טקסט אופציונלי הרחוב. לדוגמה, "30 Herzl Ave".
addressCountry טקסט חובה קוד מדינה בן שתי אותיות לפי תקן ISO 3166-1 alpha-2 . לדוגמה, הקוד של ישראל הוא "IL".

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

כשמשתמשים בו ב-Restaurant.address, נדרשים כל המאפיינים שרשומים ב-PostalAddress.

בדוגמה הבאה מוצג הרכיב PostalAddress:

דוגמה

"address": {
  "@type": "PostalAddress",
  "streetAddress": "12345 Bar Avenue",
  "addressLocality": "San Francisco",
  "addressRegion": "CA",
  "postalCode": "94124",
  "addressCountry": "US"
},

PriceSpecification

בטבלה הבאה מתוארים המאפיינים של הסוג PriceSpecification:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "PriceSpecification".
@id כתובת URL אופציונלי מזהה של PriceSpecification.
minPrice מספרים אופציונלי המחיר הנמוך ביותר אם המחיר הוא טווח.
maxPrice מספרים אופציונלי המחיר הגבוה ביותר אם המחיר הוא טווח.
priceCurrency טקסט חובה קוד מטבע בן 3 אותיות של המחיר לפי תקן ISO 4217. לדוגמה, "USD".
eligibleQuantity QuantitativeValue אופציונלי כמויות ההזמנה שעבורן מפרט המחיר תקף. לדוגמה, המחיר יכול להיות 8 ש"ח לפאונד או 2 פריטים לדולר.

בדוגמה הבאה מוצג הרכיב PriceSpecification:

דוגמה 1

"eligibleTransactionVolume": {
  "@type": "PriceSpecification",
  "minPrice": "20.00", // Minimum order price for delivery is $20
  "priceCurrency": "USD"
}

PropertyValue

צמד ערכי מאפיין המשמש לתיאור האפשרויות ב-MenuItemOption.

בטבלה הבאה מפורטים המאפיינים של הסוג PropertyValue:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "PropertyValue".
name טקסט חובה

השם או הסוג של האפשרות.

השמות הבאים חוקיים כאשר נעשה בהם שימוש ב-MenuItem:

  • "SIZE": גודל של MenuItem. לדוגמה, Small, medium או large.
  • "אפשרות": כל שינוי מלבד גודל (כמו מנה שמגיעה כסלט או ככריך). אם אתם לא מצליחים להבחין בין "SIZE" לבין "OPTION", משתמשים באפשרות "OPTION".

שמות חוקיים כשהם בשימוש בAddOnMenuItem:

  • "APPLICABLE_ITEM_OPTION": אפשרות עבור התוסף שרלוונטית רק לשימוש עם MenuItem עם SIZE/OPTION המתאים.
  • "PIZZA_SIDE": התוסף הזה תקף רק לפיצות חלקיות או לפיצה שלמה (כמו תוספות פטריות בצד שמאל, בצד ימין או פיצה שלמה).
  • SIZE: אפשרות להגדיר את גודל המנה (כמו צ'יפס גדול כתוסף לארוחה משולבת).
  • "אפשרות": כל וריאציה שאינה גודל. אם אתם לא מבחינים בין "SIZE" לבין "OPTION", משתמשים באפשרות "OPTION".
value טקסט חובה

הערך של האפשרות. הערכים יכולים להיות כל מחרוזת ומוצגים כפי שהם. הערכים הבאים הם ערכים חוקיים:

  • "PIZZA_SIDE": הערך המתאים צריך להיות "PIZZA_SIDE_LEFT", "PIZZA_SIDE_RIGHT" או "PIZZA_SIDE_WHOLE" עבור פיצה.
  • "APPLICABLE_ITEM_OPTION": הערך צריך להופיע באחת מאפשרויות הערך "OPTION/SIZE" המתאימות בתפריט הצאצא של MenuItem.

QuantitativeValue

בטבלה הבאה מתוארים המאפיינים של הסוג QuantitativeValue:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "QuantitativeValue".
value מספרים אופציונלי הערך של הערך הכמותי או הצומת של ערך המאפיין.
unitCode טקסט או כתובת אתר אופציונלי

יחידת המידה בתור קוד UN/CEFACT נפוץ או כתובת URL.

בקודים שאינם הקוד המשותף UN/CEFACT ניתן להשתמש עם קידומת ואחריה נקודתיים.

maxValue מספרים אופציונלי הערך העליון של מאפיין או של תכונה.
minValue מספרים אופציונלי הערך הנמוך יותר של מאפיין או של תכונה.

הדוגמאות הבאות מציגות את השימוש בסוג QuantitativeValue:

דוגמה 1

"deliveryLeadTime": {
  "@type": "QuantitativeValue",
  "value": "60",
  "unitCode": "MIN"
}

דוגמה 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

דוגמה 3

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

מסעדה

בטבלה הבאה מפורטים המאפיינים של הסוג Restaurant:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הכותרת היא תמיד "מסעדה".
@id כתובת URL חובה המזהה הייחודי של המסעדה או ספק המשלוחים. לדוגמה, "http://www.provider.com/326", כאשר "326" הוא המזהה הייחודי של המסעדה.
name טקסט חובה טקסט שיכול לזהות את Restaurant בתהליך ההזמנה.
url כתובת URL חובה כתובת ה-URL של המסעדה בדומיין שלכם שמייצגת את המסעדה. לדוגמה: "http://www.provider.com/somerestaurant".
sameAs כתובת URL אופציונלי האתר הרשמי של המסעדה. לדוגמה, "http://www.somerestaurant.com".
email טקסט אופציונלי כתובת האימייל ליצירת קשר עם המסעדה.
description טקסט אופציונלי תיאור המסעדה.
telephone טקסט חובה

מספר טלפון בפורמט הבא:

"[+][country_code][phone_#_with_area_code]"

לדוגמה: " +16501234567".

priceRange טקסט אופציונלי טווח מחירים. לדוגמה, "$$" ($-Inexpensive, $$-בינוני, $$$-Expensive, $$$$-Very Expensive).
logo URL Optional Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png".
image URL Optional Image of the restaurant.
servesCuisine Array of Text Optional Food types that are served at the restaurant. For example, ["sushi","Asian fusion"].
address PostalAddress Required* Address of the restaurant.
geo GeoCoordinates Optional* Geographic coordinates of the restaurant.
suitableForDiet Array of RestrictedDiet Optional Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list.
aggregateRating AggregateRating Optional Overall rating, based on a collection of reviews or ratings of the restaurant.
additionalProperty Array of name value string pairs Optional

A restaurant imprint is a section of additional information about the restaurant, such as legal name, legal address, and registration number. This information can be formatted using "\n".

For example "additionalProperty": [{"name": "imprint", "value": "first row\nsecondrow\n"},]

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$",
  "telephone": "+16501234567", // קוד מדינה (+1) נדרש
  "servesCuisine": [
    "פיוז'ן הודי-מקסיקני"
  ]
},
  
  

דוגמה 2

{
  "@type": "Restaurant",
  "@id": "http://www.example.com/threebrotherstacos",
  "name": "Three Brothers Tacos",
  "address": {
        "@type": "PostalAddress",
        "addressLocality": "Mountain View",
        "addressRegion": "CA",
        "postalCode": "94041",
        "streetAddress": "123 Foo St",
        "addressCountry": "US"
  },
  "additionalProperty": [
    {"name": "imprint", "value": "Three Brothers Tacos\n123 FooSt\nMountain View\nCA 94041, United States\nemail: contact@threebrotherstacos.com\n\nCommercial Register: 123456789"}
  ]
}

דוגמאות נוספות לישויות של Restaurant זמינות במאמר דוגמאות לפידים של מסעדות ותפריטים.

ReturnablePackageDepositDetails

כדי להשתמש בסוג הזה, מוסיפים את ההקשר gs1: "@context":

["http://gs1.org/voc/", "http://schema.org"]

לאחר מכן מוסיפים את FoodBeverageTobaccoProduct לסוג של MenuItem או MenuItemOption המתאימים.

בטבלה הבאה מתוארים המאפיינים של סוג ReturnablePackageDepositDetails:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הוא תמיד "ReturnablePackageשקעDetails".
returnablePackageDepositAmount gs1:PriceSpecification אופציונלי סכום ההפקדה של הפריט הזה לפי gs1:PriceSpecification. לדוגמה, הפקדה של $0.25 לכל פחית.

הדוגמה הבאה מציגה את השימוש בסוג ReturnablePackageDepositDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

שירות

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

בטבלה הבאה מתוארים המאפיינים של הסוג Service:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה

סוג הפיד.

  • Service: יש להשתמש בסוג הזה לכל הפידים הפעילים של השירות.
  • DisabledService: יש להשתמש בסוג הזה רק כשצריך להשבית ישות שירות עקב אירוע בלתי צפוי, ולא יודעים מתי השירות יוקם מחדש.
@id כתובת URL חובה מזהה של שירות האספקה. לדוגמה: "http://www.provider.com/service/1".
description טקסט אופציונלי תיאור הפריט.
serviceType טקסט חובה סוג השירות שמוצע. הערכים האפשריים הם "delivery" או "TakeOUT".
provider Restaurant חובה זהו המזהה הייחודי של המסעדה. לדוגמה: "http://www.provider.com/somerestaurant".
areaServed מערך של GeoShape, Place או GeoCircle משפטי תנאי האזור הגיאוגרפי שבו ניתן השירות. השדה הזה הוא אופציונלי כברירת מחדל, אבל חובה להזין אותו אם הערך של serviceType הוא "delivery".
hoursAvailable מערך של OpeningHoursSpecification חובה השעות שבהן השירות הזה זמין.
specialOpeningHoursSpecification מערך של OpeningHoursSpecification, ServiceDeliveryHoursSpecification או AdvanceServiceDeliveryHoursSpecification אופציונלי

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

מגדירים את טווח התאריכים המיוחד באמצעות המאפיינים validFrom ו-validThrough. השעה ואזור הזמן נדרשים כשמציינים את המאפיינים האלה.

offers מערך של Offer משפטי תנאי

פרטים על הצעת המשלוחים ממסעדה מסוימת. השדה הזה הוא אופציונלי כברירת מחדל, אבל הוא חובה אם הערך של serviceType הוא Deliver (משלוח).

המאפיין Offer.priceSpecification הוא אופציונלי בשירות. אין כאן נכסי Offer אחרים שנמצאים בשימוש.

hasOfferCatalog [Menu, OfferCatalog] חובה

מציין תפריט לשירות הזה. אפשר ליצור תפריט שונה לכל אחד מהשירותים שלך (למשל: טייק אוויי, משלוחים והסעדה).

עליך לציין גם Menu וגם OfferCatalog עבור הסוג. למשל:

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty מערך של {name, value} אופציונלי

פרטים אופציונליים לגבי הגדרת השירות. הפריטים צריכים להיות אובייקט עם המפתח name שתואם לשם השדה האופציונלי. המפתח value הוא ערך רלוונטי להקשר עבור השדה.

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

"additionalProperty": [{
  "name": "disableOrderInstructions",
  "value": false
}, {
  "name": "disableMenuItemSpecialInstructions",
  "value": false
}, {
  "name": "disableTipWidget",
  "value": false
}, {
  "name": "disablePromoWidget",
  "value": false
}, {
  "name": "menuItemSpecialInstructionsMaxLength",
  "value": 256
}, {
  "name": "orderInstructionsMaxLength",
  "value": 256
}]
potentialAction כתובת URL אופציונלי

מכילה כתובת URL של שירות משלוחים או טייק אוויי שישמש למעבר מחוויית הזמנת אוכל מקצה לקצה להפניה אוטומטית. לדוגמה, "potentialAction": { "url": "https://fopatestagent.com/ordering/restaurant-1/delivery" }

הדוגמה הבאה מציגה את השימוש בסוג השירות:

דוגמה

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "serviceType": "DELIVERY",
  "provider": {
    "@type": "Restaurant",
    "@id": "http://www.provider.com/threebrotherstacos"
  },
  "potentialAction": {
    "url": "https://foprovider.com/ordering/restaurant-1/delivery"
  },
  "hoursAvailable": [
    // Ordering times for Monday through Friday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          "@type": "AdvanceServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T12:00:00", // Advance ordering begins at noon
          "closes": "T23:59:59", // Advance ordering ends at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        },
        {
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T10:00:00", // ASAP ordering begins at 10AM
          "closes": "T14:00:00", // ASAP ordering ends at 2PM
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    },
    // Ordering times for Saturday and Sunday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          // In this case advance orders are unavailable on Saturday and Sunday
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Saturday",
            "Sunday"
          ],
          "opens": "T12:00:00", // ASAP orders start at noon
          "closes": "T23:59:59", // ASAP orders end at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    }
  ],
  "hasOfferCatalog": {
    "@type": ["Menu", "OfferCatalog"],
    "@id": "https://www.provider.com/menu/1"
  },
  "areaServed": [{
      "@type": "GeoCircle", // area1
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "42.362757",
        "longitude": "-71.087109"
      },
      "geoRadius": "10000"
    },
    {
      "@type": "Place", // area2
      "address": {
        "@type": "PostalAddress",
        "postalCode": "94041",
        "addressCountry": "US"
      }
    },
    {
      "@type": "GeoShape", // area3
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.418128 -122.098167 37.382755 -122.118968 37.368551 -122.047978 37.400949 -122.048106 37.418128 -122.098167"
    },
    {
      "@type": "GeoShape", // area4
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
    },
    {
      "@type": "GeoCircle", // area5
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "37.7392607",
        "longitude": "-122.3895522"
      },
      "geoRadius": "4505"
    }
  ],
  "offers": {
    "@type": "Offer",
    "priceSpecification": [{
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
        "price": "8.00", // Charges $8 for area5
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00",
          "priceCurrency": "USD"
        },
        "eligibleRegion": [ // area5
          {
            "@type": "GeoCircle",
            "geoMidpoint": {
              "@type": "GeoCoordinates",
              "latitude": "37.7392607",
              "longitude": "-122.3895522"
            },
            "geoRadius": "4505"
          }
        ]
      },
      {
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
        "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00", // Minimum order price for delivery is $20
          "priceCurrency": "USD"
        }
      }
    ]
  }
},

דוגמאות נוספות לישויות שירות זמינות במאמר דוגמאות של פיד שירות.

ServiceDeliveryHoursSpecification

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

בדרך כלל, הערך של opens נמוך מהערך של closes. ההנחיות הבאות רלוונטיות לשימוש בנכסים opens ו-closes:

  • המאפיינים opens ו-closes הם אופציונליים ל-ServiceDeliveryHoursSpecification, אבל מומלץ מאוד לכלול אותם.
  • יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של opens או closes. אם מציינים אזור זמן, Google מתעלמת מהמידע של אזור הזמן.
  • אם לא צוינו opens ו-closes באופן מפורש, אנחנו מניחים שאפשר להזמין בהקדם האפשרי בכל יום.
  • אם opens ו-closes זהים, ההנחה שלנו היא שההזמנה בהקדם האפשרי לא זמינה.
  • אם הערך של opens גדול מ-closes, שעת הסגירה תפוענח ביום הבא. לדוגמה, אם שעת הפתיחה מוגדרת ל-1 בינואר בשעה 17:00 ושעת הסגירה היא 2:00, המסעדה תתפרש כסגירה ב-2 בינואר בשעה 02:00.

בטבלה הבאה מתוארים המאפיינים של סוג ServiceDeliveryHoursSpecification:

מאפיין (property) סוג צורך תיאור
@type טקסט חובה הערך הזה הוא תמיד "ServiceShippingHoursSpecification".
validFrom DateTime אופציונלי

התאריך והשעה (כולל אזור הזמן) שבהם ניתן למלא את ההזמנות בהקדם האפשרי של המשתמשים. לדוגמה, 2017-05-01T07:00:00-07:00. אם המאפיין הזה לא מוגדר, ההנחה היא שהוא תקף בכל יום.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

validThrough DateTime אופציונלי

התאריך והשעה (כולל אזור הזמן) שאחריהם לא ניתן למלא את ההזמנות הדחופות של המשתמשים. לדוגמה, 2017-05-01T07:00:00-07:00. אם המאפיין הזה לא מוגדר, ההנחה היא שהוא תקף בכל יום.

המועד של validThrough הוא בלעדי. לדוגמה, אם השעה הזו מוגדרת ל-18:00, השעה תקפה עד 17:59:59.

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

opens Time אופציונלי

המועד שבו שירות המשלוחים מתחיל למלא את הזמנות ה-ASAP של המשתמשים. לדוגמה, "T10:30:00".

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

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

closes Time אופציונלי

השעה שבה שירות המשלוחים להזמנות ה-ASAP של המשתמשים לא זמין יותר. לדוגמה, "T23:59:59".

המועד של closes הוא בלעדי. לכן, אם מגדירים את שעת הפתיחה או הסגירה של ServiceDeliveryHoursSpecification ל-10:00 ול-16:00, ההזמנה האחרונה היא 15:59:59.

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

מידע נוסף זמין במאמר פורמטים של תאריך ושעה.

dayOfWeek מערך של DayOfWeek אופציונלי

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

  • "יום שני"
  • "יום שלישי"
  • "רביעי"
  • 'Thursday'
  • "שישי"
  • "חמישי"
  • "יום ראשון"

אם לא מציינים ימים בשבוע, הערך ServiceDeliveryHoursSpecification חל על כל הימים.

deliveryLeadTime QuantitativeValue אופציונלי זמן האספקה המשוער (בדקות) לאחר ביצוע ההזמנה. מומלץ מאוד להגדיר את הנכס הזה. מגדירים את השדה value של QuantitativeValue למספר הדקות, ואת הערך unitCode לערך MIN.

בדוגמה הבאה מוצג הרכיב ServiceDeliveryHoursSpecification:

דוגמה 1

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "value": "60", // If no exact deliveryLeadTime, put a maximum time
    "unitCode": "MIN"
  }
},

דוגמה 2

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "minValue": "30",
    "maxValue": "50",
    "unitCode": "MIN"
  }
}
    

טיפוסים בני מנייה (enums)

RestrictedDiet

לסוג RestrictedDiet יש את הערכים האפשריים הבאים:

  • http://schema.org/DiabeticDiet
  • http://schema.org/GlutenFreeDiet
  • http://schema.org/HalalDiet
  • http://schema.org/HinduDiet
  • http://schema.org/KosherDiet
  • http://schema.org/LowCalorieDiet
  • http://schema.org/LowFatDiet
  • http://schema.org/LowLactoseDiet
  • http://schema.org/LowSaltDiet
  • http://schema.org/VeganDiet
  • http://schema.org/VegetarianDiet