Operator guideEN

Challenges / Permissions

Rule-management surface for challenge eligibility constraints, including tags, loyalty level, ranges, bonus participation, and game categories.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this surface does

This surface manages reusable challenge eligibility rules.

Operators use it to define constraints that can be reused by challenge-related operating flows:

  • player tags
  • loyalty level
  • multiplier range
  • minimum bet range
  • cash prize range
  • game category restrictions
  • bonus-participation allowance

How the page is organized

The page has two parts:

  • an inline form that appears when the operator creates or edits a rule
  • a rules table that lists existing rules

The form is not a separate page. New Rule opens an empty inline form above the table. The edit icon loads an existing row into the same inline form.

Visible table columns

The table shows:

  • ID
  • Min Loyalty (>=)
  • Bonus
  • Multiplier From
  • Multiplier To
  • MinBet From
  • MinBet To
  • Cash From
  • Cash To
  • Actions

How to use it

  • Create a rule when a challenge flow needs a reusable eligibility constraint.
  • Edit a rule when targeting, thresholds, bonus allowance, or game category constraints change.
  • Delete a rule only when it is no longer needed by the operating model.

Common caveats

  • These are rule records, not challenge instances.
  • A permissive rule can affect many future challenge flows, so edits should be reviewed carefully.
  • Allow Bonus Participation means bonus-funded participation stays eligible for this rule. Turning it off makes the rule stricter.
  • Loyalty Level is a minimum threshold. For example, selecting level 5 means level 5 and higher.
  • Empty ranges mean the rule does not set that specific threshold.
  • Deleting a row is immediate in the current interface; there is no confirmation modal on this page.
  • The table uses server pagination data, but the current page-change handler only refreshes the current data set. Treat pagination behavior as limited until the product UI extends it.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations6 topicsOpen details

List Pagination And Sorting

Logic
The frontend hook requests `page=1` and `limit=50` by default., The backend clamps page to at least `1` and limit to the range `1..200`., The backend returns rules ordered by `createdAt DESC`., The current DataGrid is configured for server pagination, but page-change handling only refreshes the current data set.

Create Defaults

Logic
Create payload building defaults missing `tagsInclude` and `tagsExclude` to empty arrays., Missing `loyaltyLevel`, `goalParameters`, ranges, and `gameCategories` default to null., Missing `allowBonusParticipation` defaults to false.

Update Defined Fields Only

Logic
Update payload building does not fill omitted fields with create defaults., The controller sets only payload keys whose value is not `undefined`., The current FE form submits all visible fields, but `goalParameters` is not visible and is not changed by the form.

Form Null Conversions

Logic
Empty loyalty selection becomes null., Empty range inputs become null in form state., `allowBonusParticipation` is always submitted as a boolean., Empty game category selection submits `gameCategories: null`., Non-empty game category selection submits `{ subCategoryIds: [...] }`.

Loyalty Avatar Preview

Logic
The form finds the selected loyalty-level catalog row by numeric level., If the selected level has an image path, the form renders it beside the selector., Relative image paths are displayed through the admin API URL helper.

Direct Delete Flow

Logic
The row delete icon immediately calls the delete hook with the selected rule ID., The page refreshes the rules table after the delete completes., The current page does not render a confirmation modal before deletion.
Fields11 topicsOpen details

Include tag

Tags that must be present for the rule to match.

Internal Name
tagsInclude
Data Type
string-array
Editable
true
Caveats
This field is visible in the inline form but not in the current table columns.

Exclude tag

Tags that disqualify the user when present.

Internal Name
tagsExclude
Data Type
string-array
Editable
true
Caveats
This field is visible in the inline form but not in the current table columns.

Loyalty Level

Minimum loyalty level required by the rule. Empty means any loyalty level.

Internal Name
loyaltyLevel
Data Type
integer
Editable
true
Helper Text
Minimum loyalty level (>= selected). Example: choose 5 to include 5, 6, ...
Caveats
The selector options come from the loyalty-level catalog., The adjacent avatar previews the selected loyalty level image when one exists.

Multiplier From / To

Allowed challenge multiplier range for the rule.

Internal Name
multiplierFrom|multiplierTo
Data Type
decimal-range
Editable
true
Caveats
Empty inputs are submitted as null values.

Min Bet From / To

Allowed minimum-bet range for the rule.

Internal Name
minBetFrom|minBetTo
Data Type
decimal-range
Editable
true
Caveats
Empty inputs are submitted as null values.

Allow Bonus Participation

Whether users participating with bonuses remain eligible under the rule.

Internal Name
allowBonusParticipation
Data Type
boolean
Editable
true
Default Value
false

Cash Prize From / To

Cash prize range used by the rule.

Internal Name
cashPrizeFrom|cashPrizeTo
Data Type
decimal-range
Editable
true
Caveats
Empty inputs are submitted as null values.

Game Categories

Allowed game subcategories for the rule.

Internal Name
gameCategories.subCategoryIds
Data Type
string-array
Editable
true
Caveats
Selector options come from the casino sub-category catalog., If no game categories are selected, the form submits null for game category restrictions.

Goal Parameters

Backend storage field reserved for additional goal configuration.

Internal Name
goalParameters
Data Type
json
Editable
false
Caveats
This field exists in the backend model but is not exposed by the current operator form.

Created At

Creation timestamp for the rule.

Internal Name
createdAt
Data Type
datetime
Editable
false
Caveats
The current table does not show this field, but backend list sorting uses it descending.

Updated At

Last update timestamp for the rule.

Internal Name
updatedAt
Data Type
datetime
Editable
false
Caveats
The current table does not show this field.
More help

Related pages

Activity Tag Rules

Operator documentation for activity-driven tag automation rules, including list, create, edit, detail inspection, and recent application history.

Activity Tag Rules / Create

Create flow for a new activity tag rule, including optional clone-from-existing behavior, transaction condition testing, and one-or-two-rule save behavior.

Activity Tag Rules / Detail

Rule inspection page with stored identity, conditions, timestamps, impact estimate, run action, delete action, and recent application history.

Activity Tag Rules / Edit

Edit flow for one stored rule or an existing grouped add/remove pair, including grouped form rebuild, condition testing, and update-only save behavior.

Activity Tag Rules / List

Main inventory for activity-driven tag rules, with search, activity and status filters, grouped rows, clone, edit, and run actions.

Auto Tags Manager

Operator documentation for automatic tag rules, including list monitoring, create or edit, queued job control, and manual rule ordering.