saas

InstaStay Hotel Booking System

InstaStay is a full-stack hotel booking system built with Next.js 15, TypeScript, Drizzle ORM on Neon Postgres, and Tailwind CSS. Guests browse room categories and book one or more rooms on the public site, while staff manage bookings, guests, rooms, staff, dining menus and reviews from an admin dashboard. Sign-in uses Auth.js with email and password or Google.

Booking SystemHotelSaaSNext.jsTailwindDashboardAdmin Panel
InstaStay Hotel Booking System preview

Key Features

  • Public hotel site with rooms, room details, a dining menu and a multi-room checkout that records bookings with pay at hotel

  • Admin dashboard with occupancy and revenue KPIs (ADR, RevPAR), charts, a filterable booking list with check-in and check-out actions, and a booking calendar

  • Guest, room, bed and staff management, including room housekeeping status and staff departments and shifts

  • Payment records with status and refunds, plus server-side providers for Stripe, PayPal or a mock mode

  • Booking confirmation emails through Resend or Nodemailer, and file uploads to S3 or local storage

  • REST API documented with Swagger, and a Drizzle schema with SQL migrations

What's Included

  • Public pages: Home, Rooms, Room detail, Checkout, Booking success, Dining, About, Contact, Policy

  • Login and Signup (credentials and Google)

  • Dashboard: Overview, Bookings, Booking calendar, Guests, Rooms, Beds, Staff, Messages, Contact, Menu management, Reviews, Settings

  • API routes with Swagger UI at /swagger

  • Drizzle schema, migrations and database scripts (migrate, push, studio)

Who It's For

  • Independent hotels, resorts and guesthouses that want their own booking site and back office

  • Developers and agencies building hotel or property management software

  • Teams that want a Next.js and Drizzle codebase to grow into a booking SaaS

Download Counts:
1+
Rating:
0(0)
Framework:
next.js
Updated:
13/09/2026
Released:
13/09/2026
0.0

No reviews yet

Be the first to review this template!

5
0
4
0
3
0
2
0
1
0