CDL Scheduler¶
A self-hosted appointment scheduling system — like YouCanBook.me or Calendly, but free, open-source, and fully under your control.
Built with GitHub Pages (frontend) and Google Apps Script (backend), CDL Scheduler lets visitors book time on your Google Calendar without needing access to your calendar directly.
key features¶
Availability-based scheduling — define availability windows on your Google Calendar; only free slots are shown to visitors
Multiple meeting types — configure different durations and descriptions (office hours, project meetings, etc.)
Booking, rescheduling, and cancellation — visitors manage their own bookings via secure token links
Email notifications — automatic confirmation emails with iCal attachments for both parties
Conflict detection — checks multiple calendars to avoid double-booking
Zero cost — runs entirely on free-tier services (GitHub Pages + Google Apps Script)
Privacy-first — no third-party services; your calendar data stays in your Google account
quick start¶
Set up the backend — create a Google Apps Script project, push the backend code with
clasp, and configure Script PropertiesDeploy the frontend — fork/clone the repository and enable GitHub Pages
Configure meeting types — edit YAML files to define your meeting types, locations, and settings
Create availability — add recurring calendar events matching your availability pattern
Verify — visit your site, book a test appointment, and confirm everything works
See the setup guide for detailed step-by-step instructions.