ישות שירות

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

תרשים קשר של ישות שירות
איור 1: ישות השירות שמציגה את הקשר שלה עם ישויות של ServiceArea, ServiceHours, OperationHours ועמלות.

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

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

בדוגמה הבאה מוגדרת ישות Service בסיסית שמקבלת הזמנות מדי יום.

{
  "@type":"Service",
  "@id":"takeout_1",
  "serviceType":"TAKEOUT",
  "menuId":"menu_1",
  "restaurantId":"restaraunt_1"
}
{
  "@type":"OperationHours",
  "@id":"takeout_1_op_hours",
  "serviceId":"takeout_1",
  "opens":"00:00",
  "closes":"23:59"
}
{
  "@type":"ServiceHours",
  "@id":"takeout_1_service_hours",
  "orderType":"ASAP",
  "serviceId":"takeout_1",
  "operationHoursId":"takeout_1_op_hours",
  "opens":"11:00",
  "closes":"21:00",
  "dayOfWeek":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY", "FRIDAY", "SATURDAY"],
  "leadTimeMin":"20",
  "leadTimeMax":"20",
  "isSpecialHour":false
}
{
  "@type":"ServiceHours",
  "@id":"takeout_1_service_hours_sun",
  "orderType":"ASAP",
  "serviceId":"takeout_1",
  "operationHoursId":"takeout_1_op_hours",
  "opens":"16:00",
  "closes":"21:00",
  "dayOfWeek":["SUNDAY"],
  "leadTimeMin":"20",
  "leadTimeMax":"20",
  "isSpecialHour":false
}
{
  "@type":"Service",
  "@id":"delivery_1",
  "serviceType":"DELIVERY",
  "menuId":"10824",
  "restaurantId":"10824"
}
{
  "@type":"OperationHours",
  "@id":"delivery_1_op_hours",
  "serviceId":"delivery_1",
  "opens":"00:00",
  "closes":"23:59"
}
{
  "@type":"ServiceHours",
  "@id":"delivery_1_service_hours",
  "orderType":"ASAP",
  "serviceId":"delivery_1",
  "operationHoursId":"delivery_1_op_hours",
  "opens":"11:00",
  "closes":"21:00",
  "dayOfWeek":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY", "FRIDAY", "SATURDAY",
  "SUNDAY"],
  "leadTimeMin":"50",
  "leadTimeMax":"50",
  "isSpecialHour":false
}
{
  "@type":"ServiceArea",
  "@id":"delivery_1_service_area",
  "serviceId":"delivery_1",
  "polygon":["37.4818562 -122.25801303 37.48247836 -122.25801303 37.48434484
  -122.25621319 37.48621133 -122.25424681 37.49181077 -122.24704744 37.49305509
  -122.24541414 37.49429942 -122.2436143 37.49803238 -122.23821477 37.49803238
  -122.21285044 37.49367726 -122.15885517 37.49056645 -122.15722187 37.48621133
  -122.15542202 37.48558917 -122.15525548 37.4818562 -122.15525548 37.43191387
  -122.17865343 37.43191387 -122.23444854"]
}
{
  "@type":"Fee",
  "@id":"delivery_1_fee",
  "serviceId":"delivery_1",
  "feeType":"DELIVERY",
  "priceCurrency":"USD",
  "eligibleRegion":"delivery_1_service_area",
  "eligibleTransactionVolumeMin":20,
  "percentageOfCart": 7
}

בהקדם האפשרי ובשעות מראש

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

השבתה זמנית של ישות Service

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

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