Ownware
Guide · updated Aug 1, 2026

Self-hosted appointment booking — the complete guide

The complete guide to owning your booking system: what per-seat SaaS costs, the real open-source options, why double-booking is the whole problem, and what a buy-once engine covers.

Booking software has one unforgivable failure mode. Nobody remembers the day it worked; everybody remembers the double-booking. This guide is the complete map of running appointments on software you own — including the free options, the SaaS meters, and the one engineering problem that decides whether any of it can be trusted.

The meter you are probably paying

  • Calendly — Standard at $10 per seat per month billed yearly. Three staff calendars is $360 a year, forever, for slot-picking.
  • Acuity Scheduling — Starter $16/month billed annually ($20 monthly), flat per account.
  • SimplyBook.me — a free tier exists; the Basic paid tier rendered €11.90/month billed annually to our (geo-dependent) fetch.

Reasonable numbers monthly; the three-year math is where they stop looking reasonable — and your client list lives on their servers for as long as you keep paying.

The open-source options, honestly reviewed

  • Cal.com — the open-source heavyweight: polished, team routing, huge integration surface. The cost is operational: a modern Node/Postgres stack, self-hosted, tracking a fast-moving upstream. Excellent if that describes your comfort zone.
  • Easy!Appointments — the classic free PHP scheduler that runs on ordinary LAMP hosting. Services, providers, working plans — the basics, solidly. Its age shows in the interface and feature pace, and deposits are not its focus.

If either covers your needs at your ops level, use it — free-and-fits beats paid every time. The full comparison lives in the booking-systems field guide.

The problem that actually matters

Every booking tool demos beautifully. The difference shows at 9:00:03 on a Monday when two clients tap the same 10:00 slot from two phones. Most cheap scripts check availability then write — a race window where both bookings succeed. The other classic: daylight-saving day offers a 2:30 that does not exist, or shows your London client slots in your timezone. When you evaluate any tool on this page — free, rented, or owned — these two questions outrank every feature list: what stops the race, and who handles the clocks?

The owned option

Slotly is our entry, built around that exact obsession: double-booking is prevented at the database level, so even simultaneous requests cannot both land, and the engine is timezone- and DST-correct — customers book in their own timezone while you work in yours, and impossible clock-gap times are never offered. Around that core: prep/cleanup buffers, blackout dates, minimum notice, per-weekday hours with split shifts, group classes with hard capacity, per-service deposits, coupons, and automatic email reminders enabled by one cron line. One-time purchase, full PHP source, on the same cheap hosting Easy!Appointments runs on.

The honest limits

From Slotly's own page: it does not process card payments at booking — deposits are quoted and tracked in admin, with gateways on the roadmap. It is one business per install, not a multi-vendor marketplace. If checkout-at-booking is non-negotiable, the hosted tools do it today and Slotly does not.

The honest chooser

  • Ops-comfortable, want free and full-featured: Cal.com.
  • Cheap PHP hosting, simple needs, free: Easy!Appointments.
  • Conflict-proof engine with deposits and group capacity, owned once: Slotly — the demo on its page is open, no signup.
  • Zero ops tolerance: stay hosted and accept the meter — the honest trade, priced above.

Two workflows that separate real shops from demos

Deposits are the no-show cure nobody's free tier handles well: attach a deposit to the services where absence hurts (the two-hour color appointment, not the trim), quote it at booking, and track it in admin — even without card processing, "a deposit is expected" filters the flaky bookings out on its own. Group capacity is the other: a yoga class is one slot that eleven people may book and the twelfth must not; capacity has to be enforced by the same engine that stops double-booking, or the race problem simply returns wearing a leotard. Both ship in Slotly's engine, both are worth testing in anyone's demo before you commit — and the email reminders that cut no-shows further are one cron line, documented on the product page.

Whoever you pick, the client list should end up in your database. That is the quiet, compounding asset of the whole self-hosted category — a booking tool is, quietly, the most complete customer list a service business ever assembles.

Slotly is also one of the four apps on Ownware Cloud — we run it for $12/month with the license yours after a year. And every vendor price in this guide lives, dated and sourced, in the Price Observatory.

Series · Teardowns & deep dives — part 2 of 11
← Self-hosted rental property management — the small landlord's complete guide Run your own public roadmap — feedback, votes, and changelog, self-hosted →
Own your tools

Stop renting your own business.

Every tool in this store is a one-time purchase: install it on your own server, keep your own data, and never see a renewal invoice.

Affiliate program
Recommend tools people own — earn 35% on every sale. 90-day tracking, instant delivery, payouts by Lemon Squeezy.
Become an affiliate →
Ownware Business tools you own.  ·  orders@ownware.io
No spam — product launches and guides only.
Catalog · Categories · Alternatives · Guides · Price Observatory · State of Self-Hosted 2026 · Ownware Cloud · Changelog · Search · Your purchases · Legal · Support · Press kit · Affiliates — earn 35% Powered by Deliora (self-hosted)