Skip to content

Comparison

The Booking Kit Cal.com Calendly
What it is Composable scheduling toolkit Full scheduling application Managed SaaS product
License MIT AGPL-3.0 Proprietary
You get Packages you compose An entire app you deploy A hosted service you rent
Modify privately Yes No (AGPL copyleft) No (closed source)
Runtime Browser, Edge, Node Node + Postgres only N/A
Bundle ~50KB core (tree-shakeable) 4,500+ TS files, 80+ DB models N/A

Feature The Booking Kit Cal.com Calendly
Slot computation engine Yes Yes Yes
RRULE-based availability Yes Yes Yes
Timezone-aware scheduling Yes Yes Yes
Buffer time Yes Yes Yes
Availability overrides Yes Yes Yes
Double-booking prevention Database-level (EXCLUDE USING gist + SERIALIZABLE) Application-level conflict checks Managed internally
Team scheduling Yes (round-robin, collective, fixed) Yes Basic
Seat-based / group bookings Yes Yes No
Recurring bookings Yes Yes No
Walk-in queue management Yes No No
Kiosk mode Yes No No
Routing forms Yes Yes No
Payment integration Yes (Stripe + adapter pattern) Yes Yes (Stripe)
Confirmation modes Yes Yes Yes
Booking audit trail Yes (append-only event log) Partial No
Multi-tenancy + RBAC Yes Yes Limited
Webhooks Yes (HMAC-SHA256, replay-protected) Yes Yes
Workflow automation Yes Yes Limited
Email + ICS Yes Yes Yes
Calendar sync Yes Yes Yes
Embed widgets Yes Yes Yes
REST API Yes Yes Yes
Copy-paste UI (shadcn convention) 31 components No — tied to their app No
Pluggable adapters Yes (auth, email, jobs, calendar, SMS, payment) Hardcoded integrations No
Edge / Cloudflare D1 Yes No No
CLI scaffolding Yes (npx thebookingkit init) No No
Hosted platform No Yes Yes
Built-in video No Yes Yes
App marketplace No (adapter pattern instead) Yes (111 integrations) Yes
Mobile apps No Yes Yes
Zero-code setup No Partial Yes

Cal.com is AGPL-3.0. If you modify Cal.com and serve it over a network (which every SaaS does), you must release your modifications under the same license. For companies embedding scheduling into a commercial product, this is a legal blocker without purchasing Cal.com’s enterprise license.

The Booking Kit is MIT. Modify it, embed it, sell it, keep it private. No copyleft obligations.

Cal.com gives you a 4,500-file Next.js application with 80+ Prisma models and 72 interdependent feature packages. You can’t extract “just the slot engine.”

The Booking Kit gives you independent packages:

@slotkit/core → Pure scheduling math. No framework, no ORM, no runtime assumptions.
@slotkit/db → Drizzle schema. Any Postgres 15+.
@slotkit/server → Auth, webhooks, API. Swap any adapter.
@slotkit/d1 → Cloudflare D1 edge adapter.
registry/ui/ → 31 copy-paste React components you own.

Use one package or all of them. They compose — they don’t couple.

Cal.com requires a Node.js server with a warm PostgreSQL connection. No edge deployment.

@slotkit/core runs in browsers, Cloudflare Workers, Deno, Vercel Edge Functions, and Node.js. With @slotkit/d1, you can deploy a complete scheduling backend to Cloudflare’s global edge network.

Cal.com prevents double-bookings with application-level conflict checks (checkForConflicts.ts). If the application code has a bug or a race condition slips through, a double booking can occur.

The Booking Kit enforces double-booking prevention at the database level with PostgreSQL EXCLUDE USING gist constraints and SERIALIZABLE transactions with automatic retry (jittered exponential backoff). Even buggy application code cannot create a double booking.

Cal.com’s booking UI is wired to their tRPC API and Zustand store. You can theme it, but you cannot restructure the booking flow or extract individual components.

The Booking Kit provides 31 React components following the shadcn/ui convention — copy-paste source code, className/style props, tbk- CSS prefix, zero runtime dependency on any backend.

6. Walk-In & Kiosk — For Physical Businesses

Section titled “6. Walk-In & Kiosk — For Physical Businesses”

Cal.com was built for online meetings. It has no walk-in queue, no kiosk mode, no hybrid appointment/walk-in scheduling.

The Booking Kit includes:

  • Walk-in queue with position tracking, wait time estimation, and analytics
  • Kiosk mode with multi-provider resource views and check-in management
  • 8 dedicated components: QueueDisplay, QueueManager, QueueTicket, WalkInEntryForm, WalkInToggle, WalkInAnalytics, KioskCalendar, KioskShell

Cal.com has 111 integrations as hardcoded “app store” packages. Adding a new one means forking their monorepo.

The Booking Kit uses typed adapter interfaces:

const auth: AuthAdapter = new ClerkAdapter();
const email: EmailAdapter = new SESAdapter();
const jobs: JobAdapter = new BullMQAdapter();
const calendar: CalendarAdapter = new OutlookAdapter();

Implement a TypeScript interface. No marketplace, no vendor approval.

Cal.com has a history of removing free-tier features overnight. Their Workflows engine (automated email/SMS notifications) was free, then abruptly paywalled after abuse. Users who built processes around it had their pipelines severed without warning.

With The Booking Kit, features can’t be revoked. You own the source code under MIT. No vendor can paywall your own codebase.

Cal.com’s costs escalate quickly: removing branding requires Teams ($15/user/month), SSO requires Organizations ($37/user/month), and production API usage starts at $299/month. A 20-person team needing routing forms and brand removal pays $3,600-$8,880/year.

The Booking Kit is MIT-licensed. No per-seat fees. No per-booking API charges. No paywalls. Ever.


We’re honest about this. Cal.com is better when:

  • You want a product, not a toolkit — Cal.com ships a complete admin dashboard, managed hosting, and mobile apps
  • You need 100+ integrations today — Zoom, Google Meet, Slack, Salesforce, Zapier, and more, pre-built
  • Video conferencing is core — Cal.com integrates Daily.co, Zoom, Teams natively
  • Non-developers will manage scheduling — Cal.com has a no-code admin UI
  • You want a managed cloud option — Cal.com Cloud handles infrastructure for you

  • You need scheduling running today with zero engineering effort
  • Your use case is simple one-on-one meetings
  • You’re comfortable with per-seat subscription pricing
  • You don’t need custom UI or deep product integration

Dimension The Booking Kit Cal.com
Core engine @slotkit/core — framework-agnostic, 0 runtime deps Embedded in feature packages, requires Prisma + tRPC
Database Drizzle ORM, normalized schema, ~15 tables Prisma, 80+ models, JSON blob configuration fields
Schema safety DB constraints (gist exclusion, serializable txns) Application-level conflict checks
Date handling date-fns 3.x (single library) dayjs + date-fns (dual, mid-migration)
Auth Pluggable AuthAdapter interface NextAuth.js 4.x hardcoded
API REST + adapter pattern tRPC (coupled to React)
UI delivery Copy-paste source (shadcn convention) npm package (@calcom/ui)
Testing Property-based (fast-check) + Playwright E2E (Docker Postgres) Example-based unit + Playwright E2E
Edge support Yes (D1 adapter, universal core) No (Node.js + Postgres only)

Calendly — you want zero code and don’t mind renting.

Cal.com — you want a complete open-source scheduling product with managed hosting and 100+ integrations.

The Booking Kit — you’re building a product that needs scheduling as infrastructure. MIT license, composable packages, edge-ready runtime, copy-paste UI, database-level safety, and features for physical businesses that no other tool provides.