Skip to main content
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

1

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.
2

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.
3

Stay informed

The customer can see their tier, hours used, hours remaining, expiry date, and full session history on their /membership page.
4

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 480 minutes)
  • Price: ₹10,000 (GST-inclusive)
  • Validity: 90 days
  • 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.
Hours are the only constraint. No service is off-limits within a tier — every tier unlocks all SPA services, and the customer is limited solely by the hours they have left.
Recording a session creates a ₹0 booking plus a membership_session invoice and reduces the remaining hours by the session’s duration. A session cannot be recorded if it exceeds the hours left.
No. Neither the purchase nor the sessions earn loyalty gems. See Loyalty — Gems.
Hard expiry. When the validity ends the membership moves to expired and unused hours are lost. There is no rollover, pause, or transfer.
Salon-cancelled sessions don’t cost hours. If the salon cancels a membership session, the hours are not deducted.
Automated alerts fire at 30 days, 7 days, and 1 day before expiry, plus an immediate alert when less than 1 hour remains.

Membership number format

For example, RG-MEM-26-1-90872.

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.
Last modified on August 29, 2026