MIT-licensed templates · TypeScript SDK · Free API tier
Open-source booking, without owning the booking engine
Three production Next.js booking storefronts under the MIT licence, a typed SDK, and a hosted API that handles availability, timezones and double-booking. Clone a template — or have Cursor or Claude build one for you — deploy free to Vercel, and pay only for bookings.
Straight answer first
Is Opencals open source? No — and here is exactly why.
You searched for an open-source booking system, so here's a direct answer before any pitch. The Opencals booking API and dashboard are closed-source and hosted by us — that part you rent. What we give away, under the MIT licence, is the layer you actually want to own: the storefront.
Three complete Next.js booking sites and the TypeScript SDK that talks to the API. Clone them, redesign them, ship them for a client, strip every reference to us — no attribution, no licence key in the frontend. You can even build the whole thing by describing it to Cursor or Claude, and deploy it free to Vercel.
Most people asking this question assume open source means free. It doesn't — and the next section shows exactly what self-hosting a real booking platform costs. If a fully self-hosted stack is a genuine requirement — data residency, an air-gapped network, a licence policy you cannot bend — then you want Cal.com or Easy!Appointments, not us. We wrote a ranked guide to the open-source options that says so plainly.
The part nobody prices in
"Open source" doesn't mean free
A self-hosted booking platform isn't a web server — it's a stack you own forever. Here's what it actually costs to run one, against building your storefront on the hosted API.
- Upfront build
- Weeks — auth, availability maths, timezones, double-booking, calendar sync, payments
- Hosting
- Managed DB + app servers + Redis + load balancer + backups + CDN + email/SMS
- Monthly infrastructure
- ~$300–600/mo at modest production scale
- Maintenance
- A developer on security patches, version upgrades and on-call — a real recurring cost
- Scale, concurrency & uptime
- Your problem to size, monitor and keep online
- You pay for
- Infrastructure, whether or not anyone books
- Upfront build
- A weekend — clone a template, point it at your store, deploy
- Hosting
- Vercel free / hobby tier
- Monthly infrastructure
- $0–20/mo
- Maintenance
- None — the booking engine is maintained for you
- Scale, concurrency & uptime
- Handled
- You pay for
- Bookings
Self-host: Weeks — auth, availability maths, timezones, double-booking, calendar sync, payments
Opencals: A weekend — clone a template, point it at your store, deploy
Self-host: Managed DB + app servers + Redis + load balancer + backups + CDN + email/SMS
Opencals: Vercel free / hobby tier
Self-host: ~$300–600/mo at modest production scale
Opencals: $0–20/mo
Self-host: A developer on security patches, version upgrades and on-call — a real recurring cost
Opencals: None — the booking engine is maintained for you
Self-host: Your problem to size, monitor and keep online
Opencals: Handled
Self-host: Infrastructure, whether or not anyone books
Opencals: Bookings
Figures are illustrative, at modest production scale — not a quote. The point isn't the exact number; it's that the number never reaches zero, and it recurs every month.
The actual decision
When to self-host, and when not to
| If this is true… | Self-host | Templates + API |
|---|---|---|
| You must own the data end to end (air-gapped, strict residency) | ||
| You want to modify the booking engine's own logic | ||
| Zero budget, and engineering time is free | ||
| You want a custom-designed booking site, not a themed dashboard | ||
| You are shipping this for a client and will not maintain it for years | ||
| You would rather not own timezone, availability and double-booking bugs | ||
| You need payments, multi-location or staff scheduling out of the box |
Longer version, with the maintenance costs spelled out: open-source vs hosted booking API. Building on any stack: headless booking systems.
Watch it get built
Describe the site. The agent builds it.
No boilerplate. Point Cursor or Claude at a template and the SDK, and a real booking storefront writes itself — availability, slots, checkout — then ships to Vercel.
import { ProductService, AppointmentService } from "@opencals/storefront-sdk";Illustration of the workflow. The templates, SDK and code below are the real thing.
Free forever · no card
See a real booking backend running in five minutes
You cannot judge a booking API from a docs page. Create a free development store, seed it with a working business, point a template at it — then decide.
Create a development store
No credit card, no trial clock, no sales call. Development stores stay free for as long as you need them.
Seed it with a real business
Pick a dataset and the store fills with services, staff, locations, customers, appointments and orders — a working business, not empty tables.
Point a template at it
Clone Haar, Frisor or Clarity, drop in the store ID, and you have a live booking site with real data in about five minutes.
Plans activate instantly on a development store in test mode, so you can check how quotas and paid features behave before a card is ever involved. Switch the store to production when you are ready to take real bookings.
MIT licence
Three booking storefronts you can clone right now
Real Next.js applications, not scaffolds — services, availability, checkout and confirmation flows already wired to the API.
No code required
Not a developer? Have Cursor or Claude build it
Copy the prompt below into your AI editor — or open it directly. It clones a template, follows our build skill, wires it to your store and deploys it. You describe the business; it writes the code.
Build me a booking website with Opencals. Start from the open-source template github.com/letsopencals/template-haar and use the @opencals/storefront-sdk. Follow the Opencals template skill: github.com/letsopencals/opencals-template-skill. Customise it for my business: set the services, wire up availability and the booking flow, and restyle the branding. Then walk me through deploying it to Vercel and adding my Opencals API key.
"Open in Cursor" needs the Cursor app installed. If a button doesn't open, copy the prompt and paste it into your editor — that always works.
@opencals/storefront-sdk
The hard parts, behind a typed client
Availability maths, timezone correctness and double-booking prevention are where booking systems break — before launch and every year after. The SDK is fully typed, framework agnostic, and works in any JavaScript runtime.
import { ProductService, AppointmentService } from "@opencals/storefront-sdk";
// Timezone-correct availability — no double-booking maths to write yourself
const { data: slots } = await ProductService.getCurrentAvailabilities({
path: { productId },
query: { date: "2026-09-01", timezone: "Europe/London" },
});
// Book the first open slot
const { data: appointment } = await AppointmentService.create({
body: { slot: slots[0], cartId },
});Booking as infrastructure
Appointments, resources, availability, customers, payments and webhooks — a REST API with an OpenAPI spec, built to sit behind whatever frontend you want. Agencies use it to ship booking sites for clients without rebuilding the engine each time.
Questions people actually ask
Is Opencals open source?
No. The Opencals booking API and dashboard are closed-source and hosted by us. What is open source, under the MIT licence, is the storefront layer: three production Next.js templates and the TypeScript SDK that talks to our API. You own and modify the frontend; we run the booking engine.
Can I self-host Opencals?
Not the booking engine. If self-hosting the whole stack is a hard requirement — data residency, air-gapped networks, a licence policy you cannot bend — you want a fully open-source project such as Cal.com or Easy!Appointments, and we would rather tell you that than sell around it.
What does the free tier actually include?
The API free tier covers the endpoints the templates use: services, availability, appointments, customers and webhooks. It is enough to build and launch a real booking site. Paid plans start when you need payments, multi-location, staff management or higher rate limits.
What licence are the templates under?
MIT. Clone them, change them, ship them for a client, remove every mention of Opencals from the UI. The only thing you cannot do is take the booking API itself, because that part is not ours to give away.
Why build on a hosted API instead of a self-hosted booking system?
Availability maths, timezone handling, double-booking prevention and calendar sync are where booking systems get hard, and they stay hard after launch. Self-hosting means you own that maintenance forever. A hosted API means you own the part that makes the site yours — the frontend — and rent the part that is only ever a liability.
Can I build desk, room or table booking on this?
The API is built around services, availability and appointments, with staff and locations — the model the templates demonstrate. Time-based booking of a resource is the same shape of problem, and you build the UI with the SDK. If you have a specific desk-, room- or table-booking flow in mind, talk to us first so we can confirm it maps cleanly before you build.
Early Access — 3 Months Free
Ready to transform your service business?
Join 150+ businesses already using Opencals. Get 3 months completely free with all features unlocked.


