Build a Booking System
Build a scheduling and booking system with calendar availability, time slots, and confirmations.
Requirements
Provider: set available hours for each day of the weekProvider: block specific dates (vacations, holidays)Client: view available time slots for a selected dateClient: book a slot with name, email, and optional notesBooking confirmation page with details and calendar download (.ics)Provider dashboard: upcoming bookings, cancel/rescheduleEmail notification simulation (log to console, show in UI)Timezone-aware: display times in the viewer's timezoneTechnical Notes
Use Next.js with database for persistence. Date handling: use date-fns or dayjs. Generate .ics calendar files.
Bonus Points
Recurring availability templatesBuffer time between bookingsBooking page with custom branding