Rewards configuration
The rewards configuration holds the global settings for your program. There is one configuration per tenant.| Field | Type | Description |
|---|---|---|
points_per_tzs | number | How many points a customer earns per Tanzanian Shilling spent |
redemption_points | number | The number of points required to redeem a coupon |
redemption_value_tzs | number | The value in TZS that redemption_points converts to |
referral_bonus_points | number | Points awarded to the referrer when a referral is completed |
is_active | boolean | Enables or disables the entire rewards program |
Configuring the rewards program
Set your earn rate
Enter a value for Points per TZS. For example, a value of
1 means a customer earns 1 point for every 1 TZS spent.Define redemption thresholds
Set Redemption points (the minimum balance needed to redeem) and Redemption value (TZS) (what those points are worth at checkout).
Set the referral bonus
Enter the number of points to award a referrer when their referee completes a qualifying action. This value populates
referral_bonus_points.Reward types
Every points transaction is classified by type. There are four reward types:purchase
Points earned when a customer completes a purchase. The amount is calculated using
points_per_tzs multiplied by the order value.referral
Points awarded to the referrer when a referred customer completes a qualifying action, as defined by
referral_bonus_points.redemption
A debit entry recorded when a customer redeems points for a coupon code at checkout.
bonus
Discretionary points granted outside of purchases and referrals, such as promotional campaigns or manual adjustments.
Reward history and balances
Each customer has a rewards balance that tracks their current points alongside their full transaction history.Balance fields
| Field | Description |
|---|---|
userId | The customer this balance belongs to |
balance | Current redeemable points balance |
history | Array of transaction history entries |
History entry fields
Each entry in the history represents a single points event:| Field | Description |
|---|---|
type | One of purchase, redemption, referral, or bonus |
points | Points added (positive) or deducted (negative for redemptions) |
orderId | Associated order, if applicable |
description | Human-readable description of the transaction |
date | Timestamp of the event |
Referral program
The referral program rewards customers for bringing new users to your marketplace. Each referral record links a referrer to a referee through a unique code.| Field | Description |
|---|---|
code | The unique referral code shared by the referrer |
referrerId | User ID of the customer who shared the code |
refereeId | User ID of the customer who used the code |
status | pending until the referee qualifies, then completed |
pointsCredited | true once the referral_bonus_points have been added to the referrer’s balance |
createdAt | When the referral was initiated |
completedAt | When the referral reached completed status |
Referral statistics
The referral statistics section gives you a program-level view of referral activity:| Field | Description |
|---|---|
totalReferrals | Total referral records across all statuses |
pendingReferrals | Referrals awaiting completion |
completedReferrals | Successfully completed referrals |
totalBonusPoints | Cumulative referral bonus points awarded |
topReferrers | Ranked list of customers by referrals and points earned |
userId, userName, referralsCount, and pointsEarned, making it easy to identify your most active advocates.
Redemptions
When a customer redeems points, Meneja generates a coupon code and records the redemption.| Field | Description |
|---|---|
userId | The customer who redeemed |
points | Points deducted from the customer’s balance |
value | Monetary value of the redemption in TZS |
couponCode | The generated coupon code the customer applies at checkout |
status | active (unused), used, or expired |
createdAt | When the redemption was initiated |
usedAt | When the coupon was applied to an order |
orderId | The order the coupon was applied to, if used |
What happens when a coupon expires?
What happens when a coupon expires?
A redemption record moves to
expired status when the coupon code has not been used within its validity window. The deducted points are not automatically refunded — you must issue a manual bonus adjustment if you wish to return them.Can I view a single customer's point history?
Can I view a single customer's point history?
Yes. Use the Rewards section to look up a customer by their user ID and view their full
RewardBalance, including the complete history array with all point events sorted by date.How do I grant bonus points manually?
How do I grant bonus points manually?
Create a
RewardHistory entry with type: 'bonus', the relevant points value, and a description explaining the reason. This increments the customer’s balance immediately.