Overview & Core Concepts
LockMyCal is a top-class open-source platform for online booking and meeting scheduling, built on the Elixir / Phoenix LiveView ecosystem. It is designed to provide an instant real-time response, complete data privacy and seamless integration with your favourite calendars and business tools.
Note
LockMyCal is based on the proven open-source project Tymeslot (licensed under GNU AGPLv3) and extends it with improved localization support, a dark mode, additional notifications and an optional cloud add-on layer.
Why choose LockMyCal?
- Full control over your data (Self-Hosting): Your client data, meetings and notes stay on your own server, in line with GDPR. No vendor lock-in.
- Real time without delay: Thanks to Phoenix LiveView and Elixir/OTP processes, choosing a time, validation and booking happen instantly, without reloading the page.
- Intelligent conflict prevention: LockMyCal checks availability across several calendars at once in real time and eliminates the risk of double-booking.
- Your own branding and themes: You can customise the look of your booking pages with modern themes (e.g. Quill, Rhythm), your own colours, backgrounds (image or video) and a profile picture; on Pro, also your own logo.
- A rich notification ecosystem: Automatic emails to clients and organizers (via SMTP or the APIs of Postmark, SendGrid, Mailgun or AhaSend), invitations with ICS files, webhooks, and Telegram and Slack alerts.
Two variants: Self-Hosted vs. LockMyCal Cloud
| Feature | LockMyCal Open-Source (Self-Hosted) | LockMyCal Cloud (SaaS) |
|---|---|---|
| License | GNU AGPLv3 (completely free) | Proprietary service (subscription) |
| Hosting | Your own server (Docker, Cloudron, Railway) | Fully managed cloud, no worries |
| Updates & Backups | Your responsibility | Automatic daily backups and updates |
| Calendar sync | Google, Microsoft 365 / Outlook, Exchange, CalDAV, ICS subscription | Google, Microsoft 365 / Outlook, Exchange, CalDAV, ICS subscription |
| Number of connected calendars | Unlimited | Free 2 / Pro 6 |
| Video conferencing | Google Meet, Teams, Zoom, Jitsi Meet, kMeet, Nextcloud Talk, MiroTalk, custom link | Google Meet, Teams, Zoom, Jitsi Meet, kMeet, Nextcloud Talk, MiroTalk, custom link |
| Booking payments | Integrated Stripe Connect / direct payments | Integrated Stripe + subscription management |
| Custom URL | Unlimited (your own domain under your control) | A custom readable URL in the Pro plan |
Key concepts and workflow
graph TD
A["Organizer sets up a meeting type"] --> B["Connect calendars Google / Outlook / CalDAV"]
B --> C["Client opens the booking link or widget"]
C --> D["Real-time time selection"]
D --> E{"Payment required?"}
E -- "Yes" --> F["Payment via Stripe"]
E -- "No" --> G["Instant booking confirmation"]
F --> G
G --> H["Written to both parties' calendars"]
G --> I["Email and webhook notifications sent"]
- Meeting Types: Duration (e.g. 15, 30, 60 minutes), location (in person, phone, video, custom), spacing of offered times, booking limits, approval, additional questions and an optional price.
- Availability (Schedules): Weekly schedules with breaks, exceptions for specific days, time off, buffers between meetings, minimum notice, booking horizon and a daily limit on meeting time.
- Booking Page: A modern interface with time zone support, where the client sees only truly free slots converted to their local time.
- Post-booking processing: Creating a video room (Google Meet, Microsoft Teams, Zoom, Jitsi Meet, kMeet, Nextcloud Talk or MiroTalk, or your own embedded link), sending calendar invitations (.ics) and triggering connected automations (n8n, Zapier, Webhooks).