Royal Glow internal docs · now fully interactive — Steps, API tables, file trees & live status
Royal Glow Docs
Features

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 480 minutes)
  • Price: ₹10,000 (GST-inclusive)
  • Validity: 90 days
  • Access: every SPA service — Standard, Premium, and VVIP
  • Hours: 15 hours (stored as 900 minutes)
  • 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.

OpenReport an issue

Was this page helpful?

On this page