Operator guideENlimitsbettingform

Bet Limits / Form

Create workspace for bet-limit rules, including category fan-out, currency preview, player-tag targeting, and behavior flags.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this form does

This page creates bet-limit rules at /bet-limits/create.

Visible fields

  • Description (optional)
  • Games Categories
  • Priority
  • Currency for Preview
  • Amount From EUR
  • Amount To EUR
  • Include Tags
  • Exclude Tags
  • Apply only when player declined MWL
  • Active

Important behavior

One create submit can fan out into multiple saved rules

The create form allows multiple Games Categories. When operators submit several categories, the backend creates one user_limits row per selected category.

If no category is selected, the rule is created as a global rule.

Currency for Preview is helper-only

The currency dropdown inside the preview panel does not change the saved rule. It only recalculates the preview amount range shown below the EUR fields.

The FE uses marketingRatio when it exists, otherwise exchangeRate.

Tag logic is asymmetric

  • Include Tags: player must have all selected tags
  • Exclude Tags: player must not have any selected tag

Priority decides the winning rule

The helper text is literal: when multiple rules match the same player, the highest numeric priority wins.

Apply only when player declined MWL is a behavior gate

This switch is stored as mwlInactive. It narrows the rule to players whose Monthly Winning Limit is inactive or declined.

Save flow

Create posts to POST /api/admin/create-limit. The FE converts the selected category array into a comma-separated string before submit. CreateBetLimitService then creates one row per category or one global row when the category field is empty.

Verification status

  • status: verified_backend
  • FE create flow verified in BetLimitForm
  • backend create route verified in AdminController.createBetLimit -> CreateBetLimitService
Calculation notes

Calculations

calculation

Create fan-out by category

One create submit can create several backend rules.

Inputs
game_categories
Transform
The FE joins the selected categories into a comma-separated string, and `CreateBetLimitService` creates one `user_limits` record per category. When no category is selected, it creates one global rule.
calculation

Currency preview conversion

The preview helps operators reason about player-visible amounts without changing the stored EUR range.

Inputs
currency_preview, amount_from_eur, amount_to_eur
Transform
The FE multiplies EUR values by the selected currency `marketingRatio` when present, otherwise by `exchangeRate`, and shows the result as helper-only preview text.
calculation

Tag matching rules

The two tag fields are not interchangeable.

Inputs
include_tags, exclude_tags
Transform
`Include Tags` is an all-match condition, while `Exclude Tags` blocks the rule when any listed tag is present.
calculation

Priority winner

Operators can stack overlapping rules and still choose which one takes precedence.

Inputs
priority
Transform
Higher numeric `Priority` wins when more than one rule matches the same player.
Field dictionary

Fields

field

Description (optional)

Internal note saved with the rule and not shown to players.

Group
context
Data Type
string
field

Games Categories

Game categories to which the rule applies.

Group
scope
Data Type
multi-select
Caveats
On create, selecting multiple categories creates one backend rule per selected category., Leaving the field empty creates a global rule.
field

Priority

Higher numeric priority wins when more than one rule matches the same player.

Group
scope
Data Type
integer
field

Currency for Preview

Helper-only currency used to preview converted ranges without changing the saved EUR rule.

Group
helper
Data Type
enum
field

Amount From EUR

Lower bound of the allowed EUR range for the rule.

Group
thresholds
Data Type
number
field

Amount To EUR

Upper bound of the allowed EUR range for the rule.

Group
thresholds
Data Type
number
field

Converted Preview

FE-only preview of how the EUR range converts into the selected helper currency.

Group
helper
Data Type
amount-range
field

Include Tags

Player must have all selected tags for the rule to match.

Group
targeting
Data Type
string-list
field

Exclude Tags

Player must not have any selected tag for the rule to match.

Group
targeting
Data Type
string-list
field

Apply only when player declined MWL

Restricts the rule to players whose Monthly Winning Limit is inactive or declined.

Group
flags
Data Type
boolean
field

Active

Enables or disables the rule during limit resolution.

Group
flags
Data Type
boolean
Operational notes

Notes

item

The FE create surface uses one shared component for both create and edit mode.

item

`CreateBetLimitService` fans out one submitted payload into multiple `db.UserLimit` rows when `masterGameSubCategoryId` contains a comma-separated list of categories.

item

`Include Tags`, `Exclude Tags`, `priority`, and `mwlInactive` are persisted through the create service.

Related references

Related pages

pageBet Limits

Operator documentation for bet-limit inventory, create flow, and saved limit detail pages.

pageBet Limits / Detail

Saved bet-limit edit workspace for one rule, including locked category scope, targeting, and behavior flags.

pageBet Limits / List

Bet-limit inventory page for reviewing configured limits and opening saved records.

pageAffiliate Deals / Form

Create and edit form for affiliate deals, including PID, date window, commercial terms, and responsible person.

pageAffiliate Payment Settings / Form

Create and edit form for one affiliate payment-setting record, with visible PID targeting, minimum deposit threshold, and active-state control.

pageAuto Tags Manager / Create

Full rule-builder for a new automatic tagging rule, including tag actions, coupon actions, KPI field selection, and draft impact estimation.