نهاد خدماتی

نهاد Service ، خدمات سفارش غذای موجود در رستوران را تعریف می‌کند، مانند تحویل گرفتن یا تحویل. هنگام تعریف یک موجودیت Service ، از نوع Service استفاده کنید. هر رستوران باید حداقل به یک نهاد خدماتی از نوع تحویل یا تحویل و حداکثر به دو نهاد خدماتی متصل باشد. یک تحویل و یک نوع تحویل.

نمودار ارتباط نهاد خدمات
شکل 1: نهاد خدمات ارتباط خود را با نهادهای Service Area، ServiceHours، OperationHours و Fee نشان می دهد.

یک موجودیت سرویس ویژگی هایی مانند نوع سرویس، ساعات در دسترس و منطقه ارائه شده را تعریف می کند. انتظار می‌رود نهاد خدمات با هر بار آپلود فید داده تغییر کند و به‌روزرسانی شود.

نمونه نهاد خدماتی

مثال زیر یک نهاد 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
}

ASAP و ساعات اولیه

کاربران می‌توانند سفارش‌های ASAP را در طول ساعات سرویس رستوران ASAP سفارش دهند یا می‌توانند سفارش‌هایی را زودتر از موعد در ساعات کاری رستوران ثبت کنند تا در ساعات خدمات قبلی انجام شوند. برای تعریف ساعت‌های خدمات قبلی، یک موجودیت ServiceHours با ویژگی orderType روی ADVANCE ایجاد کنید. برای جزئیات و نمونه های بیشتر، ساعت تحویل و تحویل را ببینید.

یک نهاد Service را به طور موقت غیرفعال کنید

می توانید با تنظیم ساعات تعطیلات و ساعات ویژه ، ServiceHours را برای یک دوره زمانی مشخص که از قبل مشخص است، به طور موقت به حالت تعلیق درآورید یا بازنویسی کنید. برای غیرفعال کردن یک موجودیت سرویس به دلیلی پیش‌بینی نشده، یک درخواست به‌روزرسانی بی‌درنگ با ویژگی موجودیت سرویس isDisabled که روی true تنظیم شده است ارسال کنید.

برای جزئیات و مثال‌های بیشتر به حذف و غیرفعال کردن موجودیت‌ها مراجعه کنید.