Skip to main content
New featureSDK v0.3.0

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'.
SDK support — available in @opencals/storefront-sdk v0.3.0 and higher (via AddonService). Older versions do not include add-on methods or types.
See the Add-Ons feature page for the full overview and use cases.
Last modified on June 21, 2026