SPA Memberships
Hour-based SPA membership tiers — what customers buy, how sessions deduct hours, and the rules that govern purchase, usage, and expiry.
SPA Memberships
A SPA membership lets a customer buy a block of SPA hours up front at a better rate, then draw down those hours session by session. It is the salon's way of rewarding regular SPA-goers and securing revenue in advance.
Memberships are hours-based, not visit-based or rupee-based. Every tier unlocks all SPA services — the only thing that limits the customer is how many hours they have left.
What it is
Think of a membership as a prepaid pool of SPA time. The customer pays once for a tier (say, 15 hours), and from then on each SPA session simply subtracts its duration from the pool. There is no per-session charge — the booking is recorded at ₹0 because it was already paid for at purchase.
How it works
Purchase (admin only)
A receptionist creates the membership for a customer from the admin portal,
picks a tier, and takes payment. This generates a membership_purchase invoice
and emails it with a welcome message.
Use it
When the customer comes in for a SPA service, a receptionist records the
session. The session's duration is deducted from the remaining hours, and a ₹0
booking (flagged as a membership session) plus a ₹0 membership_session invoice
are created.
Stay informed
The customer can see their tier, hours used, hours remaining, expiry date, and
full session history on their /membership page.
Expiry
When the validity period ends, the membership expires and any unused hours are forfeited. Reminders go out at 30, 7, and 1 day before.
The tiers
- Hours: 8 hours (stored as
480minutes) - Price: ₹10,000 (GST-inclusive)
- Validity: 90 days
- Access: every SPA service — Standard, Premium, and VVIP
- Hours: 15 hours (stored as
900minutes) - Price: ₹15,000 (GST-inclusive)
- Validity: 90 days
- Access: every SPA service — Standard, Premium, and VVIP
- Hours: custom — set per deal
- Price: negotiated
- Validity: custom
- Access: every SPA service — Standard, Premium, and VVIP
Hours and price are prefilled from the tier but remain overridable at creation, so staff can honour a negotiated deal.
Internally, hours are stored as minutes. Silver's 8 hours is 480 and
Gold's 15 hours is 900. The customer always sees hours; the database always
works in minutes.
Rules
One active membership per customer — enforced by a database constraint. A customer cannot hold two active memberships at once.
Membership number format
RG-MEM-{YY}-{branch_number}-{5_random}For example, RG-MEM-26-1-90872.
Related links
Memberships API
Customer view plus admin create, list, inspect, cancel, and record-session endpoints.
Booking System
How sessions become bookings (with the -M suffix).
Billing & Invoicing
The membership_purchase and membership_session invoice types.
Data Model
The spa_membership and spa_membership_tier tables.
Was this page helpful?
Booking System
The 4-step booking dialog, its entry points, and the booking lifecycle — from a customer's first tap to a completed, invoiced appointment.
Loyalty — Gems
How customers earn gems on what they spend and redeem them for specific catalogue services — the rules behind earning, expiry, and redemption.