Documentation
  • Self-hosting Bookly
  • Scheduling model
  • Contacts and the meeting lifecycle
  • Calendar & conferencing integrations
  • Paid bookings (Stripe)
  • Host notifications and text reminders
  • Teams, round-robin and workflows
  • Routing forms
  • Embeds
  • Domains & HTTPS
  • API & webhooks
  • Cloud mode (multi-tenant SaaS)
Powered by Bookly

Bookly

Documentation

Everything about running and using this install, from self-hosting to the API. The same pages live in the repository, so you can read or improve them there too.

Browse on GitHub(opens in a new tab)

  • Self-hosting BooklyBookly is one container plus Postgres. Optional: a mail provider. There are no file uploads: profile photos and logos are URLs you host anywhere.
  • Scheduling modelYour calendar is governed by intent, not just busy/free:
  • Contacts and the meeting lifecycleBookly keeps a contact for every person who books, joins a waitlist or fills a routing form: one row per email per workspace, with a name, company, phone, tags,
  • Calendar & conferencing integrationsBookly hosts connect their own accounts from Admin → Calendars and Admin → Conferencing. The server admin registers the OAuth apps once and puts the keys in the
  • Paid bookings (Stripe)Set a price on an event type (Admin → Event types → Price / Currency). With Stripe configured, booking that event type goes: pick a slot → fill the form → Strip
  • Host notifications and text remindersAttendees always get email: confirmation with calendar invite, 24-hour and 1-hour reminders, cancellation. Hosts choose how they hear about things under Admin →
  • Teams, round-robin and workflowsAdmin → Team lists everyone in the workspace. Owners and admins invite by email; the invitee gets a link to /accept-invitation/<id>, creates an account (sign-up
  • Routing formsA routing form (Admin → Routing forms) asks visitors a few questions and sends each of them to the right place. It lives at /r/<slug> on your booking host and i
  • EmbedsAdd the script once, then use either pattern. Replace the host with your Bookly URL.
  • Domains & HTTPS1. Point your domain at the server: an A record (or CNAME) for blog.example.com. 2. Set APPURL=https://blog.example.com in .env. 3. Start with TLS: ACMEEMAIL=yo
  • API & webhooksBase URL: https://<your-bookly>/api/v1. Machine-readable spec at /api/v1/openapi.json. Responses are { "data": …, "meta": … } or { "error": { "code", "message"
  • Cloud mode (multi-tenant SaaS)Set TENANCY=multi. Then: