Tidetime — open-source scheduling you host yourself
Appointment scheduling
you host yourself.
Booking pages, provider scheduling, calendar conflict checks, and email for one company, running on your own server and your own database. Deploy it with Docker.
What your customers see.
A clean, branded page: choose a service, pick a provider or let Tidetime assign the least-busy one, and book an open time in your own time zone.
Everything one company
needs to take bookings.
From a single service to a full team, Tidetime covers the whole booking flow without extra tools or subscriptions.
Booking pages
A public page per company with your branding, custom questions, multiple durations, buffers, and minimum-notice rules.
Provider assignment
Customers pick a provider or let Tidetime assign the least-busy available one. Exactly one provider per booking, no rota to manage.
Availability & schedules
Multiple named schedules per provider, weekly hours with date overrides, and admin-managed availability for the whole team.
Group events & caps
Share one slot across several attendees for group sessions, set a daily booking cap per service, and require confirmation when you need it.
Calendar conflict checks
Connect Google Calendar or Microsoft 365 so busy times block clashing slots. Bookings are written to a Google destination calendar you choose.
Meeting links
Built-in Jitsi rooms with no account, or Google Meet links when Google Calendar is connected. Phone and in-person options too.
Email & updates
Branded confirmations, reschedules, and cancellations over your own SMTP server or a Microsoft 365 mailbox, with calendar invites and RSVP links.
Signed webhooks
Send a signed, retrying webhook on every booking event to a Zapier Catch Hook or any endpoint you control. Verify it with a shared secret.
Customer directory
Everyone who books is recorded and de-duplicated by email, with per-customer history and a one-click CSV export.
Works with the tools
you already use.
Credentials are stored encrypted in your database and configured in-app — or supplied as environment variables. Your keys never leave your server.
All credentials are encrypted at rest. Nothing is shared with third-party services.
Own everything.
No subscription tiers locking features. No third-party processor in the middle. No SaaS terms deciding what you can do. Your server, your data, your rules.
Your data stays yours
Everything runs on your own server and PostgreSQL database. No external party can read, sell, or lose access to your booking data.
One command, or full control
Use the one-command installer, the Docker Compose stack, or a manual Node deploy — whatever fits your infrastructure and skill level.
Wire it into your tools
A signed, retrying webhook fires on every booking event, so you can push bookings into Zapier or any endpoint you run without opening up your data.
MIT licensed
Free and open under the MIT license. Read the code, fork it, extend it, white-label it, and contribute improvements back to the community.
Ready when you are.
Spin up your own scheduling platform in minutes, then make it yours.