What this page does
This is the shared wizard used both to create a new Bonus Map and to edit an existing one. The create screen can only save the first step and create the saved draft. The edit screen then unlocks the full wizard.
The wizard has six steps:
General Draft Creation: name, key, source text, claim URLs, and period datesDay Visual Settings: desktop/mobile backgrounds, island images, connection styling, and past-day stylingRender Settings: desktop layout and mobile vertical/swipe layout numbersTracking: the optionalMKTvalue shown in the listBonus Configuration: prize-type weights, EUR range rules, free-spins categories, source CMS copy, and JSON generation editorGenerate Days & Review: day generation, generated reward cards, card translation, period confirmation, fallback confirmation, and publish
What operators capture here
Bonus Map name: the campaign nameInternal key: a unique key for the map- title, subtitle, and claim-button text translations per language
Claim URL (logged-in)andClaim URL (guest), when the claim CTA should route different player states differentlyPeriod start dateandPeriod end date- visual assets for desktop, mobile, past/current/future islands, and custom connection graphics
- render/layout numbers for desktop and mobile map drawing
MKTmarketing tracking value- bonus generation settings: prize weights, ranges, free-spins game categories, and source CMS content
- generated-day state, period card readiness, confirmation state, and publish state
How create and edit differ
- On create, saving the first step builds a saved draft and then sends the operator straight to the edit screen for that new map.
- On edit, each wizard step saves a partial patch to the same Bonus Map row.
- A saved draft is not a completed launch. It becomes publishable only after days are generated and every generation period is confirmed.
- After generated days exist, the period fields are locked on the page and the save flow rejects period changes.
- Bonus Configuration is locked after publish and after generated days exist. The save flow rejects
bonusConfigchanges in those states. - The Generate step creates day rows first, then generates/resumes linked bonuses for claimable days. Bonus generation can partially fail and is retryable.
- The Confirm period action activates generated bonuses and enables linked promo pages for the confirmed period. Publish only marks the Bonus Map published after all generated periods are confirmed.
How prize weights work
- A missing configuration starts at
33% Deposit Match,33% FS for Deposit, and34% Match + FS. - The three weights must total
100%before the configuration can be saved. - A weight of
0%disables that prize type. It is removed from random selection and its type-specific generation fields are no longer required. - Positive weights are probabilities, not quotas. A
50%weight does not guarantee that exactly half of a short period will use that prize.
How reward amounts are generated
- Configured money ranges are EUR baselines.
- Each generated value is selected from its configured minimum/maximum range.
- Minimum deposit rounds upward to a whole unit.
- Maximum deposit, maximum bonus, and fixed maximum win round downward to a whole unit.
- Other generated numeric currency fields round to two decimals.
Maximum Deposit = Maximum Bonus Amount / (Bonus Percent / 100).Fixed Maximum Win = Maximum Deposit * Maximum-Win Deposit Multiplier.- Active non-EUR currencies are expanded using their current marketing ratio when generation runs. A missing, invalid, zero, or negative ratio falls back to
1. - This marketing ratio is configuration scaling, not an accounting FX rate. Already-generated bonuses are not proven to update automatically when the ratio changes later.
How to read Generate Days & Review
- The summary chips show loaded day count, generated-period count, and draft/published state.
- Each period shows total, successful, failed, processing, and pending day counts.
- Card chips count ready, failed, and source-fallback deposit/free-spins content legs.
Retry periodappears when failures exist;Generate period bonusesappears when the period still has pending days.- The generated-day table shows
Date,Period,Confirmed,Prize type,Promotion Title, deposit bonus/content, free-spins bonus/content, generationStatus, andGeneration error. - Use the period tabs to select a monthly window and the locale tabs to preview promotion titles in another language.
source fallbackmeans the source-language title is being shown because the selected locale has no usable title.preview warningmeans the title still contains unresolved template content or another rendering warning.- A retry can remain partial. Review the status and error for every day before translating or confirming the period.
- The live map preview is an operator aid; it does not prove that the player-facing placement has been published or is visible.
Confirmation and publish
Translate cardsprepares the configured languages for generated promotion cards and pages.- Normal confirmation requires all generated days to succeed and their required content to be ready.
Confirm with source fallbackaccepts source-language content for missing or failed translations; it is not a translation retry.- Confirming a period activates that period's generated bonuses and enables its linked promo pages.
- Publishing is a separate final state change for the Bonus Map after every generated period is confirmed.
- After both steps, verify the intended player-facing placement and campaign dates in the target environment.
Why operators open this screen
- start a new daily-prize campaign
- rename a map or fix its translations
- adjust the campaign period before days are generated
- tune the player-facing map look and mobile behavior
- configure which reward types can be generated and their EUR baseline ranges
- prepare and translate generated reward cards before confirming a period
- publish a fully generated and confirmed map
Known caveats
- A new map is created as a draft. Do not treat it as launched until all periods are confirmed, the map is published, and the intended player-facing placement has been checked.
Bonus Map name,Internal key, at least one title translation, and valid period dates are required. Saving with a duplicate key or invalid period is rejected with an error.- Period dates are date-only and inclusive. Source validation rejects invalid dates, start-after-end periods, and periods longer than 366 days.
- The Bonus Configuration content tab writes source copy under the platform's primary content language. If that language cannot be resolved during generation, generation falls back to
en. - Enabled prize types require source-language
Promotion Title; the other card/page content fields are optional. This title is card/page copy and is separate from the generated bonus record's own title. - Money values in Bonus Configuration are EUR baselines. Generation expands them to active currencies when generated bonuses are created.
- Card translation requires the platform translation service. If translation fails, operators can retry Translate cards or explicitly confirm with source fallback.
- JSON mode edits generation settings only. Content, visuals, and period are not part of that JSON editor.
- Editing requires
BonusMapupdate permission and creating requiresBonusMapcreate permission; without it the page shows a no-permission notice.