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?

  1. 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.
  2. Real time without delay: Thanks to Phoenix LiveView and Elixir/OTP processes, choosing a time, validation and booking happen instantly, without reloading the page.
  3. Intelligent conflict prevention: LockMyCal checks availability across several calendars at once in real time and eliminates the risk of double-booking.
  4. 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.
  5. 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"]
  1. 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.
  2. 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.
  3. Booking Page: A modern interface with time zone support, where the client sees only truly free slots converted to their local time.
  4. 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).