Skip to main content
Every template is a complete, production-grade booking website built on the Storefront API and the typed TypeScript SDK. MIT-licensed — clone it, rebrand it, ship it for yourself or your clients.

How it works

1

Clone a template

Each template is a standalone Next.js repository on GitHub.
2

Connect your store

Create a store in the Opencals dashboard and set your private storefront key (spk_) in the env vars. See Authentication.
3

Deploy

One-click deploy to Vercel, or anywhere Next.js runs. Bookings, checkout, and payments work out of the box.

Templates

cover

Haar — salon booking template

A free beauty-salon booking website: services, staff and multi-location booking, customer accounts, and Stripe checkout. Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

Frisor — barbershop booking template

A free barbershop booking website: services and variants, barber and multi-location booking, add-ons at checkout, customer accounts, and Stripe checkout. Dark editorial design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

Clear Care — clinic booking template

A free medical-clinic booking website: a Care Finder that starts from what’s going on, a single-page booking composer with pre-visit notes and photo uploads, clinic or video visits across three clinics, Stripe checkout, and a family care record in My Care. Calm, warm design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

VOLT — padel & squash club template

A free booking website for a padel & squash club network: pick your club (or the nearest one), then book a court on a live hall map or a courts × time grid, with singles and doubles courts and 60–120 minute games. Coach-led training with group capacity, a step-by-step checkout with your crew and kit, match-ticket confirmations, and player accounts with stats and rebooking. Built on staffless resources, with one cached availability read per club. Dark technical design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

NOIR Drive — luxury car rental template

A free luxury car-rental website: a fleet booked by the day with a range calendar on live availability, delivery or garage collection, per-day extras, licence and ID uploads at checkout, chauffeur packages with real drivers, rental-aware customer accounts, and Stripe checkout. The first template built on multi-day bookings. Black cinematic design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

Fluently — language school template

A free language-school website: group classes with level variants and live seats left, private lessons, a free trial, a week-ahead timetable, teacher profiles, campuses plus an online classroom with a Join button, passwordless student accounts, and Stripe checkout. The first template built for schools and courses. Colorful, playful design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

Bali Villa Rentals — villa booking template

A free villa-rental website: ten villas booked by the night with fixed check-in and check-out, a calendar on live availability, guest and arrival details, per-stay extras, trip-aware customer accounts with date changes and cancellation, passwordless login, and Stripe checkout. The first template built for nightly stays. Warm, quiet design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
cover

Tensile — reformer Pilates studio template

A free reformer Pilates studio website: a weekly timetable across three studios and online with the instructor and beds left on every class, Full classes that point to the next class with space, 1:1 and duet privates, workshops, add-ons and waiver questions at checkout, passwordless accounts with move, cancel and Join, and Stripe checkout. The first template built for a class-based fitness studio. Technical, warm design — Next.js 15 + TypeScript.Live demo ↗ · GitHub ↗
Booking courts, bays, lanes or rooms rather than people? Start from VOLT, built on staffless resources. Renting by the day (cars, boats, equipment)? Start from NOIR Drive. Renting villas, cabins or rooms by the night? Start from Bali Villa Rentals. Running a school or courses? Start from Fluently. Running a Pilates, yoga or fitness studio with a class timetable? Start from Tensile. More are on the way: spa and tattoo studio are next. Want one prioritized? Tell us.

Quick start

Build something custom instead? Start from the booking page tutorial.
Last modified on October 24, 2026