Loyalty program and coupons
The loyalty engine runs three programs on one guest ledger: stamps, points and a regular-guest discount. The ledger is kept per guest and per location, and only the server writes earnings and redemptions into it — a balance cannot be forged from the browser.
Switch it on in Commerce → Loyalty: select the location, tick Enable loyalty for this location and save. While the engine is off, none of the three programs run; existing balances are retained.
The guest is identified by phone number; for a signed-in guest the ledger may be kept under their account.
What you need to get started#
You need access to Commerce, the selected location and the guest's phone for earning rewards. Enable the main switch and the programs you need, check the settings and select Save. Staff need POS access to issue a reward; storefront points redemption requires a signed-in guest paying online.
Ready-made templates#
The Loyalty tab offers templates for coffee-shop stamps, salon points, shop points and a restaurant regular-guest discount. A template fills the settings; review them and save to activate it. For coffee, select the eligible drink categories: without a selection, any item can earn a stamp. A free reward earns no stamp, so a threshold of five gives the sixth drink free. The restaurant suggestion template is unavailable on cenaly.ru.
Stamps (stamp card)#
The classic "every sixth coffee is free" card.
| Setting | What it defines |
|---|---|
| Earning mode | per order, or per eligible item; two coffees can earn two stamps in one order |
| Stamps per order / item | how many stamps are earned (usually 1) |
| Categories and items | for per-item mode; an empty selection means any item |
| Reward threshold | how many stamps are needed |
| Reward type | a free item (a specific dish or an eligible item from the stamp list) or a percentage discount |
| Minimum order amount | below it no stamp is given (0 — always give one) |
| Program name | shown to the guest; translated into your menu languages |
Stamps are credited when an order reaches a realised status, and exactly once per order: reprocessing does not double the balance. The cashier applies the reward: a free item becomes a discount on one unit of that item (it shows on the receipt as its own zero-priced line, and the prices and VAT of the other items stay the same); a percentage discount becomes a ticket discount marked "loyalty". Redemption is idempotent too, and the balance never goes negative. Rewards are applied in the web till: the Android, Windows and Ubuntu tills have no reward button yet. If the free item is voided there, no stamps are written off: stamps for a free item are written off only when the gift is still in the paid check.
In per-item mode, quantities count; a fractional weighted line counts as one item. A reward item earns no stamp. If the reward can be any eligible item, POS chooses the cheapest eligible item in the ticket. Category matching needs a published menu. Cancellation or a full refund reverses earned stamps/points and restores redeemed rewards. A partial refund takes back the share of points equal to the refunded share of the paid check, rounded down so the guest never loses more than that share: refunding an item worth a third of the check removes a third of the points, later refunds take the rest, and a full refund after a partial one removes only what is left. Per-item stamps follow the same rule; a per-visit stamp stays after a partial refund, and rewards redeemed on that order are not restored.
Points#
The second program on the same ledger.
| Setting | What it defines |
|---|---|
| Earn percentage | what percent of the paid check comes back as points |
| Redemption cap | what share of a check (%) can be covered by points. Not set — 50 % |
| Excluded categories | categories that earn no points (alcohol being the classic) |
| Excluded items | individual items that earn no points even if their category does (tobacco, at-cost goods) |
| Minimum check amount | below it no points are earned |
You can exclude a whole category or individual items: in Excluded items, pick an item from Add an item…; to remove it, click its ✕ chip. An excluded item earns no points even if its category does; the till shows the guest exactly the points the server will award later, taking both lists into account.
1 point = 1 currency unit, points are whole numbers. The cap is not accidental: uncapped redemption is a straight hole in revenue.
The till shows the cashier exactly the number of points the server will later deduct: the calculation at the till and on the server is one and the same formula.
Instead of a percentage you can award 1 point per every N, and in Earning limits set a cap on points per check, a limit on checks earning points per day (location time zone) and a delay before new points can be spent.
Bonus points campaigns#
A campaign gives extra points for a period: a multiplier (×2 on coffee) or a gift — a fixed number of points per check. Set it up in the same Points block → Bonus points campaigns → Add campaign; the form's common button saves it.
| Condition | How it works |
|---|---|
| Period | dates in the location time zone, last day included. Empty — no limit |
| Days and hours | by the location time zone and by when the check was opened, not paid; the end of the window is excluded. “22:00–02:00” spans midnight |
| Items and categories | the multiplier applies only to them, the rest of the check earns the usual rate. None selected — the whole check except exclusions. A gift is given if such an item is in the check |
| Sales channels | hall (staff), hall by QR and storefront, pickup, delivery, kiosk, aggregators. None selected — any |
| Guests | everyone, new only or returning, or at least N completed orders. An anonymous check doesn't qualify |
| Guest segment | only guests in a saved segment, for example "bought coffee". The guest is recognized by the phone number on the order. Membership updates when the directory syncs. Not available on cenaly.ru |
Example. “×2 on coffee, weekdays 8:00–11:00” with 5 % earning: a 300 ₽ coffee on Tuesday at 9:00 earns 30 points, at 12:00 — 15. With a 200 ₽ croissant in the same check, 9:00 gives 40: 30 for the coffee, 10 for the croissant.
If several campaigns fit a check, only the one with the largest bonus applies — they never add up. The per-check cap limits the total including the bonus. A discount reduces the campaign base just as it reduces normal earning, and the minimum check amount applies to campaigns too. The earning entry in the guest's ledger stores the campaign and the size of its bonus.
The loyalty panel on the web till shows the earn amount including the campaign — for example, “+30 points”. It may differ in three cases: the till doesn't apply excluded categories (the server does), the till checks guest conditions across the whole business while the server checks them per location, and where there is no guest database (cenaly.ru) the till doesn't show campaigns with guest conditions, though the server awards them. The online checkout's points hint doesn't include campaigns yet: the guest receives more than it says.
Regular-guest discount#
The third and simplest program: if a guest has made at least the configured number of completed orders, the till suggests a discount of the configured percentage.
It is a suggestion — applying it or not is the cashier's call. The order count comes from the guest directory (Returning guests).
The loyalty panel at the till#
The till has a "Loyalty" panel (it appears only when the engine is on). Given the guest's phone number it:
- shows the stamp and point balances;
- lets you apply a stamp reward;
- lets you redeem points within the cap;
- suggests the discount for a regular guest.
A redemption turns into an ordinary discount on the ticket — the till's money math is not forked.
For cashier steps, see Discounts, promo codes and points at the till.
What the guest sees#
- a checkout teaser — a loyalty block with the balance and the option to redeem points when paying online;
- progress on the order screen — how many stamps are collected and how many are left; the screen is public, so no private API is needed.
Codes for points#
A code under a cup lid, on a postcard, on packaging or on a partner's receipt: the guest enters it or tells it to the cashier — and gets points. Codes work in the «Points» program, so turn it on first.
- Open «Commerce» → «Loyalty» for the location, the «Codes for points» block, and click «New campaign».
- Fill in «Name» and «Points per code». «Guests per code»: 1 means a single-use code (packaging, receipt); more means one code for a mailing or a postcard. «Codes per guest» — how many codes of this campaign one guest can enter (0 — no limit). Optionally set «Starts» and «Ends», a «Where to find the code» hint and «Terms» — the guest sees them before entering a code.
- Click «Save» — the «Add codes» window opens right away:
- «Upload a list» — a CSV or TXT file from the printer (the code is the first column, one per line; dashes, spaces and letter case do not matter), or paste the codes;
- «Generate a batch» — enter how many codes you need (up to 5000 at a time) and, optionally, a prefix: «CUP» →
CUP7K2M9QXA. The file with the codes downloads automatically — send it to the printer.
Result: the campaign row shows «+50 points per code · 1000 codes · redeemed 0». «Download codes» exports the list again; «Archive» stops accepting codes (points already granted stay with guests).
Where the guest enters a code.
- On the storefront — in the loyalty block at checkout, the link «Have a code from a package or a postcard?». Only a signed-in guest sees the field: points go to their account, not to a phone number someone typed.
- At the till — in the «Loyalty» panel, after the guest's phone, the «Code from the package» field and the «Apply» button. The check does not change: this is a credit, not a discount.
Example: a coffee shop printed 1000 «under the lid» codes worth 50 points each. The guest enters CUP7K2M9QXA — «+50 points added · balance 170». Entering the same code again — «This code has already been used». A code that does not exist at this location — «No such code».
- One input field for all campaigns of the location: a code is unique within the location, and the system finds its campaign.
- Codes and points belong to a location, like the whole program: a code from location A does not work at location B.
- If the input field does not appear, check that the campaign is on («Accept codes»), not archived, and its end date has not passed.
Points for a past receipt#
Did a guest forget to give their phone number, and the receipt is already closed? You can add points and stamps afterwards in two ways. Each works once per receipt.
Add the guest in the receipt history. At the till, open Receipts, find the receipt and tap Add guest. Enter the guest’s phone and tap Add points. Points follow the same rules as a regular receipt: minimum amount, exclusions, campaigns and limits all apply. Refunding the receipt takes the points back.
The button appears if the loyalty program is on, the receipt is within the time limit and the staff role has the right Add a guest to a past receipt. Every link is recorded in the risky operations log.
QR on the receipt. In the loyalty settings, turn on QR on the receipt: “get your bonus points”. A receipt without a guest gets a QR code: the guest scans it, enters their phone and gets the points. A guest signed in to the storefront gets the points on their account, with no phone needed.
The Earn for a past receipt, days setting limits both ways: 1 day by default, and 0 turns them off.
Keep in mind:
- a receipt can be linked to one guest only. A second attempt shows “Already earned for this receipt”;
- delivery platform orders can’t be linked, and a receipt that already has a guest doesn’t earn again;
- the QR is printed on the non-fiscal copy and takes the place of your own footer code. The fiscal receipt doesn’t change, so if only that one prints, there is no QR on paper: add the guest in the receipt history instead;
- the QR doesn’t appear if the till can’t reach the cloud while printing;
- in the Android, Windows and Ubuntu tills, the 🎁 Add guest button sits in the receipt row under Receipts. Enter the phone as a local number of the location’s country or with the country code after “+”. The till prints the QR on a receipt copy (Print copy, Last receipt) under the same conditions: the setting is on, the receipt has no guest and the till is online. The till waits for the cloud for at most a second and a half, otherwise the copy prints without the QR;
- there is no iPad till yet.
Emails to the guest about earned points#
A guest can get an email after every paid order: how many points or stamps were earned, the new balance and how many stamps are left until the reward. When an order brings the stamps up to the threshold, a separate “Your reward is ready” email goes out instead of the usual one.
- Open Commerce → Loyalty for the location.
- Turn on Tell the guest what they earned. If guests should also get an SMS, tick Also send by SMS (if the guest agreed to SMS).
- Click Save.
Result: after an order that earns stamps or points, a guest with an email on the order gets one email. Example: a “Coffee club” program with a 10-stamp threshold and a guest at 6 — after the order the email says “Stamps for this order: +1. Collected: 7 of 10. Stamps left until your reward: 3”. For a 2,000 order with 5% points the email shows “+100” and the new balance.
- The email is about the guest’s own account, so marketing consent is not required. Unsubscribes are respected: a guest who unsubscribed via a link in this location’s emails or turned off emails (SMS) in their profile gets nothing. Every email has an unsubscribe link.
- No emails for aggregator orders (Glovo, Wolt, Yandex Eats): the platform handles that guest.
Coupons and promo codes#
Coupons are a separate tool, unrelated to the loyalty ledger.
| Type | What it does |
|---|---|
| Percent | a percentage discount, with an optional maximum amount |
| Amount | a fixed discount in currency |
| Free shipping | zeroes out delivery |
| BOGO | "buy one, get one" under a configurable rule |
Every coupon can carry: a scope (whole cart / specific products / a collection), a minimum order amount, a total usage limit and a per-guest limit, a validity window, whether it stacks with other coupons, and customer conditions (for example, new guests only). Every application is written to a redemption ledger, so the limits are enforced honestly.
Location promo codes (the "Promo codes" block in the location settings) also have a validity window — a "Valid" column with "from" and "to" dates. As soon as the table holds scheduled or expired codes, a filter appears above it — "Active / Scheduled / Expired / All" with counters; active ones are shown by default. If every promo code of a location has expired, the storefront does not open the code field to the guest at all.
More on commercial tools — Commerce.
Birthday gift#
- In Loyalty, enable Offer a birthday gift.
- Under Gift, choose Discount on the ticket and a percentage, or Free item and a dish. A free item is given as a discount on one unit of it on the ticket, not on the whole ticket, so the VAT of other items does not change.
- Set Days before the birthday and Days after (0–30 each). Optionally fill in Name on the till (optional) and save.
- Add the birthday to the guest's card and enable 🎂 Birthday gift in POS appearance.
POS offers the gift to an attached guest within this window. It is available once a year, without combining with a ticket discount, coupon or loyalty reward; the cashier does not see the birth date. If the offer is missing, check the date, phone and both switches. For the steps, see the till guide.
Where to find guest balances and history#
| Where | What it shows |
|---|---|
| Guest card in “Customers” | Stamps, progress towards a reward and points for enabled programs at the selected location |
| Event timeline, Loyalty filter | Stamp and point earnings and redemptions; the filter appears when multiple event types are present |
| Counterparty card, orders tab | Linked guest summary with positive points and stamps; not a movement history or part of the counterparty's settlements |
| Commerce → Loyalty, Members vs everyone else | Guests, orders per guest and average check, comparing members with others; read-only |
The summary can be a sample and warns when it is. This summary is unavailable on cenaly.ru; missing data does not mean zero balances. The guest card does not turn a failed balance load into a zero either.
Points report: earned, redeemed, liability#
How many points guests received and spent in a month, and how much the location still owes them in discounts — for the owner and the accountant. The report is built from the location's loyalty ledgers and works the same on cenaly.com and cenaly.ru.
- Open Commerce → Loyalty for the location and find Points report: earned, redeemed, liability.
- Pick a period: This month, Last month, Quarter, Year, or your own dates in From and To (up to one year). Days follow the location's time zone.
- If you tested the program with staff phones, enter them in Leave out test members, separated by commas or new lines. The list is remembered for this location in this browser.
- Click Build report.
What the report shows.
| Line | Meaning |
|---|---|
| Opening / closing balance | Points and stamps guests hold on the first day of the period and after the last one |
| Earned for orders | Points and stamps for paid orders |
| Granted by codes | Points for packaging codes (see Codes for points above) |
| Redeemed | Points guests spent as a discount and stamps exchanged for a reward |
| Earning reversed | Points and stamps taken back for cancelled and refunded orders |
| Redemption returned to guests | Points and stamps returned when an order with a redemption was cancelled |
| Liability at period end | Closing points in the location's currency: one point is one unit of discount. For the accountant, a liability for future discounts |
Next to it you see how many guests are in the program, how many hold a balance and how many were active in the period, the number of stamp rewards ready to claim, and two lists: Received the most points and Largest balances (ten guests, by phone or storefront account).
Result: for a period ending today, the closing balance equals the sum of all guest balances at the location — the same balances the cashier sees in the loyalty panel. Period lines add up: opening + earned − redeemed − reversed + returned = closing.
Example: in October guests received 12,400 points for orders and 1,500 by codes, spent 6,300, and 200 were reversed. The balance on 1 October was 41,000 and on 31 October 48,400; the liability is 48,400 in the location's currency.
Download CSV saves a file for the accountant: the summary, movement by day and both guest lists. The separator is a semicolon, so the file opens in Excel or Sheets without extra settings.
- The report covers one location, like the program itself. For a chain, build it for each location.
- The report cannot be emailed on a schedule yet — build and download it at the start of the month.
- If the location has more than 10,000 members, the report warns that it covers the first 10,000.
Turn the program off#
Clear Enable loyalty for this location and save. Earning and redemption stop, but accumulated balances remain. This pauses the program instead of clearing it. The summary remains available to view retained data where supported.
Common promotions and how to set them up#
| Goal | Tool | Caveats |
|---|---|---|
| Every sixth coffee free | Per-item stamps, coffee categories, threshold 5, free-item reward | The free item earns no stamp; the cashier applies the reward |
| Three for the price of two / cheapest item free | BOGO coupon: buy 2, get 1 | Set the scope; without specified gift items the cheapest items are chosen. POS needs a code |
| A regular-guest discount | Discount suggestion based on completed order count | The cashier applies it; unavailable on cenaly.ru |
| A birthday gift | Birthday rule in Loyalty | Birthday in the card, chip enabled, once a year; cannot combine |
Engagement and automatic gifts: what you can set up in Cenaly#
Start with a reason for the next visit: a birthday greeting, a reminder or a discount for joining a game. A coupon reduces the purchase price; it does not add loyalty points.
| Goal | Cenaly tool | Where to configure it | Caveats |
|---|---|---|---|
| Celebrate a birthday at the till | Birthday gift | Commerce → Loyalty for the selected location | The cashier applies the offer within the before/after window; one gift per year |
| Invite a birthday guest in advance | Email with a personal single-use code | Commerce → Coupons & discounts → Marketing autopilot → Birthday greeting | A separate location setting; enabling a till gift does not enable this email |
| Win back an inactive guest or encourage a second order | Win them back / Second order with a code | The same location's marketing autopilot | Requires qualifying order history and a contact for the selected channel |
| Celebrate the first-order anniversary or reward the 10th order | First-order anniversary / Lifetime milestone with a code | The same location's marketing autopilot | Marketing emails; a milestone is rewarded once and only for active guests — see below |
| Follow up with a subscriber who has not ordered | Welcome series with a code | Websites → Store Studio or Mailings → Automations | An email after subscribing, not welcome points |
| Offer a discount to selected customers | Coupon with customer conditions | Commerce → Coupons & discounts for the location | New / returning customers, at least N orders, minimum lifetime spend or N days without an order — see Customer conditions |
| Give a game prize or a coupon after a survey | Wheel of fortune, scratch card, gift boxes; form or quiz with a coupon | Engagement campaigns for the selected location's website | The result screen shows a coupon code if a prize or coupon is configured; no points are earned |
| Every sixth coffee free or a gift with an item purchase | Per-item stamps or a BOGO coupon | Common promotions above | Stamp thresholds and coupon conditions are separate mechanisms |
Send a birthday greeting and invite the guest back#
- For a gift during the visit, configure the birthday rule: select the location, reward and before/after window. For example, 10% off from 3 days before until 7 days after. A staff member confirms the gift at the till, once a year.
- For an email as well, separately open Marketing autopilot under Coupons & discounts. Turn on Autopilot is on, then Birthday greeting → Enabled.
- Set Send before the birthday, for example to 3 days; choose Email under Channels. Enable Attach a discount, set Discount type, Amount and Valid for, then click Save.
Result: the autopilot is ready to send a greeting with a separate single-use code. This does not record a till gift as claimed. If the email is missing, check the birthday, email, marketing consent, sending window and message frequency. Check the till offer separately against the guest's phone and location rule. On cenaly.ru, account for guest-card restrictions: if birthday data is locked, POS does not offer the gift.
Invite a guest back without emailing the whole list#
- In the selected location's Marketing autopilot, enable Win them back. For example, set Silence before writing to 30 days and Pause between reminders to 60 days.
- Choose Email and Attach a discount: for example, Percent, Amount 10, Valid for 7 days. Click Save.
- For a guest with one purchase, use Second order instead and set Wait after the first order and Sending window. For a subscriber with no purchases, open Store Studio or Mailings in Websites, then Automations → Welcome series: set Send after, Window and Attach a personal code, then save.
Result: a qualifying guest receives a message with a personal single-use code. If nothing is sent, check that both the autopilot and flow are enabled, then check contact details, consent, order count and dates. A subscriber outside the welcome window will not receive that email. See Email newsletters.
Reward a guest for entering a segment#
The Entered a segment scenario thanks a guest when they join a saved segment from Customers → Segments, for example "VIP" after their fifth order.
- In Autopilot marketing, turn on Entered a segment and choose the Segment.
- Set a coupon if you want to give a gift. The code is personal and single-use.
- Total rewards caps the scenario: 0 means no limit.
- Tick Also guests already in the segment if current members qualify too. Otherwise only guests who join after you switch it on are rewarded.
Result: after the next daily run, a guest who joined the segment gets one message with an SG-… code. It is a marketing message: consent, unsubscribe, the do-not-contact list and the frequency cap apply. Recipients are guests with a completed order at this location. On cenaly.ru this scenario does not exist because the Segments tab is not there.
Celebrate the anniversary and reward a milestone#
The autopilot has two tenure scenarios, with no points deducted:
- First-order anniversary — a year (two, three…) after the guest’s first order at the location they get a greeting with a personal single-use code;
- Lifetime milestone — when a guest reaches a set number of completed orders (say, 10) or earned points (say, 1,000), they get a thank-you gift. One reward per milestone, ever.
- Open Commerce → Coupons & discounts → Marketing autopilot (or Websites → Store Studio / Mailings → Automations and click Configure on the card).
- For the anniversary, turn on First-order anniversary and set Send within — for example, 7 days after the date.
- For the milestone, turn on Lifetime milestone: in Count pick “Completed orders” or “Points earned”, set Milestone — e.g. 10 orders — and Only active guests: last order within — e.g. 14 days.
- Turn on Attach a discount, e.g. Percent, 15, valid 14 days, and save.
Result: a guest whose first order was on 28 October last year gets one “A year ago you placed your first order with us” email with an AN-… code between 28 October and 3 November; later runs stay silent until the next anniversary. A guest who places their 10th order gets an email with an LM-… code once. Long-gone regulars get nothing when you switch the milestone on — the gift comes with their next order.
Both emails are marketing: marketing consent, unsubscribe, the do-not-contact list and the shared “Message frequency” cap apply. A points milestone only works with the Points program on.
Give a coupon after participation#
- In the selected location's engagement campaign, configure a survey form or quiz and a coupon on its result screen. For an instant game, choose a wheel of fortune, scratch card or gift boxes and configure prizes.
- Check the coupon's validity, minimum purchase and scope. For example, ₽100 off an order of at least ₽1,000.
- Complete the flow as a guest: submit the form or finish the game and check the code on the result screen.
Result: the guest can copy the code; games can also offer an apply button that opens the cart with the coupon. If no code appears, check the result or prize coupon; if the discount fails, check the coupon conditions. Survey answers do not earn points.
Who can configure the program and view balances#
The Loyalty tab belongs to the Commerce menu section. It has no separate section permission. In Employees → Roles & access, the owner assigns View, Edit and Setup rights for sections. Roles apply across the account; each employee's available locations are limited by their role and assigned workplaces.
| Staff task | Access to assign |
|---|---|
| Manage program rules | Commerce access; rules are configured for the selected location |
| View a guest's points and stamps | View access to Customers and the guest card at an available location; balances are shown for enabled programs |
| Redeem points or apply a reward at the till | POS and location access; enabled loyalty, guest phone, an open check with items and discounts shown in the POS appearance settings. Redemption requires a cloud connection |
There is no separate “redeem points” or “issue rewards” permission in POS permissions. A cashier does not need Commerce to apply the configured program. The owner sets general POS permissions at account level; do not treat a manual-discount limit as a separate restriction on points redemption.
For example, assign a manager Edit for the relevant sections, an accountant View for Customers, and a cashier POS access without Commerce. An employee with View but without Edit sees the 👁 View only banner at the top — in both Customers and Commerce. On the Loyalty tab they can read every program setting, but the Save button is disabled for them: an accountant or manager can review the rules without the risk of changing them by accident.
If an employee cannot see a location or balance, first check their role and workplaces, then the selected location, phone and enabled program. On cenaly.ru, the guest-directory restrictions described above still apply; balances can be checked in the POS loyalty panel.
If you have several locations#
Program rules, points and stamps are separate for each location. The same phone identifies the guest but does not combine balances. Another location's storefront shows its own program and that guest's balance there. Enabling loyalty at one location does not enable it at another.
Birthday gifts, the autopilot, its frequency cap and coupons are also configured per location; engagement campaigns belong to the selected location’s website. Staff roles are account-wide, but employees can have different location scopes.
To offer matching rules:
- In Commerce, select the first location and open Loyalty.
- Apply a suitable template, check the percentage, cap, minimum amount, categories and reward, then click Save.
- Switch location and repeat with the same template. Check categories and reward items separately: the template does not replace their selection.
Result: matching rules, separate balances. A template fills one form in a click; it is not automatically assigned across the network. If a balance looks wrong, check the location and phone first, then connectivity and whether the program is enabled.
Earning and redeeming points: a worked example#
In Commerce → Loyalty, enable points and set Earn, % of the check to 5, Redeem cap, % of the check to 50, and add Alcohol to Excluded categories. Make sure the check meets the configured minimum.
The check is ₽2,000, including ₽500 of alcohol. With no discounts, the earning base is ₽1,500: 1,500 × 5% = 75 points. They appear after the order is realized. Points are whole numbers, rounded down: 75.9 becomes 75, not 76. Discounts reduce the earning base proportionally; the part covered by points earns no new points.
For the next ₽2,000 check with no other discounts, the cap is 1,000 points. If these 75 points are the guest's entire balance, they can redeem 75 points = ₽75, leaving ₽1,925 to pay. Redeeming 1,000 requires a balance of at least 1,000. The alcohol exclusion affects earning; the redemption cap uses the full item subtotal, not just ₽1,500.
At the till: attach the guest's phone, check the loyalty balance and use Redeem points. If the maximum is lower than expected, check the balance, check amount and other discounts.
A stamp per cup or per visit#
Suppose two paid coffees cost ₽200 each, the minimum order amount is ₽300, and the earning rate is one stamp. With Each item from the list and the coffee category selected, the ₽400 order earns two stamps. With Each order, it earns one stamp, representing one qualifying visit. A single ₽200 coffee meets neither mode's minimum. Splitting into two such checks leaves both below the minimum.
This is not a “one visit a day” rule: two separate orders that each meet the minimum can earn stamps. Repeat purchases of the same item count too; item uniqueness is not checked.
Limitations#
No points for surveys, profile forms, subscriptions or sign-ins (points for package codes — see «Codes for points» above).
No reward catalog for points; bonus campaigns don't consider the payment method.
No separate operation to credit an old anonymous check without a phone number.
There is no weekly earning limit or limit per part of the day.
No points for an item new to the guest: “New items only” works for stamps.
Tiers and registration welcome points are not currently planned.
Location balances are not combined into a network balance.
An honest list, so you don't plan around things that don't exist:
- No manual balance adjustments, per-guest movement exports (the summary Points report with CSV is available), balance imports, discount or Wallet cards, enrolment form or guest friend invitations.
- points do not expire — there is no validity period;
- there are no tiers (bronze/silver/gold) — earning is the same for every member;
- there is no referral program. There is a separate tool — an affiliate program for site owners and bloggers (a commission on referred orders) — but it is not "invite a friend" for guests;
- there is no QR stamping at the table — a stamp is only given for a paid order.
Troubleshooting#
| Symptom | Cause | What to do |
|---|---|---|
| Balance is missing | No phone, program disabled or data did not load | Check location, phone, switches and connection; a dash is not a zero |
| Points cannot be redeemed | Balance/cap exceeded, or storefront guest is not signed in or paying online | Reduce the amount; sign in and choose online payment, or ask the cashier to redeem |
| A coffee earned no stamp | Category, minimum amount or order status does not qualify | Check rules and realised status; a reward item earns no stamp |
| Birthday offer is missing | No birthday, outside the window, chip disabled or gift already given | Check the card, rule and gift record in POS |
| No regular-guest suggestion | Too few completed orders or location is on cenaly.ru | Check the threshold; use stamps or points on cenaly.ru |
FAQ#
Can I enable only stamps or only points?#
Yes. The programs are enabled independently inside the shared engine: you can run stamps only, points only, or both.
Why doesn't the guest see their points?#
Check three things: the loyalty engine is on for this location, the points program is on, and the guest left a phone number with the order. Without a phone number (or a sign-in) there is nothing to attach the balance to.
Do points accrue on alcohol?#
Not if you added the alcohol category to the exclusions. By default there are no exclusions.
Can a guest redeem points when paying cash?#
Yes, but the cashier does it at the till. At online checkout redemption is available only for online payment.
Do points expire after 90 days?#
No. There is no expiry for points right now — they sit on the guest's account until spent.
Are points shared across all my locations?#
No. Each location has its own settings and guest balance. Matching templates help repeat the rules but do not combine accumulated points.
How can I discourage splitting a check?#
In Earning limits, set a limit on checks earning points per day: the guest's further checks that day (location time zone) earn no points. A minimum amount filters out small checks, especially with Each order stamps, but several checks above that amount still qualify. For coffee, counting each paid cup avoids increasing the reward merely by creating more checks.
Can guests earn points for their first registration?#
No. Welcome points are unavailable and not currently planned; registration itself earns nothing.
Can I offer double points during happy hours?#
Yes. Create a bonus campaign with a ×2 multiplier and set the days and hours. If you want to lower the price rather than add points, use a happy-hour discount.
Can I reward a guest for completing a survey?#
Yes, with a coupon on a form or quiz result screen in an engagement campaign. Answers do not earn points.
The guest forgot to give their phone number. Can I add points later?#
There is no separate “credit a previous check” operation. If the order remained anonymous and was not linked to a guest, there is no guest balance to credit. Ask for the phone before completing the order; manual balance adjustments are unavailable.
How do I exclude cigarettes when the rest of their category earns points?#
In Commerce → Loyalty → Points, open Excluded items, select cigarettes under Add an item… and save. Other items in the category continue earning points; the selected item does not.
Related sections#
- Returning guests — the guest directory, history, segments and debts
- POS — the loyalty panel and applying a reward
- Commerce — coupons, gift cards, memberships, affiliate program
- Engagement campaigns — pop-ups, wheel of fortune and coupon reveals on the storefront
- Reviews and reputation — collecting reviews and handling negatives
- Email newsletters — letters to guests