Skip to main content

Menu Configuration

Menu configuration schemas for restaurant and food service management. Includes menu categories, menu items, and QR code generation.

Source: src/core/business-mgt/menu-config.schema.ts


Categories for organizing menu items.

Schema: MenuCategorySchema

Attributes​

AttributeTypeRequiredDefaultDescription
idstring——Unique identifier for the category
namestringYes—Category name (e.g., Appetizers, Main Course)
descriptionstringNo—Category description
displayOrdernumberNo—Display order in menu listings
createdAtnumber——Unix timestamp when created
updatedAtnumber——Unix timestamp when last updated

BusinessMenuItem​

Individual menu items with pricing and availability.

Schema: BusinessMenuItemSchema

Attributes​

AttributeTypeRequiredDefaultDescription
idstring——Unique identifier for the menu item
namestringYes—Display name of the menu item
descriptionstringNo—Detailed item description
pricenumberYes—Base price in account's currency
categoryIdstringYes—References MenuCategory
categoryMenuCategoryNo—Populated category object
ingredientsarray<string>No—List of primary ingredients
allergensarray<string>No—Common allergens present
nutritionalInfoobjectNo—Nutritional information
isAvailablebooleanNotrueReal-time availability status
preparationTimenumberNo—Estimated prep time in minutes
isActivebooleanNotrueWhether item is active in catalog
displayOrdernumberNo—Display order within category
createdAtnumber——Unix timestamp when created
updatedAtnumber——Unix timestamp when last updated

Nutritional Info Object​

AttributeTypeDescription
caloriesnumberCaloric content per serving
proteinnumberProtein content in grams
carbsnumberCarbohydrate content in grams
fatnumberFat content in grams

QR code for digital menu access.

Schema: MenuQRCodeSchema

Attributes​

AttributeTypeRequiredDefaultDescription
idstringYes—Unique identifier for the QR code
menuUrlstringYes—URL to the digital menu
qrCodeImagestringNo—Base64 encoded QR code image
tableNumberstringNo—Optional table number for dine-in

Example​

{
"id": "item_abc123",
"name": "Margherita Pizza",
"description": "Classic Italian pizza with fresh tomatoes and mozzarella",
"price": 16.99,
"categoryId": "cat_pizza",
"ingredients": ["tomatoes", "mozzarella", "basil", "olive oil"],
"allergens": ["dairy", "gluten"],
"nutritionalInfo": {
"calories": 850,
"protein": 32,
"carbs": 98,
"fat": 35
},
"isAvailable": true,
"preparationTime": 15,
"isActive": true,
"displayOrder": 1,
"createdAt": 1709856000000,
"updatedAt": 1709856000000
}

Create / Update Schemas​

SchemaDescriptionOmits
CreateMenuCategorySchemaFor creating categoriesid, createdAt, updatedAt
UpdateMenuCategorySchemaFor updating categoriesAll fields optional except id
CreateBusinessMenuItemSchemaFor creating menu itemsid, createdAt, updatedAt, category
UpdateBusinessMenuItemSchemaFor updating menu itemsAll fields optional except id