Menu Management

The Menu Management system handles the configuration and administration of restaurant menu items, categories, variants, add-ons, and table assignments within the Hotelaro hotel management platform. This system provides the foundational data structure for the restaurant POS operations covered in POS Interface and Order Processing.

This documentation covers the administrative backend for menu configuration, including the database schema, form handling, and CRUD operations for menu-related entities.

Menu Management Architecture

Form Processing

Menu Entity Management

Restaurant Module Configuration

Restaurant Config.php

Views/content.php

hotel_booking_item_category

hotel_booking_item_foods

hotel_booking_item_food_variant

hotel_booking_add_ons

hotel_booking_table_number

content.php form

submitit.js

imageorfileupload
    

Database Schema Structure

The menu management system uses five primary database tables, each configured in the restaurant module:

Table Name Purpose Key Fields Route
hotel_booking_item_category Menu categories and subcategories Name, parentid, status restaurant/item_category
hotel_booking_item_foods Individual food items ProductName, CategoryID, status restaurant/item_food
hotel_booking_item_food_variant Size/portion variants of food items variantName, menuid, status restaurant/item_food
hotel_booking_add_ons Additional items and extras add_on_name, price, status restaurant/add_ons
hotel_booking_table_number Restaurant table configuration tablename, status restaurant/item_food

Menu Categories System

The category system supports hierarchical menu organization through parent-child relationships:

Category Fields

Category Management Flow

item_category form

hotel_booking_item_category

parentid relationship

Name field

parentid field

status field
    

The category configuration is defined in the restaurant module config with table headers ["Name", "Parent Category", "Status"] and corresponding data fields ["Name","parentid","status"].

Food Items Management

Food items represent the core menu products and are linked to categories:

Food Item Structure

The hotel_booking_item_foods table manages individual menu items with the following key relationships:

ProductName: The display name of the food item
CategoryID: Links to hotel_booking_item_category for organization
status: Controls item availability (1=Active, 0=Inactive)
    

Form Processing

The food item forms use the standardized restaurant content template which includes:

Food Variants and Add-ons

Variants System

Food variants allow multiple sizes or preparation styles for the same menu item:

Variant Relationship

hotel_booking_item_foods

hotel_booking_item_food_variant

variantName, menuid, status
    

Add-ons System

hotel_booking_add_ons

add_on_name, price, status
    

The variant system uses menuid to reference the parent food item, while add-ons operate independently with their own pricing structure.

Table Number Configuration

Table management provides the physical restaurant layout configuration:

Table Form Implementation

Table Form Structure

table_number.php form

tablename input field

status select dropdown

required field validation

hotel_booking_table_number

admin_uid filtering
    

Database Integration

The table number form includes:

Form Processing and Views

Content Template System

The restaurant module uses a unified content template that handles all menu-related forms:

JavaScript Integration

The content template includes several JavaScript features: