June 2026
Add-Ons — new feature
Service businesses can now attach optional extras to any bookable service. Customers select add-ons during the booking flow — after picking a service and time slot, before checkout — and pay the combined total in one transaction. What’s in the release:GET /storefront/add-ons— list add-ons, filter byproductIdGET /storefront/products/:id/add-ons— add-ons for a specific servicePOST /storefront/cart/add-ons— add an add-on to a cart itemPATCH /storefront/cart/add-ons/:id— update quantityDELETE /storefront/cart/add-ons/:id— remove from cart
- Add-ons are scoped to products. Only add-ons linked to the booked service appear.
- Two pricing modes: fixed (customer picks quantity) and duration-multiplied (quantity auto-set to the number of duration units, useful for per-day or per-hour charges).
- Prices are snapshotted at cart creation — later catalog changes don’t affect existing orders.
- Add-ons appear in order line items (
OrderAddOnLineItem) and on appointment records (AppointmentAddOn). Partial quantity refunds are supported. - Works on both
platform='opencals'andplatform='shopify'.
Developer docs launched
The Opencals developer documentation is now live at opencals.com/docs.- Interactive API Reference with an in-browser playground — try every endpoint without leaving the docs
- Quickstart guide — first API call in under 5 minutes
- Build a booking page — end-to-end tutorial (services → staff → availability → cart → checkout)
- TypeScript SDK guide — typed client with Zod schemas and formatting helpers
- Webhooks overview — planned event catalog for appointment and order lifecycle events
- Open-source templates — production-ready booking site starters
Storefront API — v1
The Storefront API is now publicly available. It covers the full customer-facing booking flow:| Domain | Key endpoints |
|---|---|
| Products | List services, collections, variants |
| Staff members | List staff, per-staff availability |
| Locations | Multi-location support |
| Appointments | Real-time slot availability |
| Cart | Create and manage a booking cart |
| Checkout | Initiate and confirm checkout |
| Payments | Stripe-backed deposits and full payments |
| Customer self-service | View, reschedule, and cancel bookings |
| Webhooks | Signed event delivery (coming soon) |
https://api.opencals.com · Authentication: Authorization: Bearer sfk_…
See the full endpoint catalog.
Storefront SDK — v0.2.0
@opencals/storefront-sdk is the official TypeScript client for the Storefront API.
- Generated from the OpenAPI spec — every request and response is fully typed
- Zod schemas for runtime validation
- Formatting helpers for prices, durations, and timezones
- MIT licensed
Haar — open-source salon booking template
The first open-source Opencals template is live. Haar is a complete beauty-salon booking website built on the Storefront API: service catalog, staff and multi-location booking, real-time availability, Stripe checkout, and customer accounts.- Stack: Next.js 15, TypeScript, Tailwind,
@opencals/storefront-sdk - MIT licensed — clone, rebrand, deploy for yourself or clients
- One-click Vercel deploy