Welcome to Reservations
Reservations is a comprehensive, multi-tenant booking management platform designed for businesses that need to manage appointments, classes, and customer bookings. Built with modern technologies, it provides both merchant-facing and customer-facing applications to streamline the entire reservation workflow.Key Features
Explore the core capabilities that make Reservations a powerful booking management solution:Multi-Tenant Merchant System
Complete merchant isolation with custom URL namespaces, role-based access control (Owner, Admin, Staff), and per-merchant settings and preferences.
Smart Booking Management
Support for appointments and group classes with recurring booking patterns, automated email confirmations and reminders, and intelligent scheduling with conflict detection.
Calendar & Scheduling
Full calendar view powered by FullCalendar, business hours management with timezone support, blocked time management, and external calendar integration (Google, Facebook).
Customer Experience
Self-service booking and cancellation, customer profiles with booking history, email notifications in multiple languages, and blacklist management for merchants.
Service Catalog
Flexible service definitions with phases, category organization, pricing and cost tracking with currency support, and min/max participant limits for group bookings.
Authentication & Security
JWT-based authentication with refresh tokens, OAuth support (Google, Facebook), role-based access control, and secure password handling with bcrypt.
Architecture Overview
Reservations is built as a monolithic application that serves both API endpoints and two React frontends:- Backend (Go): RESTful API with chi router, PostgreSQL with PostGIS, transactional booking logic
- Jabulani (Merchant App): React app for business owners and staff to manage bookings
- Tango (Customer App): React app for customers to browse services and make bookings
Tech Stack Highlights
Backend Technologies
- Go with chi router
- PostgreSQL with PostGIS extension
- pgx/v5 for database access
- JWT authentication
- Resend for email delivery
Frontend Technologies
- React 19 with React Router
- TanStack Query for data fetching
- FullCalendar for scheduling UI
- Tailwind CSS for styling
- Mapbox for location features
Use Cases
Reservations is ideal for:- Service Businesses: Hair salons, spas, consulting firms
- Fitness & Wellness: Yoga studios, gyms, personal trainers
- Education: Tutoring centers, music lessons, workshops
- Healthcare: Clinics, therapy practices, medical appointments
- Events: Classes, workshops, group activities
Next Steps
Quickstart
Set up your development environment and run the application locally
Architecture
Understand the system architecture and how components interact