Skip to main content
The build skill. Install it when you want an agent to stand up a complete booking website — not just call the API. It picks the closest official template, scaffolds it, wires it to a store, restyles it to your brand, and deploys it. For exact API calls it defers to the opencals-storefront-api skill. Repo: github.com/letsopencals/skills · Install: see the overview

What it covers

  • Choosing a template by booking shape (people vs resources, groups, multi-location).
  • The workflow: scaffold → configure env → understand the SDK wiring → rebrand → verify → deploy to Vercel.
  • Resource-booking (courts, lanes, rooms, equipment): the three conflict rules, allowCustomDuration, and the units × time grid strategy, and multi-location resources with one availability read per location — the VOLT template is the worked example.
  • Rentals by the day (cars, boats, equipment, villas): 1-day base duration with custom duration on a 24/7 schedule, merged availability ranges with a client-side fit, 00:00-aligned slots, handover details as custom attributes. The NOIR Drive template is the worked example.
  • Nightly stays (villas, cabins, guest houses, rooms): a one-night base with custom duration and fixed check-in/check-out times that the API enforces, turnover days, guest and arrival details as custom attributes. The Bali Villa Rentals template is the worked example.
  • Schools and classes (languages, music, coding, tutoring): subjects as collections, levels as variants, teachers as staff, seats left from slot availability, and the online location’s link for a Join button. The Fluently template is the worked example.
  • Fitness and Pilates studios (reformer, yoga, barre, spin): one variant per class × studio × instructor capped at the beds in the room, Full classes inferred from each series’ weekly pattern because the API drops full slots, privates sharing a product pool, and dated workshops. The Tensile template is the worked example.
  • Clinic groups with many clinicians (dental, physio, multi-site practices): studios as locations with their own hours, departments as collections, options as variants, booking by clinician or “first available” from one cached availability read per studio and treatment, a follow-on visit (the hygienist straight after) as a second cart appointment, and per-patient pre-visit questions. The Alba Dental template is the worked example.
  • Coworking and room hire (desks, meeting rooms, booths, studios at several sites): every room and desk its own staffless product at one location, an open floor as one capacity product per location booked by the seat, seats left from the availability ranges’ attendees / maxAttendees, one cached availability read per location, a multi-item cart for the whole day with extras suggested in the gaps, and meeting invitees as guests. The Gable template is the worked example.
  • Customising: colour/font tokens, siteConfig, and what comes from the API vs. what you edit in code.

Templates it builds on

Haar — salon

Frisor — barbershop

Clear Care — clinic

VOLT — padel & squash

NOIR Drive — car rental

Fluently — language school

Bali Villa Rentals — villa stays

Tensile — reformer Pilates

Alba Dental — dental group

Gable — coworking

When it triggers

“Build me a booking website”, “I run a [salon / clinic / padel club] and need a booking site”, or handing the agent a business idea plus inspiration.
Last modified on November 7, 2026