๐ฝ๏ธ Menu Management โ
KitchenAsty provides a comprehensive menu system with hierarchical categories, configurable item options, allergen tracking, and mealtime restrictions.

๐ Categories โ
Categories organize menu items and support a parent-child hierarchy.
| Field | Description |
|---|---|
name | Display name |
slug | URL-friendly identifier (unique) |
description | Optional description |
image | Optional category image |
sortOrder | Display order (lower = first) |
isActive | Show/hide on storefront |
parentId | Parent category for nesting |
locationId | Scope to a specific location (optional) |
๐๏ธ Hierarchical Categories โ
Categories can be nested one level deep:
Mains
โโโ Burgers
โโโ Pasta
โโโ Salads
Drinks
โโโ Hot Drinks
โโโ Cold DrinksSet parentId when creating a child category.
๐ Menu Items โ
| Field | Description |
|---|---|
name | Item name |
slug | URL-friendly identifier (unique) |
description | Item description |
price | Base price |
image | Uploaded image path |
isActive | Show/hide on storefront |
sortOrder | Display order within category |
trackStock | Enable stock tracking |
stockQty | Available quantity (when tracking) |
orderType | Restrict to DELIVERY or PICKUP only (null = both) |
categoryId | Parent category |
locationId | Scope to a specific location (optional) |
๐๏ธ Menu Options โ
Options let customers customize items. Each item can have multiple option groups.
| Field | Description |
|---|---|
name | Option group name (e.g., "Size", "Toppings") |
displayType | How options are shown to the customer |
isRequired | Must the customer select something? |
minSelect | Minimum selections |
maxSelect | Maximum selections |
๐ฅ๏ธ Display Types โ
| Type | Behavior |
|---|---|
SELECT | Dropdown โ single selection |
RADIO | Radio buttons โ single selection |
CHECKBOX | Checkboxes โ multiple selections |
QUANTITY | Quantity stepper โ select amount per option |
๐ท๏ธ Option Values โ
Each option group has one or more values:
| Field | Description |
|---|---|
name | Value label (e.g., "Large") |
priceModifier | Added/subtracted from base price |
isDefault | Pre-selected when loading the item |
โ ๏ธ Allergens โ
Allergens are global and linked to items via a many-to-many relationship.
GET /api/menu/allergensCreate allergens, then assign them to items when creating/updating menu items.
๐ Mealtimes โ
Mealtimes restrict when items are available:
| Field | Description |
|---|---|
name | e.g., "Breakfast", "Lunch" |
startTime | Start time ("06:00") |
endTime | End time ("11:00") |
days | Active days ([0,1,2,3,4,5,6]) |
locationId | Optional location scope |
Link items to mealtimes to show them only during those time windows.
๐ก API โ
See Menu API for the complete endpoint reference.