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.
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
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 |
The category system supports hierarchical menu organization through parent-child relationships:
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 represent the core menu products and are linked to categories:
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)
The food item forms use the standardized restaurant content template which includes:
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
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 management provides the physical restaurant layout configuration:
Table Form Structure
table_number.php form
tablename input field
status select dropdown
required field validation
hotel_booking_table_number
admin_uid filtering
The table number form includes:
The restaurant module uses a unified content template that handles all menu-related forms:
The content template includes several JavaScript features: