Skip to main content
Stay up to date with releases across the Opencals developer platform. Subscribe to releases on GitHub to get notified.

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 by productId
  • GET /storefront/products/:id/add-ons — add-ons for a specific service
  • POST /storefront/cart/add-ons — add an add-on to a cart item
  • PATCH /storefront/cart/add-ons/:id — update quantity
  • DELETE /storefront/cart/add-ons/:id — remove from cart
Key behaviors:
  • 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' and platform='shopify'.
# List add-ons for a service
curl -H "X-Api-Key: sfk_your_key" \
  https://api.opencals.com/storefront/products/{productId}/add-ons

# Add to cart
curl -X POST -H "X-Api-Key: sfk_your_key" \
  -H "X-Cart-Id: {cartId}" \
  -H "Content-Type: application/json" \
  -d '{"cartItemId": "...", "addOnId": "...", "quantity": 1}' \
  https://api.opencals.com/storefront/cart/add-ons
See the Add-Ons feature page for the full overview and use cases.

Developer docs launched

The Opencals developer documentation is now live at opencals.com/docs.

Storefront API — v1

The Storefront API is now publicly available. It covers the full customer-facing booking flow:
DomainKey endpoints
ProductsList services, collections, variants
Staff membersList staff, per-staff availability
LocationsMulti-location support
AppointmentsReal-time slot availability
CartCreate and manage a booking cart
CheckoutInitiate and confirm checkout
PaymentsStripe-backed deposits and full payments
Customer self-serviceView, reschedule, and cancel bookings
WebhooksSigned event delivery (coming soon)
Base URL: 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.
npm install @opencals/storefront-sdk
  • 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
npm ↗ · SDK guide

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
Live demo ↗ · GitHub ↗ · Template docs
Last modified on June 13, 2026