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

Admin & Staff Guide

For the salon team — the six roles and what each can do, plus daily operations from approving bookings to billing, memberships, leads, schedules, and policies.

Admin & Staff Guide

For the salon team. This guide explains who can do what, then walks through the everyday tasks — bookings, payment, membership sessions, customers, the lead pipeline, offers, and staff schedules. The internal tool is the admin portal at admin.theroyalglow.in (its own subdomain — pages sit at the root, with no /admin prefix).

This guide is for the people who run Royal Glow — the front desk, stylists and therapists, managers, and owners. It explains who can do what, then walks through the everyday tasks: handling bookings, taking payment, recording membership sessions, looking after customers, working the lead pipeline, running offers, and managing staff schedules.

The six roles

Access is organised into six levels. Each level can do everything the one below it can, plus more. This keeps the front desk focused and sensitive areas (like pricing and reports) limited to the right people.

Customer  <  Staff  <  Receptionist  <  Manager  <  Owner  <  Developer
RoleWho they areWhat they focus on
CustomerThe end user.Booking and managing their own appointments — no admin access at all.
Staff (Stylist / Therapist)Performs services.Their own appointments and their own leave. Nothing else.
ReceptionistThe front desk.The daily engine — bookings, billing, memberships, CRM, leads, leave approvals.
ManagerOperations lead.Everything reception does, plus prices, services, offers, reports, staff, and settings.
OwnerThe business owner.Everything a manager does, plus managing user accounts and branches.
DeveloperMaintains the software.Full access, plus integrations and system logs.

What each role can access

This matrix is the quick answer to "can this person do that?" A ✅ means yes.

CapabilityStaffReceptionistManagerOwnerDeveloper
View own bookings & submit own leave
View all bookings
Approve / reject / assign bookings
Create walk-ins, mark status, checkout
Generate invoices & take payment
Create memberships & record sessions
CRM notes, tags, lead pipeline
Approve / reject leave
Edit service prices & catalogue
Create / edit offers
Cancel a membership / edit tier defaults
Financial reports & analytics
Edit staff schedules & system settings
Add / remove staff & receptionists
Manage user accounts & roles
Add / edit branches
Integrations & error logs

Receptionists cannot change prices. They take payment and apply offers, but editing the price list is a Manager-and-above task. This protects pricing integrity at the front desk.

A note on staff: a Stylist or Therapist sees only their own assigned appointments and the service notes attached to them (for example, "allergic to ammonia"). They cannot see other staff's bookings, customer phone numbers or emails, prices, or any CRM data.

Daily operations

Approving and assigning bookings

New online bookings arrive as Pending and appear live on the dashboard and the bookings list. To handle one:

Open the booking

Open it from the dashboard or the Bookings list.

Review the details

Review the customer, services, date, and time.

Assign staff

Assign a staff member to each service (a dropdown per service).

Approve or reject

Click Approve to confirm it, or Reject and give a reason.

When you approve, the customer is notified and the booking becomes Confirmed. When you reject, the customer sees the reason you typed and can book again, so write something helpful (for example, "Staff unavailable at 3:30 PM — please try 4:00 PM").

Walk-ins

When a customer arrives without booking, create a walk-in:

Start a walk-in

Click + Walk-in.

Find or create the customer

Search for the customer (or create a new one).

Pick services & staff

Pick the service type, services, and assign staff.

Set the time and save

Set the time (defaults to now) and save.

Walk-ins skip "pending" and are confirmed immediately, because the customer is already in front of you.

A no-show on a walk-in never counts against the customer — a walk-in is only created when they're physically present, so there's no slot to miss.

Completing a booking → invoice → gems

When the service is finished, the same checkout flow handles payment, the invoice, and loyalty gems in one go:

Mark In Progress

On the confirmed booking, mark it In Progress when the customer checks in.

Open checkout

When the service is done, click Mark Completed to open checkout.

Apply an offer (optional)

Optionally apply one offer (max one per customer per day).

Choose payment method

Choose the payment method: Cash, UPI, or Card.

Review the invoice

Review the invoice preview (line items, GST split, total).

Complete & generate invoice

Click Complete & Generate Invoice.

The system then, in a single step:

  • Marks the booking Completed
  • Creates a GST-compliant invoice (18% GST, shown as CGST 9% + SGST 9%)
  • Generates a branded PDF and emails it to the customer
  • Awards gems — 1 gem per ₹100 on the bill (rounded down)
  • Updates the customer's visit count, lifetime value, and the day's revenue

