Mountify Help
BG → mountify.eu
Loyalty

Punch cards (buy N, get one)

The digital stamp card — after N visits the next one is free or discounted.

8 min read Updated 2026-07-26

The “buy 9, the 10th is free” card has gone digital. The Buy N, get one template turns repeat visits into stamps the system counts by itself: the client carries nothing, you stamp nothing, and the reward lands automatically on exactly the right visit. This article explains how to set it up, what precisely counts as a stamp, where the progress is visible, and how to add a stamp by hand when something goes wrong.

Requires the Growth plan or higher and the manage_loyalty permission.


1. Creating a punch card — step by step

  1. Open the board and click the Setup hub in its column.
  2. In the Salon operations group choose the Loyalty row.
  3. Press New rule.
  4. On the Pick a template page choose the Buy N, get one card and press Use this template.
"Pick a template": the "Buy N, get one" card is the punch-card template
"Pick a template": the "Buy N, get one" card is the punch-card template

The wizard opens pre-filled: reward on visit 10, discount 100 % (i.e. free), order 70.

  1. Fill in the five cards:
CardFieldWhat to put in it
MetaInternal name”Haircut punch card” — only your team sees it
MetaCustomer-facing description”Every 10th haircut is on us” — this is what the client sees
MetaOrder70 by default. A higher number wins a clash
WhenReward on visit numberA whole number between 2 and 50. 10 = the reward lands on the tenth visit
RewardPercent off100 = free. A smaller number = a discount
Who qualifiesApplies to servicesSee §3 — this is the most important field here
  1. Press Save rule.

The limits on “Reward on visit number”

RuleValue
Minimum2
Maximum50
Typewhole number

If you get it wrong the wizard shows “Pick a number between 2 and 50.” or “Use a whole number.”

The number means “the reward lands on this visit”. So 10 = nine paid visits plus one rewarded one — not eleven.


2. How a stamp is counted — the exact rule

This is the part to understand before you promise anything.

Bookings of the same client, on the same board, whose status is one of the following are counted:

StatusCounts
ConfirmedYes — even before they arrive
ArrivedYes
CompletedYes
Walk-inYes
PendingNo — not confirmed yet
No-showNo
CancelledNo
WaitlistedNo

Three consequences worth knowing:

  1. The reward is reachable without marking attendance. A confirmed future appointment already counts. You do not have to press “Arrived” on everyone for the card to move.
  2. A no-show does not fill the card. And if a client got the reward and is later marked No-show, the discount is voided.
  3. Cancel-and-rebook doesn’t farm stamps. The “book → cancel → book” loop does nothing.

The reward pays out once. The rule fires when the counter reaches exactly N and then stops for that client. A card of 10 does not pay out again on the 20th visit. The “Every 10th booking” label in the list is imprecise — read it as “on the 10th”.


3. Why you should scope the card to one service

The Applies to services field in the Who qualifies card decides which bookings collect stamps.

SettingEffect
All services (default)Every visit counts — the client can “collect” 10 different services
Specific services → pick “Haircut”Only haircuts collect a stamp, and the reward only applies to a haircut

For a classic punch card you almost always want the second. Otherwise someone who came once for a haircut, once for colour and eight times for brows gets a free colour.

How to do it:

  1. In the Who qualifies card find Applies to services.
  2. Switch from All services to Specific services.
  3. In the list that appears, tick the service (or services) that collect stamps. There is a Search services… field if the list is long.

If you delete a service that a rule references, the next save shows “One of the picked services isn’t on this board anymore.” Open the rule and remove the deleted service from the list.


4. What the client sees

On the public booking page the progress shows in several places:

  • A perks strip — “Active perks for you” with a counter like 7/10.
  • A summary line — “3 more visits to your reward”, and once it’s earned: “Your reward is ready — …”.
  • On the payment screen — a Loyalty row reading “This booking adds 1 stamp once it’s confirmed.” For a group class with several sessions: “Each of your N sessions adds a stamp once confirmed.”
  • When the reward lands, a Loyalty savings (est.) line appears in the price breakdown.
The wizard's live preview shows how the card looks on the payment screen
The wizard's live preview shows how the card looks on the payment screen

The number the client sees is byte-for-byte the number the reward fires on — the two cannot disagree.


5. Where you see one client’s stamps

Clients → open the client → the “Loyalty” tab. It contains:

BlockWhat it shows
Punch-card progressHow far the client has got on each active stamp rule
Total savedHow much this client has saved through loyalty overall
ApplicationsA list of every application: rule, amount, date, status

From the Applications list you can press Void on a single application (dialog: “The discount stops counting toward stats and totals. Booking price will recompute on next read.”) and Reactivate if you made a mistake.


6. Adding a stamp by hand

It happens: the stylist cancelled, the client waited, you want to make it up to them. That is what Eligibility overrides are for.

  1. Clients → the client → the “Loyalty” tab.
  2. Scroll to Eligibility overrides and press Add override.
  3. In Override kind choose Punch-card stamps offset.
  4. In Stamps to add type a positive whole number (e.g. 3).
  5. In Note (audit log) write why — the field asks “Why are you applying this override?”. The note stays in the history.
  6. Press Create override.

The other two override kinds:

KindWhat it does
Reset first-visitMakes the client count as new for first-visit rules
Skip cap onceBypasses the “Max uses per customer” cap one time

An override is consumed when the reward fires — it is marked “Consumed” and never applies a second time. That is deliberate: otherwise a standing bonus would keep inflating the counter on every future visit.

If you made a mistake, press Delete override. The dialog explains: “The resolver will stop applying it on future bookings. Existing applications stay as-is.”


7. Useful “Advanced” settings

FieldWhat it’s for on a punch card
Combine with other rulesOff means the card doesn’t add on top of a promo code. Usually the right call
Total budget · moneyAn overall spend cap for the scheme. Useful with a 100 % reward
Discount ceiling”Free, but never more than 60” — protection if the reward can land on an expensive service

The Max uses per customer field is not shown for this condition — the card pays out only once anyway.


8. What a punch card does NOT do

  • It is not a cycle. It does not reset itself after the reward.
  • It does not carry across boards. A second venue = a second board = a fresh card from zero.
  • It sends no email saying “2 visits to go”. No such notification exists.
  • It does not surface on staff-created bookings as an admin reminder — the progress lives on the client card and on the public page.
  • It doesn’t work for an anonymous guest with no history. The counter is tied to a client record; if someone books with a different email each time, the stamps scatter.

9. If something isn’t working

SymptomCheck
The client has 10 visits but no rewardHow many of them have a counting status (§2)? Cancelled and No-show don’t count
Stamps grow faster than expectedApplies to services is probably still on “All services”
The reward landed and then vanishedThe booking was cancelled, moved or changed — the application is voided and recomputed
The reward doesn’t land despite the right countCheck Total budget · money and the Valid from / until dates
The number on the public page doesn’t match my countYou are probably counting cancelled ones too. The public page counts by the rule in §2

What’s next