Mountify Help
BG → mountify.eu
Loyalty

Loyalty rule types

Promo code, first-visit discount, 'buy N get one', and what Advanced unlocks.

9 min read Updated 2026-07-26

Every loyalty rule is built from two independent halves: a condition (“When”) and a reward (“Reward”). There are three conditions and two rewards. That means six possible combinations — not six different features. This article is the reference: exactly what each condition does, what each reward does, the limits on every field, and which fields disappear depending on the condition you pick.

The path to everything described here: Setup → Loyalty → New rule, then Pick a template.


1. The three conditions, in one table

ConditionName in the UIWho triggers itField it asks forField limits
Promo codePromo codeThe client, when paying onlinePromo codeA–Z and 0–9, 2–32 characters
First visitFirst-visit discountThe system, automaticallynone
StampsBuy N, get oneThe system, automaticallyReward on visit numberwhole number 2–50
"Pick a template" — the three conditions every rule starts from
"Pick a template" — the three conditions every rule starts from

Promo code

The client sees an I have a promo code row on the payment screen, opens it, types the code and presses Apply. If the code is valid for that booking, the discount appears immediately in the price breakdown.

The code field is strict: it upper-cases everything and rejects any character that is not A–Z or 0–9, with the message “Only letters A–Z and digits 0–9 are allowed.” So “summer20” is stored as “SUMMER20”; Cyrillic in a promo code is impossible.

The promo code is the only condition that requires an action from the client, and the only one that supports the Max uses per customer field.

First visit

Fires only on a client’s very first booking on this board. There is nothing to configure. Instead of a field the wizard shows an explanation: “Fires automatically on the very first booking made by a customer on this board. No customer input.”

Important: this condition has a hidden requirement that the wizard does not show — the client must have a verified identity (signed in, or having confirmed the booking through the emailed link). Otherwise the reward is withheld. The reason and the workaround are in First-visit & birthday.

Stamps (buy N, get one)

Fires when the client reaches exactly their Nth visit. Non-cancelled bookings of that client are counted — cancelled ones do not. If you picked specific services on the rule, only those are counted; if you didn’t, every service on the board counts.

Important: the reward is granted exactly once, on the Nth visit, and then the rule stops firing for that client. It is not a cycle — the 20th visit on a card of 10 does not pay out a second time. The “Every 10th booking” label in the list is imprecise.

Changing the condition on an existing rule

The condition comes from the template, but you can change it in the editor. When you do, Mountify clears the fields that will no longer be visible:

Switching toWhat is cleared automatically
First visit”Max uses per customer” and “Total budget · uses”
Buy N, get one”Max uses per customer”
Promo codenothing

This is deliberate: otherwise you would be left with an invisible cap you can neither see nor remove.


2. The two rewards, in one table

RewardName in the UIFieldLimitsCurrency
PercentPercent offDiscount0–100
Flat amountFlat amountAmount≥ 0locked to the board currency
  • 100 % means free — the hint under the field says it literally: “0–100 %. 100% = free.”
  • On a flat amount the currency field is locked. The reason is technical and worth knowing: a rule whose currency differs from the board’s is dropped before it can apply. So Mountify does not let you change it at all.
  • A flat reward never drives the total negative: if the service is 30 and the reward is “−50”, the client pays 0, not −20.

What exactly the discount is calculated on

This is the most frequently asked question and deserves a table of its own:

Part of the priceCounted in the discount base
Base service priceYes
Per-specialist price (if set)Yes
Day / time surchargeYes
Multiplied by seats (group class)Yes
Number of slots (rental)Yes
Add-onsNo

So: a 60 service + a 20 add-on with a −50 % rule → the discount is 30 (half of 60) and the total is 50.

And one asymmetry that surprises people: the Minimum spend field in “Who qualifies” is measured against the service plus the add-ons (the whole order), while the discount itself is computed on the service alone.


3. The six combinations and what they are for

Condition + rewardWhat it is in practice
Promo code + percentThe classic campaign: “WELCOME10 = −10 %“
Promo code + flat amountA voucher with a round value: “FLYER = −20”
First visit + percentAcquisition: “−20 % on your first appointment”
First visit + flat amountAcquisition with a clear number: “−15 off the first visit”
Stamps + 100 % percentThe classic punch card: “the 10th is free”
Stamps + flat amountA softer version: “10 off on the 5th”

4. The limits that apply to every condition

These fields live in the “Who qualifies” and “Advanced” cards and are the same for all three conditions (with the exceptions in the table in §1).

FieldEmpty meansHow it shows up for the client
Which customers = First-time”Anyone”The rule simply never appears for a returning client
Which customers = Returning”Anyone”Never appears for a new client
Applies to servicesall servicesThe rule never appears on a service outside the list
Valid fromno start dateOn a promo code the client sees “This code has expired.”
Valid untilruns foreverSame message
Minimum spendno minimum”Your order doesn’t reach the minimum for this code.”
Max uses per customerunlimited”This code has reached its usage limit.”
Total budget · usesunlimitedSame message
Discount ceilingno ceilingThe client sees “Maximum discount with this code: …”
Total budget · moneyunlimitedThe rule silently stops firing
Combine with other rulesoffSee Stacking & budgets

The messages in the right-hand column are the real texts a client sees when entering a promo code. The automatic conditions (first visit, stamps) show no message at all — the rule just doesn’t appear.


5. What happens to an applied reward afterwards

An applied discount is not set in stone. Here is every case in which it changes:

EventEffect on the discount
The booking is cancelledThe discount is voided: it stops counting in stats and the booking price is recomputed
The booking is marked No-showSame — voided. A no-show does not earn a reward
The booking is moved to another timeEverything is voided and recomputed (the day/time surcharge may now differ)
You change the service or the number of seatsSame — voided and recomputed
The booking is confirmed (Pending or Waitlisted → Confirmed)The reward stays; automatic rules are recomputed where the price changed
A team member presses Void on the applicationThe discount stops counting; the price is recomputed on the next read

Voiding by hand happens on the client card: Clients → the client → the “Loyalty” tab → Void on the row under Applications. The dialog warns: “The discount stops counting toward stats and totals. Booking price will recompute on next read.” There is an undo — Reactivate.

A cancelled or voided application still counts against the rule’s caps and its money budget. That is on purpose: otherwise a client could book, take the reward, cancel and take it again.

The rules table: the "When" and "Reward" columns show each row's condition and reward
The rules table: the "When" and "Reward" columns show each row's condition and reward

6. What is not a rule type

So you don’t go looking in vain:

  • There is no “birthday” condition — and there cannot be one, because there is no date-of-birth field on the client card.
  • There is no “referred a friend” (referral) condition.
  • There is no “N days since the last visit” condition (dormant-client win-back).
  • There is no “spend accumulated over the year” condition (tiers, VIP).
  • There is no “free add-on”, “free product” or “points” reward. The rewards are percent and flat amount, full stop.
  • There is no “credit” reward the client carries between visits — that is what Packages & memberships are for.
  • There are no workspace-level rules. Rules belong to the board; a second venue = a second board = its own rules.

The page description in the app mentions BOGO, birthdays, referrals, tiers and cashback. That copy describes where the mechanism is heading, not what you can build today. Today it is the three conditions above.


What’s next