EasyRestaurant is a professional, multi-tenant SaaS restaurant management system built on Laravel 11 and PHP 8.2. It is designed to serve the complete operational lifecycle of a restaurant business — from a single location up to a multi-branch chain — on a single hosted installation. Each restaurant tenant runs in its own isolated data context with its own staff, menu, customers, branches, and billing configuration, making the platform suitable both for individual restaurant owners and for SaaS operators who want to offer the system to multiple restaurant clients simultaneously.
At the core of the platform is a full point-of-sale system. Cashiers open a cash drawer session with a declared float at the start of each shift, take dine-in, takeaway, and delivery orders through the POS terminal, apply discounts and loyalty redemptions at checkout, and close the session at the end of shift with a reconciliation report. Orders taken at the terminal are immediately routed to the Kitchen Display System, where kitchen staff see live ticket queues, mark individual items through a preparation lifecycle — pending, preparing, ready — and send completion signals back to the front of house. The KDS supports priority flagging so urgent or time-sensitive tickets are immediately visible above the standard queue.
Table and room management is built directly into the order flow. Waiters assign dine-in orders to specific tables, view occupancy at a glance, and handle the full guest lifecycle from seating to bill. Reservations can be made in advance by customers or entered manually by staff, with configurable time slots, party sizes, and guest notes. The waiter module also supports a dedicated customer request queue — guests can signal for attention, additional items, or the bill through a digital channel — keeping floor service organised without requiring constant back-and-forth communication.
Delivery operations are handled end to end within the platform. Delivery orders are created from the POS or by customers directly, then assigned to available drivers with a generated OTP for secure handoff confirmation. Driver GPS coordinates are tracked at each status update — assigned, picked up, on the way, delivered — and the system records precise timestamps for each transition. Delivery zones are defined as geographic boundaries using the GeoFence model, allowing management to enforce delivery radius rules and calculate expected delivery coverage per branch.
The inventory module tracks stock levels for every ingredient and supply item, recording each inflow and outflow as an inventory transaction. Items can be configured with a minimum quantity threshold, and the dashboard surfaces a low-stock count automatically when any item falls at or below its reorder point. Branch managers raise purchase requests against suppliers, which can be formalised into purchase orders with line items, quantities, and expected costs. Stock transfers between warehouses or branches are also tracked, and waste events are logged against specific items and quantities to support food cost analysis.
Staff management spans the full employment lifecycle. Employee records capture personal details, assigned role, branch, and employment status. Managers schedule shifts with defined start and end times and track attendance through check-in and check-out events tied to each shift. Employees can submit leave requests which flow through an approval workflow managed by the branch manager or owner. Payslips are generated per employee per month, calculating basic salary, allowances, overtime hours at a defined overtime rate, and deductions to produce a net salary figure — and the completed payslip can be exported as a PDF using DomPDF.
The customer relationship layer includes a full customer database with profiles, saved addresses, order history, and loyalty point balances. Every purchase can earn loyalty points which customers can redeem at checkout, and managers can make manual point adjustments for service recovery or promotional reasons. Gift cards are issued with a defined face value and can be partially redeemed across multiple transactions, with the remaining balance tracked against the card. Coupon codes support both fixed-amount and percentage discounts, optional minimum order requirements, and per-customer usage limits. Membership tiers allow the restaurant to classify customers into segments such as standard, silver, or gold, with tier-specific benefits configured by the owner.
Communication with customers is managed through a campaign system that supports email, SMS, and WhatsApp channels. Campaigns are categorised by type — welcome messages, birthday offers, promotional announcements, order confirmations, delivery updates, reservation reminders, and OTP codes — and can be broadcast to a defined audience count with full send logging and status tracking. The CRM layer adds segmentation analytics, separating the customer base into VIP spenders, at-risk churners, and average frequency visitors so that marketing effort can be directed efficiently.
The AI integration module connects to the OpenAI API to provide two capabilities: an interactive chatbot and a batch insight generator. The chatbot operates in configurable modes — customer support, FAQ assistance, and order assistance — and stores conversation history per session. The insight generator can produce six types of analysis on demand: sales forecasting, inventory prediction, demand forecasting, menu recommendations, dynamic pricing suggestions, and marketing content. Each insight is stored with its type, title, summary, and structured data payload so that managers can refer back to historical outputs without regenerating them.
The marketplace integration module allows the restaurant to connect its menu and order flow to third-party delivery platforms: Uber Eats, DoorDash, Deliveroo, Just Eat, Grubhub, Foodpanda, Talabat, Zomato, and Swiggy. Each integration stores the platform’s store ID, API key, API secret, and webhook URL, and orders received from those platforms are imported and managed within the same order pipeline as native orders, with sync logs recording every import event.
The premium analytics module exposes deeper business intelligence on top of the standard reports. It surfaces sales by day of week to identify peak trading days, demand prediction based on historical item quantities, menu optimisation rankings by revenue contribution, and customer segmentation showing spend, visit frequency, VIP count, and churn risk. These outputs are available alongside the standard report set — date-range sales reports with CSV export, profit reports with expense offset, inventory valuations, best-seller and slow-mover identification, tax summaries, and cash reconciliation records.
The Super Admin layer sits above all tenants and provides full platform governance. It exposes a global dashboard showing MRR, ARR, active restaurant count, 30-day churn rate, daily order volume across all tenants, monthly tenant growth trends, and support ticket counts by status. Tenant management allows creation, suspension, activation, and deletion of restaurant accounts, with per-tenant configuration of plan, trial expiry, custom domain, white-label mode, and default language and currency. Subscription plans are managed as first-class objects with monthly and yearly price points, feature flags, and usage limits on branches, users, and products. Platform-level controls cover feature flag toggles, email template management, payment gateway and SMS provider configuration, API key issuance and revocation with one-time plaintext reveal, audit log viewing, and a system health panel showing the real-time status of the database, cache, storage, and queue connections.




