Open Source Hotel OS

For independent hotels, guesthouses, and restaurant-led properties

Hospiq Hotel & Restaurant Management System

Hospiq connects front-desk hotel operations with restaurant administration: room grids, table maps, real-time Kitchen Order Tickets, stock-aware menu items, consolidated invoices, staff roles, and QR self-ordering.

Product Surface12 Modules

Rooms, tables, KOT, billing, reports, QR

Deployment StackSelf-Hosted

Next.js, Supabase, Redis, Docker

Source ModelMIT Licensed

Open codebase for custom property workflows

Click any module in the Quick Navigator or use the retro toolbar to load a product screenshot in the Netscape Navigator wrapper.

Netscape - [Hospiq Hotel - Dashboard Console]
_
X
FileEditViewGoBookmarksOptionsDirectoryHelp
SourceDeploy
Netsite:
http://hospiq.local:3000/admin/dashboard
Screenshot of Dashboard Console
Document: Done · Module 1 of 12
Selected Module Specs: Dashboard ConsoleONLINE

The primary control center for hotel and restaurant managers. It aggregates real-time data to display total daily revenue, pending restaurant order counts, active room occupancy percentages, and ongoing guest counts. Designed to give front desk staff and managers a zero-latency snapshot of business operations, automatically updating as rooms change status or orders are processed in the kitchen.

Key Operations & UI Actions:
  • Real-time operational summary cards
  • Dynamic charts for revenue streams (Rooms vs Restaurant)
  • Instant occupancy status tracking
  • Quick links to front desk actions
Target Database Tables:
public.rooms, public.guests, public.orders, public.bills
Cache Category Domain:
dashboard
Feature Catalog

A quick map of the product surface. Each card jumps back into the simulator for the full screenshot and module details.

Dashboard Console

Real-time operational summary cards

rooms · guests · orders
Room Management

Room status toggle (Available, Occupied, Cleaning, Maintenance)

rooms · guests
Restaurant Table Map

Visual grid layout representing physical table placement

restaurant_tables · orders
Guest Registry

Searchable guest list with search indexing

guests · bills
Restaurant Menu Creator

Category division & search

food_menu
Kitchen Orders (KOT)

Supabase Realtime integration for instant order alerts

orders · order_items · food_menu
Invoicing & Billing

Aggregated billing (Room charges + Restaurant KOT charges)

bills · guests · orders
Business Intelligence

Visual chart widgets for revenue categories

bills · order_items · rooms
History & Sales Archives

Secure 1-year database backup of all sales data

bills · guests · orders
QR Guest Portal

Responsive mobile-first menu browser

orders · order_items · food_menu
Staff Permissions

Database-level RLS policies linked to staff roles

users
System Settings

Custom tax rate multipliers

users
VPS Self-Hosting Guide

The Hospiq Hotel System is open source and optimized for lean self-hosting. You can run it with Docker for the fastest path, or deploy the Node.js server on a single CPU VPS (1GB RAM) such as DigitalOcean, Hetzner, or Linode.

System Installation and Deployment Manual
FAST PATH
Docker Compose Deployment

The upstream repository includes a production Dockerfile and docker-compose.yml for the app plus Redis.

git clone https://github.com/udai7/hotel_management.git cd hotel_management cp .env.example .env docker compose up --build
STEP 1
Database Provisioning & Migration

Initialize a PostgreSQL database on Supabase. Open your Supabase Dashboard and run the SQL migrations located in the supabase/migrations/ directory.

The core schema file is 20260227135007_initial_schema.sql. It creates tables, indexes, Row Level Security (RLS) policies, triggers, and helper functions (e.g., accept_order_safe for race-free inventory management).

STEP 1.5
Data Seeding & Superadmin Creation

A. Seed Default Operational Data:
Run the queries inside supabase/seed.sql in the Supabase SQL Editor to populate the initial 20 rooms (Standard/Premium) and the starter food menu catalog.
To test charts and archiving performance, run supabase/seed_bookings.sql to generate 5,200 mock historical guest bookings.

B. Create a Superadmin User:
Sign up a user via the application interface (defaults to the admin role). To elevate them to superadmin, run this SQL statement in the Supabase SQL Editor:

UPDATE public.users SET role = 'superadmin' WHERE email = 'your-superadmin@email.com';
STEP 2
Cache Configuration (Optional Redis)

For lightning-fast page loading and high concurrent guest order capabilities, spin up a local Redis instance on your VPS. The system uses a versioned cache invalidation pattern.

# Install Redis on Ubuntu VPS sudo apt update sudo apt install redis-server -y sudo systemctl enable redis-server.service
STEP 3
Environment Variables Configuration

Create a file named .env.local in the application root with these keys:

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-public-key SUPABASE_SERVICE_ROLE_KEY=your-secret-service-role-key REDIS_URL=redis://127.0.0.1:6379
STEP 4
Build & Run the Next.js Server

Build the optimized production Next.js bundle and start it locally on port 3000.

# Install dependencies npm install # Compile the production bundle npm run build # Start the Node.js production server npm run start
STEP 5
Daemonize Application via Systemd

Create a background service configuration at /etc/systemd/system/hotel.service so that Next.js automatically runs on boot and auto-restarts on crashes:

[Unit] Description=Hospiq Hotel System After=network.target [Service] Type=simple User=ubuntu WorkingDirectory=/var/www/hotel_management ExecStart=/usr/bin/npm run start Restart=on-failure Environment=PORT=3000 [Install] WantedBy=multi-user.target
# Enable and start service sudo systemctl daemon-reload sudo systemctl enable hotel sudo systemctl start hotel
STEP 6
Nginx Reverse Proxy & SSL Certificates

Expose the app through port 80/443 with Nginx and secure it with Let's Encrypt SSL.

# Install Nginx sudo apt install nginx -y # Configure site block (/etc/nginx/sites-available/default) server { listen 80; server_name hotel.yourdomain.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
# Setup SSL certificates sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d hotel.yourdomain.com
Architecture & System Specs

The application leverages state-of-the-art server components and modern database designs:

ComponentTechnologyPurpose
Frontend AppNext.js 16 + React 19App Router interface for admin screens, guest ordering, and API routes
Data StoragePostgreSQL (Supabase)Relational database, triggers, transaction controls
Real-time KOTSupabase Realtime Pub/SubInstant kitchen alerts when orders are placed
Caching LayerRedis (ioredis)Fast operational read operations and key invalidations
DeploymentDocker, PM2, or systemd behind NginxFlexible production hosting on a low-cost VPS
Security EnginePostgres Row Level SecurityProtects guest ordering, staff logins, and admin access control