ישות שירות

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

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

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

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

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

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

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