Loyalty Program
The loyalty program defines the rules for automatically awarding points to a customer when paying through the POS application. The process works like this: the cashier rings up the receipt → scans the customer's QR code → the system selects a suitable program and awards points.
The /loyalty_program page displays a list of all created programs. From here, you can create a new program, or edit or disable an existing one.
Plan Limits
The number of active loyalty programs is limited by your subscription plan. Check the conditions in the Subscription and Plans section or on the Favy website.
Priority System
If you have multiple loyalty programs, for each transaction, the system iterates through them from highest priority to lowest and applies the first matching one. The remaining programs are not checked.
Example
Programs with priorities 10, 5, and 1. A customer places an order - the system first checks the program with priority 10. If all its conditions are met, it is applied, and the search stops. If not, priority 5 is checked, and so on.
This allows you to build flexible logic: for example, VIP customers or holiday promotions get high priority and "intercept" the standard program.
Create a Program
Click "Add Program". The form consists of three blocks.
Basic Parameters
| Field | Required | Description |
|---|---|---|
| Program Name | ✓ | Internal name for reference, e.g., "5% Bonus Program" |
| Status | ✓ | Draft - saved but not applied; Enabled - active and participating in selection; Paused - temporarily disabled without losing settings; Archived - permanently removed from service |
| Priority | ✓ | A number: the higher it is, the earlier it's checked. Default is 0 |
| Target Groups | - | Limit the program to specific customer segments. If none are selected, it applies to everyone |
| Point Lifespan (days) | - | How many days awarded points last before expiring. Leave blank for indefinite points |
Rule Configuration
Scope - what the program applies to. Default: Entire Order.
Earning Conditions
Determines the circumstances under which the program applies to a transaction at all.
| Field | Description |
|---|---|
| Min. Order Amount | The program will not trigger if the receipt total is below this value. 0 means no floor limit |
| Max. Order Amount | The program will not trigger if the receipt total is above this value. Empty means no ceiling limit |
| Days of the Week | Check the days the program is active. If no days are selected, it works every day |
| Time Window | A time range in HH:MM format during which the program applies. Time is based on the company's time zone from the profile settings |
Point Calculation
| Field | Description |
|---|---|
| Mode | Calculation method: Percentage of amount - customer receives the specified percentage of the receipt total in points; Fixed amount - customer receives a fixed number of points for any suitable order |
| Value | Numeric value for the chosen mode, e.g., 5 with "Percentage of amount" means 5% |
| Rounding | How to round fractional points: Down (floor), Up (ceil), or Mathematical (round) |
| Max. per Order | Limit on points per single transaction. Empty means no limit |
Click "Create Program" to save.
"Draft" Status
A new program is created in the "Draft" status and is not applied during transactions. Switch it to "Enabled" once the settings have been verified.
Edit and Disable a Program
Click on a program in the list to open the same form. To manage the program's lifecycle, use statuses: "Paused" if you need to stop temporarily, or "Archived" if the program is no longer needed.
Related Sections
- Customer Segments - creating target groups to limit the program: Segmentation
- Points of Sale - programs are applied through the POS: Point of Sale Management
- Company Profile - the time zone for the time window: Profile
