פידים של קטלוג מזון מבוססים על ישויות של 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 |
חובה |
ערך השינוי האחרון של התאריך והשעה שבהם בוצע שינוי בפריטים בפיד הזה בפורמט ISO_OFFSET_DATE_TIME. אם השדה הזה לא מופיע, ניתן להניח שמועד העדכון הוא הזמן שבו הודעת ה-Push (או הסריקה מתרחשת) בשרתי Google. מומלץ מאוד ליישם את זה אם משתמשים גם בדחיפה וגם בסריקה. צריך לציין את חותמת הזמן הזו באמצעות אזור זמן ורמת פירוט של אלפיות השנייה. לדוגמה, "2016-12-28T06:30:00:123-07:00". בפידים לאצוות, הניהול של גרסאות
הישויות נקבע דרך השדה |
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 | אופציונלי |
תמונה של המנה בתפריט של התוסף שתואמת להנחיות הבאות:
|
offers |
מערך של Offer |
חובה* |
מבצע אחד או יותר שמספקים את התוסף הזה לתוסף. מתאר מתי ובאיזה מחיר ה-AddOnmenuItem זמין.
אפשר לממש רק מבצע אחד בכל זמן נתון. יכולים להיות לך
הרבה מבצעים תקפים אם המחיר או הזמינות משתנים
בהתאם לשעה ביום. כשהתוסף או הפריט נבדלים זה מזה במאפיין בסיס
או בגרסאות שונות של הפריט עצמו (למשל, צ'יפס קטן, בינוני וגדול
כתוסף), משתמשים במאפיין ברירת המחדל של המאפיינים הבאים של
|
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 |
אופציונלי |
אפשר להשתמש ב- בדף העסקי שלמטה אפשר לראות אילו נכסי
|
hasMenuSection |
מערך של AddOnMenuSection |
חובה* | קיבוץ משנה לוגי של תפריט התוסף (כמו ארוחת ערב, מתאבנים או מנות דגים). |
defaultOption |
מערך של AddOnMenuItem |
אופציונלי |
אפשרויות בתפריט של תוספים ייבחרו מראש כברירת מחדל למשתמשים ב- אובייקטים מסוג המספר של |
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'. אם המאפיין לא מוגדר, ההנחה היא שהוא תקף בכל יום.
המאפיינים אם הסוג הזה מוגדר בתור
מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
validThrough |
DateTime |
אופציונלי |
תאריך הסיום שמעבר לו לא ניתן יהיה למלא יותר הזמנות מראש של משתמשים. לדוגמה, '2018-12-01T00:00:00-07:00'. אם המאפיין לא מוגדר, ההנחה היא שהוא תקף בכל יום.
המאפיינים אם הסוג הזה מוגדר בתור
המועד של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
opens |
Time |
אופציונלי |
רלוונטי למשבצות משלוח או לטייק אוויי. השעה הספציפית ביום שבה ניתן למלא את ההזמנות מראש של המשתמשים. לדוגמה, השעה 06:30 נקראת 'T06:30:00'. יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
closes |
Time |
אופציונלי |
רלוונטי למשבצות משלוח או לטייק אוויי. השעה הספציפית ביום שמעבר לה אי אפשר למלא הזמנות מראש של משתמשים. לדוגמה, השעה 21:00 תופיע כך: "T21:00:00".
יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
dayOfWeek |
מערך של DayOfWeek |
אופציונלי |
אפשר לבחור ימים בשבוע שבו ניתן להזמין מראש שעות משלוח. הערכים החוקיים הם:
אם לא מציינים ימים בשבוע, הערך |
serviceTimeInterval |
Duration |
חובה |
מרווח בין שני זמני שירות רצופים. לדוגמה: אם השעות יש לציין את |
advanceBookingRequirement |
QuantitativeValue |
חובה |
מספר הדקות מזמן ההזמנה, שבו ניתן למלא את ההזמנה מראש. יש להגדיר את הערכים לדוגמה, אם כדי למלא הזמנה מראש נדרשות לפחות 60 דקות, והיא מוגבלת למילוי של יותר מיומיים לאחר מכן, הערך של |
הדוגמה הבאה מציגה שימוש מסוג 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
בטבלה הבאה מפורטים המאפיינים של הסוג 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
פריט תפריט שמייצג את הפריט בתפריט. בטבלה הבאה מפורטים המאפיינים של הסוג MenuItem
:
מאפיין (property) | סוג | צורך | תיאור |
---|---|---|---|
@type |
טקסט | חובה | הערך הזה הוא תמיד "menuItem". |
@id |
כתובת URL | חובה | המזהה הייחודי של המנה בתפריט. |
name |
טקסט | חובה | טקסט שיכול לזהות את MenuItem כשמשתמש מעיין
בתפריט. |
description |
טקסט | אופציונלי | תיאור האפשרות בתפריט. |
image |
כתובת URL | אופציונלי |
תמונה של האפשרות בתפריט. צריך להיעזר בהנחיות הבאות לגבי תמונות:
|
menuAddOn |
מערך של AddOnMenuSection |
אופציונלי | פריטים בקטע תפריט שאפשר להוסיף כתוספים לאפשרות בתפריט. |
offers |
מערך של Offer |
חובה* |
מבצע אחד או יותר כדי לספק את המאפיין בדף האפליקציה שלמטה אפשר לראות אילו נכסי
|
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
.
בטבלה הבאה מפורטים המאפיינים של הסוג MenuItemOption
:
מאפיין (property) | סוג | צורך | תיאור |
---|---|---|---|
@type |
טקסט | חובה | הערך הזה הוא תמיד "menuItemOption". |
value |
PropertyValue |
חובה | השדה PropertyValue מכיל צמד של שם/ערך שמייצג את
האפשרות. |
offers |
מערך של Offer |
חובה |
מבצע אחד או יותר כדי לספק את
בדף האפליקציה שלמטה אפשר לראות אילו נכסי
|
menuAddOn |
Array of |
אופציונלי | קטע בתפריט של פריטים מותרים שאפשר להוסיף כתוסף. יש להשתמש באפשרות הזו רק אם תוספים הם ספציפיים לאפשרות מסוימת בתפריט. אחרת, צריך
להוסיף תוספים באמצעות הנכס 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
קטע תפריט כדי לייצג קטע מסוים בתפריט. בטבלה הבאה מפורטים המאפיינים של הסוג MenuSection
:
מאפיין (property) | סוג | צורך | תיאור |
---|---|---|---|
@type |
טקסט | חובה | הערך הוא תמיד 'תפריט המקטע'. |
@id |
כתובת URL | חובה | המזהה הייחודי של קטע התפריט. |
name |
טקסט | חובה | טקסט שיכול לזהות את MenuSection כשמשתמש מעיין
בתפריט. |
description |
טקסט | אופציונלי | תיאור של קטע התפריט. |
hasMenuSection |
מערך של MenuSection |
אופציונלי | קיבוץ משנה לוגי של MenuSection . לדוגמה,
הקטע של תפריט ארוחת הערב יכול לכלול כמה מקטעים משניים, כמו 'מנות
עוף' או 'צמחוניות'. |
hasMenuItem |
מערך של MenuItem |
אופציונלי | אפשרויות בתפריט שכלולות בMenuSection . |
offers |
מערך של Offer |
אופציונלי |
משתמשים ב- ברשימה הבאה מוצגים המאפיינים של
|
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 |
טקסט | משפטי תנאי |
המזהה הייחודי של המבצע. יכול להיות כל ערך טקסט ייחודי
בתוך ניתן להשתמש בנכס הזה רק בסוגי המבצעים הבאים:
|
price |
טקסט | משפטי תנאי |
מחיר הפריט המוצע. לדוגמה, '6.00' בלי סמל המטבע. המאפיין הזה נדרש רק בסוגי המבצעים הבאים:
לא נעשה בו שימוש בסוגי המבצעים הבאים:
|
priceCurrency |
טקסט | משפטי תנאי |
המטבע (בפורמט ISO 4217 בן 3 אותיות) של המחיר או רכיב המחיר, כשהוא מצורף אל PriceSpecification וסוגי המשנה שלו. המאפיין הזה נדרש רק בסוגי המבצעים הבאים:
לא נעשה בו שימוש בסוגי המבצעים הבאים:
|
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 | אופציונלי |
הימים בשבוע שבהם הפריט זמין. הערכים החוקיים כוללים:
אם יש זמינות שונה בימים שונים בשבוע,
צריך להשתמש ביותר מאובייקט |
validFrom |
DateTime |
אופציונלי |
התאריך והשעה (כולל אזור הזמן) שבהם המחיר שצוין תקף. לדוגמה, המחיר של פסטה הוא 8 $במהלך ארוחת הצהריים ו-10 $בארוחת הערב. מידע נוסף זמין במאמר פורמטים של תאריך ושעה. ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:
|
validThrough |
DateTime |
אופציונלי | התאריך והשעה (כולל אזור הזמן) שאחריהם המחיר שצוין כבר לא תקף. לדוגמה, המחיר של פסטה הוא 8 $במהלך ארוחת הצהריים ו-10 $בארוחת הערב. השעה ב ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים.
|
eligibleQuantity |
QuantitativeValue | אופציונלי |
כמויות ההזמנה שעבורן פריט זה מותר. לדוגמה, מסעדה יכולה לדרוש הזמנה של לפחות 10 פיצות למשלוח. הערך הזה הוא אופציונלי. כברירת מחדל, אין מגבלה מקסימלית, אבל המסעדה יכולה לציין מגבלה. מגבלות מינימליות חלות רק כאשר המשתמש בוחר את הפריט. ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים.
|
aggregateRating |
AggregateRating | אופציונלי |
הדירוג הכולל, על סמך אוסף של ביקורות או דירוגים של הפריט. ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגים הבאים.
|
inventoryLevel |
QuantitativeValue | אופציונלי |
הרמה המשוערת הנוכחית של המלאי של הפריט או הפריטים. ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:
|
priceSpecification |
מערך של DeliveryChargeSpecification או מערך של PaymentChargeSpecification | אופציונלי |
כשנעשה בו שימוש ב- ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:
|
offeredBy |
מערך של מזהים של Restaurant |
אופציונלי | מייצג את המסעדות שבהן אפשר
אם לא מציינים שום אפשרות, ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:
|
applicableFulfillmentMethod |
מערך טקסט | אופציונלי | מייצג את סוג השירות שמספק אם לא מציינים זאת, אפשר למלא את ניתן להשתמש בנכס הזה בסוגי המבצעים הבאים:
הנכס הזה לא נמצא בשימוש בסוגי המבצעים הבאים:
|
@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" ] אם לא מציינים ימים בשבוע, הערך |
opens |
Time |
אופציונלי |
כשנעשה שימוש במפרט של במפרט של יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
closes |
Time |
אופציונלי |
כשמשתמשים במאפיין הזה במפרט של יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
validFrom |
DateTime |
אופציונלי |
כשמשתמשים בו במפרט של לדוגמה, אם השעות שצוינו חלות על כל שנת 2017, מגדירים את כשמשתמשים במפרט של אם המאפיין הזה לא צוין בפיד, Google מניחה שהמסעדה או השירות זמינים על בסיס יומי. בנוסף לתאריך, יש לציין את החלקים של הערך בשעה ובאזור הזמן. באזור הזמן, מציינים את אזור הזמן של המסעדה או השירות. מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
validThrough |
DateTime |
אופציונלי |
בשימוש ב- לדוגמה, אם השעות שצוינו חלות על כל שנת 2017, מגדירים את כשמשתמשים במפרט של אם המאפיין הזה לא צוין בפיד, Google מניחה שהמסעדה או השירות זמינים על בסיס יומי. בנוסף לתאריך, נדרשים החלקים של השעה ואזור הזמן ב-DateTime. באזור הזמן, מציינים את אזור הזמן של המסעדה או השירות. המועד של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
deliveryHours |
מערך של 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 |
טקסט | חובה |
השם או הסוג של האפשרות. השמות הבאים חוקיים כאשר נעשה בהם שימוש ב-
שמות חוקיים כשהם בשימוש ב
|
value |
טקסט | חובה |
הערך של האפשרות. הערכים יכולים להיות כל מחרוזת ומוצגים כפי שהם. הערכים הבאים הם ערכים חוקיים:
|
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 |
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 |
טקסט | חובה |
סוג הפיד.
|
@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 |
אופציונלי |
זמנים שחורגים מזמני האספקה הכלליים יותר של מגדירים את טווח התאריכים המיוחד באמצעות המאפיינים |
offers |
מערך של Offer |
משפטי תנאי |
פרטים על הצעת המשלוחים ממסעדה מסוימת. השדה הזה
הוא אופציונלי כברירת מחדל, אבל הוא חובה אם הערך של המאפיין |
hasOfferCatalog |
[Menu , OfferCatalog] |
חובה |
מציין תפריט לשירות הזה. אפשר ליצור תפריט שונה לכל אחד מהשירותים שלך (למשל: טייק אוויי, משלוחים והסעדה). עליך לציין גם "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/restaurant/menu/1" } |
additionalProperty |
מערך של {name, value} | אופציונלי |
פרטים אופציונליים לגבי הגדרת השירות. הפריטים צריכים להיות אובייקט עם המפתח
לקבלת מידע נוסף על השמות והערכים הספציפיים, עיינו בחומר העזר בנושא "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. אם המאפיין הזה לא מוגדר, ההנחה היא שהוא תקף בכל יום. המועד של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
opens |
Time |
אופציונלי |
המועד שבו שירות המשלוחים מתחיל למלא את הזמנות ה-ASAP של המשתמשים. לדוגמה, "T10:30:00". יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
closes |
Time |
אופציונלי |
השעה שבה שירות המשלוחים להזמנות ה-ASAP של המשתמשים לא זמין יותר. לדוגמה, "T23:59:59". המועד של יש לציין את השעה לפי השעון המקומי עבור השירות. אין לכלול אזור זמן בערך של מידע נוסף זמין במאמר פורמטים של תאריך ושעה. |
dayOfWeek |
מערך של DayOfWeek |
אופציונלי |
הימים בשבוע שבהם השירות זמין להזמנות בהקדם האפשרי של משתמשים. אלה הערכים החוקיים:
אם לא מציינים ימים בשבוע, הערך |
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
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-02-16 (שעון UTC).