Bilal Gokdag
Back to Projects

Randevo — Salon Booking SaaS

Multi-tenant booking SaaS for salons — staff-based schedules, automatic slot calculation, and a public booking page per salon. Built with Next.js & Prisma.

✓ SEO Friendly✓ Mobile Responsive✓ Admin Panel Included✓ Custom Software
Randevo — Salon Booking SaaS - Main image
Randevo — Salon Booking SaaS - Screenshot 2
Randevo — Salon Booking SaaS - Screenshot 3

Overview

Randevo is a multi-tenant SaaS platform that lets hair salons, barbershops, and beauty salons take online bookings. Each salon gets its own public mini-site at randevo.app/salon/[slug], where customers pick a service, choose a staff member, and book an open slot — no phone calls required.

Key features

  • Staff-based availability — every staff member has independent weekly hours and time-off days; the booking engine only shows slots that are actually open.
  • Automatic slot calculation — time slots are generated from each service's duration (15/30/45/60+ min), preventing double-booking down to the minute.
  • Multi-tenant isolation — every server action derives the salon from the authenticated session server-side, never trusts a client-supplied salon ID.
  • Full salon dashboard — bookings, calendar, clients, staff, services, and settings, with light/dark theme support.
  • Automated email notifications — new booking alerts to the owner, cancellation notices, and day-before reminders to customers via Resend.

Tech stack

Next.js (App Router) · TypeScript · Tailwind CSS · shadcn/ui · Prisma ORM · PostgreSQL (Neon) · Auth.js v5 · Zod · React Hook Form · Vercel Blob · Resend

Architecture notes

The availability engine walks each staff member's weekly schedule, subtracts time off and salon-wide closed dates, and re-validates slot availability server-side at booking time inside a database transaction to prevent race conditions on popular slots.

Deployed on Vercel with a Neon Postgres database provisioned through the Vercel Marketplace integration.