Player Enrollments¶
An Enrollment is the record that links a specific player to a Reward. Without an enrollment, a player cannot access their free bets.
Enrollment Lifecycle¶
When a player is enrolled, their status changes based on their interaction with the reward.
| Status | Description |
|---|---|
| New | The enrollment exists but the reward's start date hasn't been reached yet. |
| Active | The start date has passed and the player can use their free bets. |
| Claimed | All bets in the reward package have been used. |
| Expired | The time window for using the reward has passed. |
| Cancelled | The enrollment was manually stopped by an operator. |
stateDiagram-v2
[*] --> New
New --> Active: Start Date Reached
Active --> Claimed: All Bets Used
Active --> Expired: Time Ran Out
New --> Cancelled: Manual Action
Active --> Cancelled: Manual Action
Claimed --> [*]
Expired --> [*]
Cancelled --> [*]
How to Enroll Players¶
Manual Enrollment¶
Used for one-off gestures, such as rewarding a player for a customer service issue. You select a single player and assign them a reward.
Bulk Enrollment¶
Used for large marketing lists. You upload a list of player IDs to the backoffice.
CSV Enrollment with Overrides¶
When using Ranged Free Bets, you can provide specific values for each player in your list.
CSV Format Example:
OperatorPlayerId,BetValue,BetCount
player_001,2.50,10
player_002,5.00,5
player_003,1.00,20
Validation Rules:
- BetValue: must be between the Reward's Min and Max Bet Value.
- BetCount: must be between the Reward's Min and Max Bet Count.
- If you use a Fixed Free Bet reward, you only need to provide the
OperatorPlayerId.
Bulk Job Lifecycle¶
When you upload a bulk enrollment list, it is processed in the background as a "Job".
- Pending: The job is waiting to start.
- Processing: The system is validating each player and checking budgets.
- Completed: The job is finished. You will see a summary of successful enrollments and any rejections.
- Failed: The job encountered a system error (rare).
Partial Success
If a job has 100 players and 5 fail (e.g., due to budget limits), the remaining 95 players will still be enrolled successfully. The job status will be Completed, and you can download a report of the specific players who were rejected.
Duplicate Uploads
If you upload the same CSV file again, the system will detect this and ask for confirmation before proceeding. If you choose to continue, any players who were already successfully enrolled will receive duplicate enrollments. Always check the results of your previous upload before re-submitting.
Trigger Idempotency
Unlike manual bulk uploads, enrollments created by Triggers are fully idempotent — a trigger will never enroll the same player into the same reward twice.