Hotel Teja - Integrated Hospitality ERP
An enterprise-grade, integrated hospitality management ERP engineered for the Indian hotel and restaurant industry. Hotel Teja replaces fragmented software with a unified system featuring real-time room booking grids, a high-speed restaurant POS with KOT automation, GST-compliant financial invoicing, audit-ready payroll, and 12+ specialized hospitality reports - built with Next.js 14, PostgreSQL, Prisma ORM, JWT-based security, and custom SVG analytics.

Introduction
The Indian hospitality sector — from boutique hotels to bustling city restaurants — often operates in a state of "disconnected complexity." A typical hotel and restaurant business manages rooms in one notebook, handles the kitchen with handwritten slips, and tracks expenses in a separate spreadsheet. This fragmentation leads to revenue leakage, double-booked rooms, inventory loss, and zero real-time visibility into actual profitability.
Hotel Teja is my comprehensive solution to this problem. It is a full-stack, production-ready ERP designed to unify every operational aspect of a hospitality business into a single source of truth. Built specifically for the Indian market, it handles the unique dual-business nature of venues that provide both lodging and dining, ensuring that room service, front-desk bookings, and restaurant bills all feed into a centralized financial brain.
This project represents the peak of my architectural work in hospitality tech. It features a high-performance room management grid, a specialized kitchen order ticket (KOT) system, a multi-role RBAC architecture, and a custom-engineered analytics engine that generates institutional-grade financial reports without relying on heavy external charting libraries.
Why this project exists
Most hospitality software is either "Hotel-first" or "Restaurant-first," but rarely both. Hotel Teja was designed to bridge this gap, solving critical pain points for Indian entrepreneurs:
- Revenue Leakage — without a synchronized system, restaurant bills from room service often fail to reach the final hotel invoice. Hotel Teja links restaurant KOTs and bills directly to room folios or individual customer ledgers.
- Operational Bottlenecks — handwritten KOTs get lost and room statuses are miscommunicated. My system implements a real-time Room Grid and a digital KOT station that ensures the front desk and the kitchen are always in sync.
- GST & Compliance Complexity — Indian tax laws for hotels (GST on stays) and restaurants (GST on food) differ significantly. Hotel Teja automates these calculations, producing GST-compliant invoices with automatic CGST/SGST breakdowns and HSN/SAC code inclusion.
- Lack of Data Intelligence — owners often don't know their occupancy rate or their best-selling dish until the end of the month. My system provides live KPIs (Occupancy %, RevPAR, Sales Trends) updated in real-time with every transaction.
Tech stack
- Next.js 14 (App Router) — the backbone of the application. I utilized Server Components for SEO-critical public landing pages and heavy report generation, while using Client Components for the high-interactivity Room Grid and POS billing interfaces.
- React 18 & TypeScript — type-safety is enforced across the entire billing and booking logic to prevent common financial errors. Extensive use of
useCallbackanduseMemoensures the dashboard remains fluid even when managing hundreds of room/table entities. - PostgreSQL & Prisma ORM — a deeply relational schema with 20+ tables. Prisma handles type-safe database queries, complex aggregations for the reporting module, and ensures data integrity via foreign key constraints and atomic transactions for billing.
- Custom JWT Authentication (jose) — instead of using generic libraries, I implemented a robust, manual JWT-based authentication system. Sessions are managed via secure, HttpOnly cookies (
teja_session), including role-based claims that are validated at the edge and API level. - Tailwind CSS (Luxury Gold Design System) — a premium, bespoke UI theme built around a "Luxury Gold" palette (
#b38f1d). Custom design tokens provide a sophisticated aesthetic that matches the high-end hospitality industry. - Lucide React — a curated set of 400+ icons used for room types, payment modes, and operational status indicators across the dashboard.
- Nodemailer & SMTP — automated delivery of branded HTML invoices, booking vouchers, and KOT notifications directly to guests and staff.
- Custom SVG Charts — to maintain maximum performance and minimal bundle size, I engineered custom SVG-based Line, Bar, and Donut charts for the analytics module, bypassing the need for heavy external libraries like Chart.js or Recharts.
- Zod — rigorous runtime validation for all reservation data, billing inputs, and employee records, ensuring the database remains "clean" from malformed data.
Core Operational Modules
1. Hotel Management (PMS)
The Hotel module features a visual Room Grid that provides a bird's-eye view of the entire property. Staff can manage room statuses (Available, Occupied, Housekeeping, Maintenance) in real-time. The reservation system handles the entire lifecycle: from initial inquiry and booking vouchers to automated check-in and checkout settlement with integrated room-service billing.
2. Restaurant POS & KOT
The Point of Sale (POS) system is optimized for speed. It features a digital table allocation grid, a categorised menu picker for rapid order entry, and a Kitchen Order Ticket (KOT) system. Orders are routed digitally to the kitchen, and bills can be settled via Cash, UPI, or Card, or moved to a Credit Ledger for regular members or room guests.
3. Financial Intelligence & Reporting
Hotel Teja includes 12+ specialized reports, including Daily Sales, Payment Breakdowns, Expense Tracking, and Employee Performance. The "Finance & Staff" module provides a deep dive into business health, providing gross margin analysis by comparing sales revenue against operational expenses (supplies, utilities, payroll).
4. Payroll & HR
Staff profiles, role-based permissions, and payroll management are baked into the core. The system tracks salaries, bonuses, and leaves, generating professional payslips that are automatically emailed to employees at the end of each payment cycle.
Advanced Access Control (RBAC)
The platform implements a multi-tier role system to ensure security and operational focus:
- Super-Admin: Complete platform visibility, global settings, and audit logs.
- Admin/Owner: Access to all financial reports, staff management, and multi-salon configuration.
- Manager: Operational control over rooms and restaurant but restricted access to high-level financial settings.
- Staff-Member: A focused interface for room status updates and KOT generation.
- User (Guest): Public-facing booking and inquiry interface.
India-Specific Design Decisions
- Custom GST Engine: Automatic calculation of CGST and SGST (9%+9% or 6%+6%) based on current Indian laws for both lodging and dining services.
- UPI Integration: Treat UPI (GPay, PhonePe, Paytm) as a first-class payment mode, reflecting the reality of modern Indian digital payments.
- Indian Numbering System: All financial amounts are formatted in Lakhs and Crores, with "Amount in Words" generation using Indian linguistic conventions on all invoices.
- Mobile-First POS: The restaurant billing interface is responsive, allowing captains to take orders on tablets or smartphones directly at the table.
Conclusion
Hotel Teja isn't just a dashboard; it’s a digital transformation for hospitality business owners. It takes the stress out of daily operations, eliminates financial blind spots, and provides guests with a professional, digitally-integrated experience. This project demonstrates my ability to take a complex, industry-specific problem and solve it with a scalable, high-performance software architecture that prioritizes both developer experience and real-world utility.
// Tech Stack