Operator guideENbonus-maplistbonusesloyalty

Bonus Map / List

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

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 page does

This page lists every Bonus Map campaign in a paginated grid and is the entry point for creating, editing, and deleting maps.

What operators can do here

  • switch between the All and Active tabs
  • page through maps and change the page size
  • open a map for editing by clicking its name or the edit icon
  • create a new map with the Create Bonus Map button
  • delete a map after confirming in a dialog

How to read each row

  • ID is the map's numeric id
  • Internal Key is the unique key used to reference the map
  • Name is the map name, shown as Untitled Bonus Map when blank
  • Status is a derived lifecycle label (see Known caveats)
  • Period shows the start and end dates and the expected number of days
  • Days shows generated days against the expected count, green when complete and amber when not
  • MKT shows the marketing tracking tag when one is set

Why operators open this screen

  • review the state of every campaign at a glance
  • find and open a draft to keep working on it
  • confirm a map's days have been generated for its full period
  • remove an unwanted or test map

Known caveats

  • The Status label is computed in the page, not stored. A draft always shows DRAFT. A published map shows INACTIVE when its entity status is inactive, SCHEDULED before its start date, FINISHED after its end date, and LIVE while inside its period.
  • The Active tab asks the backend for maps that are either active or still unpublished, so drafts also appear under Active.
  • The Days chip compares generated day rows to the expected count from the period. Amber means days are missing or not generated yet; the tooltip shows when days were last generated.
  • Delete is permanent. It also removes the map's generated day rows and archives any bonuses that were generated from them. The confirm dialog warns that the action cannot be undone.
  • The create button, edit icon, and delete icon only appear when the operator holds the matching create, update, or delete permission on BonusMap.

Verification status

  • status: verified_backend
  • FE flow checked from bonus-map/index.tsx, the table columns helper, and the list utilities
  • backend list and delete paths traced to gs-admin-backend bonus-map services
Field dictionary

Fields

field

ID

Numeric identifier of the Bonus Map.

Data Type
integer
Editable
false
field

Internal Key

Unique key used to reference the map; shows a dash when blank.

Data Type
string
Editable
false
field

Name

Map name shown as a link that opens the editor; shows Untitled Bonus Map when blank.

Data Type
string
Editable
false
field

Status

Derived lifecycle label: DRAFT, INACTIVE, SCHEDULED, LIVE, or FINISHED.

Data Type
status-chip
Editable
false
field

Period

Start and end dates with the expected number of days; shows a dash when either date is missing.

Data Type
string
Editable
false
field

Days

Generated day rows against the expected count; green when complete, amber when missing, with a tooltip for when days were generated.

Data Type
progress-chip
Editable
false
field

MKT

Marketing tracking tag chip; shows a dash when none is set.

Data Type
string
Editable
false
field

Status tab

All or Active filter tab; Active requests maps that are active or still unpublished.

Data Type
enum
Editable
true
Operational notes

Notes

item

The list route pages BonusMap rows ordered by createdAt descending, with limit clamped server-side to 1-200, and joins a per-map generated-day count.

item

The Active tab maps to status=active, which the service widens to status active OR not yet published, so drafts also appear.

item

The list DTO sets status to not_finished for unpublished maps; the FE then derives the visible DRAFT/SCHEDULED/LIVE/FINISHED/INACTIVE label.

item

Delete runs in a transaction: it archives generated bonuses, deletes the map's day rows, then deletes the map row.

item

Routes require authentication only; the BonusMap permission gate is enforced in the FE, not by route middleware.

item

No nx-workspace core dependency is involved in the list or delete paths.

Related references

Related pages

pageBonus Map

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

pageBonus Map / Form

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

pageActivity Tag Rules / List

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

pageAffiliate Deals / List

Searchable table of affiliate deal rows with PID filter, create action, dashboard shortcut, and edit/delete row actions.

pageAffiliate Payment Settings / List

Affiliate payment settings inventory page for reviewing configured rows and opening saved records.

pageAffiliate Settings / List

Affiliate inventory list used to review saved affiliates and open detail or report flows.