Skip to content
Opencals

Booking infrastructure for service businesses.
REST API · TypeScript SDK · Open-source templates · AI agent skills · Shopify app


API Docs   npm   Shopify App Store   MIT License

What we build

Opencals is a booking and service-commerce platform that ships as two things at once:

  • A managed SaaS — staff dashboard, customer-facing booking storefront, Shopify integration, Stripe payments, and multi-location scheduling for service businesses (salons, fitness studios, clinics, rental shops).
  • Headless booking infrastructure — a public Storefront REST API, a typed TypeScript SDK, open-source Next.js templates, and AI agent skills that let developers (and their AI coding tools) build fully custom booking experiences on top of the same engine.

Base URL: https://api.opencals.com · Auth: Authorization: Bearer sfk_…


Quick start

npm install @opencals/storefront-sdk
import { setupOpencals, ProductService } from "@opencals/storefront-sdk";

// Call once at app startup — configures the global client
setupOpencals({ apiKey: "sfk_your_api_key" });

// List bookable services
const { data: products } = await ProductService.list({ query: { take: 50 } });

// Get real-time availability for a service
const { data: slots } = await ProductService.getCurrentAvailabilities({
  path: { productId: products.items[0].id },
  query: { date: "2026-10-01" },
});
// → [{ start, end, staffMemberId }]

Full docs, more endpoints, and the interactive playground → opencals.com/docs


🚀 Get a development store in 5 minutes

Every Opencals developer account comes with free development stores — no credit card, no trial timer. Create one, seed it with a realistic dataset, point a template at it, and you have a live booking site with real data.

1. Create a store → app.opencals.com/register

2. Seed it with a working business — pick a dataset and your store fills with services, staff members, locations, customers, appointments, and orders:

Dataset Best paired with
HAAR Salon template-haar
Frisor Barbershop template-frisor
ClearCare Medical template-clarity
VOLT Padel & Squash template-volt

3. Clone a template and deploy

npx create-next-app -e https://github.com/letsopencals/template-haar my-booking-site

Add your store's API key, deploy to Vercel, done.

Development stores stay free for as long as you need them. When you're ready for real bookings, switch to production. → opencals.com/open-source


Public repositories

Templates

Repository Description Demo Stack
template-haar Hair salon — services with a gallery, staff and multi-location booking, customer accounts, Stripe checkout. Live demo Next.js 15, React 19, Tailwind
template-frisor Barbershop — services with variants and add-ons, barber booking, dark editorial design. Live demo Next.js 15, React 19, Tailwind
template-clarity Medical clinic — department-first browsing, clinician booking, medical intake at checkout, passwordless accounts. Live demo Next.js 15, React 19, Tailwind
template-volt Padel & squash club — in-page court booking grid (courts × time, custom duration) and coach-led training flow. Live demo Next.js 15, React 19, Tailwind

All templates are MIT-licensed. Clone, add your API key, deploy.

SDK & tools

Repository Description
storefront-sdk TypeScript SDK for the Opencals Storefront API. Auto-generated, class-based, fully typed.
skills AI agent skills that teach coding tools (Claude Code, Cursor, Codex, Gemini CLI) to build booking integrations on the Opencals API.

Developer resources

Resource URL
Interactive API reference (try every endpoint in-browser) opencals.com/docs/api-reference/introduction
Quickstart — first booking call in 5 minutes opencals.com/docs/quickstart
Authentication — API keys + customer JWTs opencals.com/docs/authentication
Build a booking page — end-to-end Next.js tutorial opencals.com/docs/guides/build-a-booking-page
TypeScript SDK guide opencals.com/docs/guides/storefront-sdk
Webhooks overview opencals.com/docs/guides/webhooks
AI agent skills — build with Claude Code, Cursor, etc. opencals.com/docs/ai-agents/overview
Changelog opencals.com/docs/changelog
OpenAPI 3.0 spec opencals.com/docs/api-reference/openapi.json
npm — @opencals/storefront-sdk npmjs.com/package/@opencals/storefront-sdk
Blog — API guides, headless booking, Shopify opencals.com/blog

The Storefront API covers

Products & collections    Staff members & locations    Real-time availability
Cart management           Checkout (Stripe + deposits)  Payment confirmation
Customer self-service     Reschedule / cancel           Orders & invoices
Add-ons & custom duration Discounts & credit balances   Webhooks

All endpoints are documented with request/response examples in 3 languages (TypeScript, cURL, Python) and an interactive playground — no API key needed to browse. → opencals.com/docs


Use cases

  • Agencies — Clone a template, add the client's API key, rebrand. One codebase, many clients. MIT license, no royalties.
  • Developers building service apps — Use the REST API or TypeScript SDK to embed booking into any existing web or mobile product.
  • AI-assisted development — Install the agent skills in Claude Code, Cursor, or Codex and let your AI build the integration with ground-truth API knowledge.
  • Shopify merchants — Install the Opencals Shopify app for native appointment booking as Shopify orders, or combine the Shopify app with a custom headless frontend via the Storefront API.
  • Service businesses — Use the hosted dashboard at app.opencals.com and the standalone storefront — no developers needed.

Links


Built in Warsaw · Booking infrastructure for the next generation of service businesses

Pinned Loading

  1. template-haar template-haar Public

    Haar — open-source Opencals booking template for a hair salon: services with a gallery, staff and multi-location booking, customer accounts and Stripe checkout. Next.js 15 + React 19 + Tailwind.

    TypeScript 6 1

  2. storefront-sdk storefront-sdk Public

    TypeScript SDK for the Opencals Storefront API

    TypeScript 1

Repositories

Showing 7 of 7 repositories

Top languages

Loading…

Most used topics

Loading…