Operator guideENbonus-mapbonusesloyaltyretention

Bonus Map

Operator guide for building retention Bonus Map campaigns, a draft-first calendar of daily prizes that players claim across a fixed period.

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 module is for

Use Bonus Map to build a retention campaign that gives players a daily prize across a fixed period. Each map covers a start-to-end date range, and the system later turns that range into one row per day. Players work through the days like a calendar and claim each day's prize.

A Bonus Map is built draft-first. Creating a map only saves a draft. Operators then keep editing the same draft, generate the day rows, and finally publish it before players can see it.

This is a standalone, top-level module. It lives on its own route and is not part of the Bonuses module, even though it produces bonuses behind the scenes.

Included units

  • List: the grid of all Bonus Maps with status, period, generated-day progress, and delete
  • Form: the shared create-and-edit form where operators name the map, set its keys, translations, and period

When operators usually open this module

  • start a new daily-prize campaign
  • check which maps are live, scheduled, finished, or still draft
  • continue editing a draft map that was started earlier
  • remove a map that is no longer needed

Common confusion

  • Creating a map does not publish it. A new map is always a draft and stays hidden from players until it is published.
  • The shared form only captures the basics (name, key, translations, period). Visuals, render layout, day generation, translations, and publishing are extra steps on the edit screen and are documented separately.
  • The status shown in the list is worked out from the publish flag and the period dates, not stored as a single field. A draft always reads DRAFT regardless of its dates.
  • The internal key must be unique. Reusing a key that already exists is rejected when saving.

Verification status

  • status: verified_backend
  • FE source: nx-admin-fe-workspace backoffice bonus-map pages
  • backend source: gs-admin-backend bonus-map services and controller
  • no nx-workspace core dependency is involved in the list, create, update, or delete paths
Related references

Related pages

pageBonus Map / Form

Shared create-and-edit form that captures a Bonus Map name, unique key, title and button translations, and the campaign period.

pageBonus Map / List

Grid of all Bonus Map campaigns with derived lifecycle status, period, generated-day progress, and create, edit, and delete controls.

pageBonus Triggers

Operator documentation for the bonus trigger configuration screen used to maintain trigger names, coupon-code mappings, expiry minutes, and comments.

pageBonuses

Operator documentation for bonus catalog management, bonus editing, and player-issued bonus follow-up.

pageBonuses / Create And Edit

Create and edit workspace for reusable bonus definitions, including targeting, per-currency reward settings, and linked promotional content.

pageBonuses / List

Main working catalog for bonus definitions with search, archive mode, type filters, group filters, and row actions.