ישות שירות

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

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

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

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

בדוגמה הבאה מוגדרת ישות 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.

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