Skip to content

๐Ÿฝ๏ธ Menu Management โ€‹

KitchenAsty provides a comprehensive menu system with hierarchical categories, configurable item options, allergen tracking, and mealtime restrictions.

Admin Menu Management

๐Ÿ“‚ Categories โ€‹

Categories organize menu items and support a parent-child hierarchy.

FieldDescription
nameDisplay name
slugURL-friendly identifier (unique)
descriptionOptional description
imageOptional category image
sortOrderDisplay order (lower = first)
isActiveShow/hide on storefront
parentIdParent category for nesting
locationIdScope to a specific location (optional)

๐Ÿ—๏ธ Hierarchical Categories โ€‹

Categories can be nested one level deep:

Mains
โ”œโ”€โ”€ Burgers
โ”œโ”€โ”€ Pasta
โ””โ”€โ”€ Salads
Drinks
โ”œโ”€โ”€ Hot Drinks
โ””โ”€โ”€ Cold Drinks

Set parentId when creating a child category.

๐Ÿ• Menu Items โ€‹

FieldDescription
nameItem name
slugURL-friendly identifier (unique)
descriptionItem description
priceBase price
imageUploaded image path
isActiveShow/hide on storefront
sortOrderDisplay order within category
trackStockEnable stock tracking
stockQtyAvailable quantity (when tracking)
orderTypeRestrict to DELIVERY or PICKUP only (null = both)
categoryIdParent category
locationIdScope to a specific location (optional)

๐ŸŽ›๏ธ Menu Options โ€‹

Options let customers customize items. Each item can have multiple option groups.

FieldDescription
nameOption group name (e.g., "Size", "Toppings")
displayTypeHow options are shown to the customer
isRequiredMust the customer select something?
minSelectMinimum selections
maxSelectMaximum selections

๐Ÿ–ฅ๏ธ Display Types โ€‹

TypeBehavior
SELECTDropdown โ€” single selection
RADIORadio buttons โ€” single selection
CHECKBOXCheckboxes โ€” multiple selections
QUANTITYQuantity stepper โ€” select amount per option

๐Ÿท๏ธ Option Values โ€‹

Each option group has one or more values:

FieldDescription
nameValue label (e.g., "Large")
priceModifierAdded/subtracted from base price
isDefaultPre-selected when loading the item

โš ๏ธ Allergens โ€‹

Allergens are global and linked to items via a many-to-many relationship.

GET /api/menu/allergens

Create allergens, then assign them to items when creating/updating menu items.

๐Ÿ• Mealtimes โ€‹

Mealtimes restrict when items are available:

FieldDescription
namee.g., "Breakfast", "Lunch"
startTimeStart time ("06:00")
endTimeEnd time ("11:00")
daysActive days ([0,1,2,3,4,5,6])
locationIdOptional location scope

Link items to mealtimes to show them only during those time windows.

๐Ÿ“ก API โ€‹

See Menu API for the complete endpoint reference.