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

Offers & Combos

Promotional offers — percentage, flat, and combo-price — applied at checkout by the receptionist, with the rules that govern them.

Offers & Combos

Offers are the salon's promotions: a percentage off a service, a flat rupee discount, or a bundle of services at one combo price. They are displayed to customers and applied at the counter when the customer pays.

Offers are applied at checkout by a receptionist — they are not self-service during booking. This keeps control of discounts with staff and prevents stacking.

What it is

A flexible way to run promotions that drive visits — "20% off all Facials this week", "₹500 off any Hair Treatment", or "Hair + Facial + Manicure = ₹2,999". Customers see the active offers on the /offers page; staff apply the right one when ringing up the bill.

How it works

Create

A manager creates an offer in the admin portal, choosing its type, the services it applies to, and a start and end date.

Display

While active and within its date range, the offer appears on the public /offers page with its terms.

Apply

At checkout, the receptionist applies a single eligible offer to the customer's booking before taking payment.

Expire

When the end date passes, the offer auto-expires via a scheduled background job and drops off the public list.

Offer types

Type: percentage

A percentage (1–100) off the linked services.

Example: "20% off all Facials".

Type: flat

A fixed rupee amount deducted from the bill.

Example: "₹500 off any Hair Treatment".

Type: combo_price

A single bundle price replaces the individual service prices.

Example: "Hair + Facial + Manicure = ₹2,999".

Rules

One offer per customer per day and offers cannot combine with gems — an offer and a gems redemption cannot both apply to the same booking. The daily limit is enforced in the database with a unique constraint on customer + date.

OpenReport an issue

Was this page helpful?

On this page