Prices on an invoice are frozen. Each line item stores the service name and price as they were at the time of sale. Changing a price later never alters past invoices.

Recording a membership session

When a member comes in for a spa session, you record it against their hours instead of taking payment:

Open the membership

Open it from Memberships (or the customer's profile).

Record a session

Click Record Session.

Select services & duration

Select the service(s) performed and confirm the duration.

Save

Save the session.

This deducts the time from their balance, creates a ₹0 invoice as a usage record, and emails a session confirmation. If the requested time is more than the hours remaining, the system blocks it and suggests a shorter session or paying per-service for the extra time. Membership sessions earn no gems.

Managing customers (CRM)

The Customers area is the salon's memory of every client.

  • Find anyone by name, phone, or email; sort by lifetime value, visits, or recent activity.
  • Each profile shows visit history, invoices, membership, gems, and notes.
  • Notes let the team record useful context (preferences, allergies, conversations). Add a note from the customer's profile.
  • Tags group customers. Some are applied automatically (for example vip for high spenders, loyal for frequent visitors, dormant for those who haven't visited in a while). Others are manual (for example bridal, corporate, influencer). Auto tags can't be removed; manual ones can.

The lead pipeline

Leads are prospects who came from Meta / Instagram ads (via the /book ad landing page or a Meta lead form). They're different from bookings — a lead hasn't reserved a slot yet, they've just expressed interest. The Leads area shows them as a board you move across stages:

New → Contacted → Follow-up → Booked → Won / Lost

Each lead card shows the name, phone (tap to call or open WhatsApp), service interest, and which campaign brought them in. Leads with no contact for 48 hours are flagged as stale so nothing slips through. When a lead books and completes a paid visit, it moves to Won automatically.

A customer who finds you through Google, the in-salon QR code, or by typing the website directly is a normal booking/customer, not a lead. The lead pipeline is specifically for paid-ad prospects.

Creating offers

Managers and above create promotions in the Offers area. There are three types:

TypeExample
Percentage off"20% off all facials this week"
Flat discount"₹500 off any hair treatment"
Combo price"Hair + Facial + Manicure = ₹2,999"

Offers have start and end dates and activate or expire automatically. The rules: one offer per customer per day, applied by the receptionist at checkout, can't be combined with gems, and they apply to salon services (not spa memberships).

Staff schedules and leave

The Schedule area shows every staff member's working hours and booked slots as a grid. Bookings only land on staff who are available, so keeping schedules accurate matters.

Leave follows a clear request → review → decision flow:

Submit

A staff member submits a leave request for a future date. It starts as Pending.

Review

Receptionists and the manager are notified and review it in Leave.

Decide

They Approve (which blocks that staff member's availability for the date) or Reject with a reason.

Leave statusEffect on availabilityWho sets it
PendingNone — bookings are unaffectedStaff (self-submit)
ApprovedBlocks that day for that staff memberReceptionist / Manager
RejectedNoneReceptionist / Manager

Leave types are Sick, Casual, Personal, and Other. Staff can withdraw a request while it's still pending, but an approved leave must be changed by a manager. If an approved leave clashes with existing confirmed bookings, the system warns the team to reassign them — it doesn't block the approval.

The no-show policy

A no-show is a confirmed booking the customer didn't attend and didn't cancel. The policy is gentle for occasional misses and firmer for repeat offenders:

No-showsWhat happens
1 to 3A "No-Show Risk" note/tag is added to the customer. No restriction.
4 or more within 90 daysFuture bookings need manager approval before they're confirmed. The customer is notified.

Recovery: a customer who completes 3 bookings in a row without a no-show has the approval requirement and the risk tag removed. Any new no-show resets that recovery count. As noted above, walk-in no-shows never count toward this tally.

A day at the front desk, in order

Check the dashboard

Pending bookings, today's appointments, stale leads.

Approve or reject

Action pending bookings and assign staff.

Create walk-ins

As customers arrive.

Mark In Progress

At check-in.

Checkout

Completed services — payment, invoice, gems.

Work the lead pipeline

Call and follow up.

Update customer notes and tags

As you learn things.

Action leave requests

Review and decide.

Where to go next

OpenReport an issue

Was this page helpful?

On this page