Merkado
Sign in / Sign up
Merkado Original

Class and Session Scheduler

Publish your class schedule and let the waitlist fill every cancelled seat for you. Recurring sessions, capacity limits, automatic reminders, and self-serve cancel and reschedule.

00-hero.jpg

Booking

What's included

Everything you need to ship

Your class calendar lives in DMs and a spreadsheet. Give it a real home.

If you run yoga classes, workshops, tutoring blocks, or any recurring sessions, you know the drift: someone texts to book, someone else cancels last minute, the seat sits empty, and you find out too late to fill it. Managing it by hand eats the time you would rather spend teaching.

This template turns your recurring schedule into a public booking page. Set your weekly class rules once and it generates sessions automatically. Students book a spot in a couple taps, the page shows real-time "3 spots left" or "join the waitlist", and when someone cancels, the next person on the waitlist gets promoted automatically.

How it works

  1. Define classes and weekly rules (Tuesdays 6pm Vinyasa, cap 12). The scheduler materializes upcoming sessions out to your chosen horizon, correct across daylight-saving changes.
  2. Students browse the public schedule, grouped by day, and book with name and email. No account needed; they get a private link to manage their booking.
  3. Full session? They join the waitlist (capped at a multiple you set). When a seat frees up before your cutoff, the top of the waitlist is promoted and notified automatically.
  4. Reminders go out on your schedule (email always, SMS if you connect Twilio). Students cancel or reschedule themselves through their link, up to your cutoff window.

What you get

  • Recurring weekly schedule rules with automatic session generation, DST-correct in your timezone
  • Real-time capacity: confirmed count, spots-left states, and a capped waitlist with automatic promotion
  • Atomic booking referee: two people tapping the last seat can never both get it (one books, one waitlists, decided in a single database operation)
  • Server-enforced cancellation cutoff (not just hidden in the UI), with self-serve cancel and reschedule by token link
  • Admin week view with over-capacity honesty, one-off session creation, manual roster management, bulk-cancel with single refill, no-show marking, and cancel-a-session-emails-everyone
  • Email reminders (Resend) plus optional SMS (Twilio), both degrade gracefully when unconfigured
  • 3 presets (yoga studio, tutoring, workshops) with demo data
  • 106 automated tests including race-condition and DST proofs

Built for AI editing

Ships agent-ready: AGENTS.md for Cursor, Claude Code, and Windsurf, plus CUSTOMIZE_WITH_AI.md with paste-ready recipes (change the cutoff window, add a reminder, restyle the schedule). Customize without learning the internals.

Under the hood

Next.js 15, Supabase (Postgres + magic-link admin auth), Resend for email, Twilio for SMS (both optional), Tailwind v4, TypeScript strict. Hourly cron drives reminders and waitlist promotion; a daily cron extends the schedule horizon.

Requirements

Supabase project (free tier works). Resend for reminder emails; Twilio optional for SMS. Deploys to Vercel with two crons in about 30 minutes with the included guide.

Integrations

Plays well with

  • Twilio
  • Resend
Related templates

More from this shelf

See all intake, booking & onboarding

Price shown: $149 · one-time

One-time

$149