Dienstentität

Die Entität Service definiert die Essensbestellungen in einem Restaurant, z. B. Essen zum Mitnehmen oder Lieferservice. Verwenden Sie beim Definieren einer Service-Entität den Typ Service. Jedes Restaurant muss mit mindestens einem Dienstleistungsunternehmen des Typs „Essen zum Mitnehmen“ oder „Lieferdienst“ und mit höchstens zwei Dienstleistungsunternehmen verbunden sein: einer Organisationseinheit für Essen zum Mitnehmen und einer Lieferart.

Diagramm der Beziehung zwischen Dienstentitäten
Abbildung 1: Dienstentität mit ihrer Beziehung zu den Entitäten „ServiceArea“, „ServiceHours“, „OperationHours“ und „Gebühren“.

Eine Dienstleistungsentität definiert Eigenschaften wie den Dienstleistungstyp, die verfügbaren Öffnungszeiten und das Einzugsgebiet. Das Dienstleistungsunternehmen muss sich bei jedem Datenfeed-Upload ändern und aktualisieren.

Beispiel für eine Dienstentität

Im folgenden Beispiel wird eine einfache Service-Entität definiert, die täglich Bestellungen annimmt.

{
  "@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
}

„So bald wie möglich“ und „Erweiterte Zeiten“

Nutzer können Bestellungen so bald wie möglich während der ServiceHours des Restaurants aufgeben oder sie können Bestellungen im Voraus innerhalb der OperationHours des Restaurants aufgeben, damit sie während der ServiceHours im Voraus erfüllt werden können. Wenn Sie Vorab-Servicezeiten definieren möchten, erstellen Sie eine ServiceHours-Entität. Legen Sie für die Property orderType den Wert ADVANCE fest. Weitere Details und Beispiele finden Sie unter Liefer- und Abholzeiten.

Service-Entität vorübergehend deaktivieren

Sie können ServiceHours für einen bestimmten, im Voraus bekannten Zeitraum vorübergehend aussetzen oder überschreiben, indem Sie Feiertags- und Sonderöffnungszeiten festlegen. Wenn Sie eine Dienstentität aus unvorhergesehenen Gründen deaktivieren möchten, senden Sie eine Anfrage zur Echtzeitaktualisierung, wobei die Eigenschaft isDisabled der Dienstentität isDisabled auf true gesetzt ist.

Weitere Informationen und Beispiele finden Sie unter Entitäten löschen und deaktivieren.