Loyalty bonus system for OkayCMS
BonusSystem is a loyalty rewards module for OkayCMS. It supports bonus accrual, activation, redemption, refund, expiration, and cancellation with direct links to specific orders and products.
The core principle is that bonuses are not stored as a single balance value. They are stored as separate bonus lots. Each lot is linked to an order, product, activation date, and expiration date. This provides accurate expiration control, redemption order, refunds, and cancellation handling.
Main features
- percentage-based or fixed bonus accrual;
- rules for all products, categories, brands, or individual products;
- exclusion of selected products from a rule;
- rule priorities;
- when priorities are equal, the following order is used: individual product → brand → category → all products;
- minimum product price;
- maximum bonus amount;
- accrual for each product unit;
- delayed activation after order completion;
- configurable expiration period after activation;
- rule start and end dates;
- manual enabling and disabling of rules;
- separate accounting for accruals, redemptions, refunds, and expirations;
- support for cancelled orders;
- bonus restoration when required by order changes;
- complete bonus operation log.
Automatic customer registration
During checkout, a guest can enable the “I want to collect bonuses” option.
The module:
- creates a customer account after checkout;
- uses the phone number as the primary customer identifier;
- does not require Email;
- searches for an existing customer by phone number;
- links a new order to an existing customer;
- creates a bonus account;
- supports both standard and quick checkout.
When Email is empty, the module can create an internal technical Email required for compatibility with the standard OkayCMS user structure. This technical Email is not used for sending messages.
Storefront integration
The module can display:
- bonus amount on the product page;
- bonus amount in product lists;
- bonuses in the popup cart;
- bonuses in the main cart;
- estimated bonuses for the current order;
- available customer balance;
- bonus redemption form;
- discount created by redeemed bonuses;
- bonus balance in the site header;
- a dedicated bonus page in the customer account;
- accrual, redemption, and expiration history.
Compact template output:
{bonus_product product=$product compact=1}
Full product-page block:
{bonus_product product=$product}
Bonus redemption
Customers can redeem available bonuses during checkout.
The module controls:
- available balance;
- maximum redeemable amount;
- duplicate redemption prevention;
- restoration of redeemed bonuses;
- relation between redemption and order;
- correct order total recalculation.
Administration
The module includes the following tabs:
- Overview;
- Accruals;
- Products;
- Redemptions;
- Customers;
- Operations;
- Expiration;
- Notifications;
- Settings;
- Info.
Administration features include:
- rule creation and editing;
- hierarchical category selection;
- brand and product selection;
- customer bonus account overview;
- bonus lot management;
- complete operation history;
- activation and expiration control;
- text, icon, and label settings;
- automatic registration diagnostics;
- error and service event logging.
Bonus lifecycle
- The module calculates bonuses after checkout.
- Bonuses are created as separate lots.
- Before the configured delay ends, they remain pending.
- After activation, bonuses become available for redemption.
- The oldest available lots are redeemed first.
- Unused bonuses expire after their expiration date.
- Related operations are adjusted when an order is cancelled or changed.
Advantages
- accurate accounting for each bonus lot;
- correct expiration handling;
- direct relation to orders and products;
- phone-based customer registration;
- Email can remain optional;
- compatibility with standard and quick checkout;
- clear customer-facing interface;
- detailed administrative history.
-
New Partner OkayCMS
-
Support is provided by a partner
-
Changes are required to the template
Recommend
XML PRO automates product catalog loading and recurring updates from supplier XML feeds.