Three package types
Visits — session limit (e.g. '5 massages'). Credits — shared unit balance (spa room minutes, treatment credits). Days — unlimited access for N days. All three work through the same engine and the same UI page.
Spa centres and wellness clubs
Service packages, credit packages for minutes or treatments, statuses and expiry dates — no Excel spreadsheet needed.
Visits — session limit (e.g. '5 massages'). Credits — shared unit balance (spa room minutes, treatment credits). Days — unlimited access for N days. All three work through the same engine and the same UI page.
Package purchase is registered at reception, optionally linked to an invoice. Deduction with a single button on guest visit. Protection against negative balance at the database level.
Package validity is calculated on read (effectiveStatus): a package with a past date appears as `expired` without a cron worker. A background worker for bulk updates is a separate project step.
Each purchase can be linked to an issued invoice via `paid_invoice_id`. A package refund triggers an invoice refund automatically.
Measured from the product code on 23 Aug 2026
3 of the 6 menu sections are open; the other three are visible marked "soon" and do not open. There is no bookings section in the spa menu at all — the booking engine exists platform-wide, the screen for this vertical has not been built. For comparison, clinic has 15 sections and 49 screens.
We'll walk you through the staging environment, discuss migrating from your current software and answer technical questions.
We use cookies to improve your experience. Accept.