What this page shows
Players / Detail Workspace is the main operator screen for one player. It combines identity and wallet context, operational tabs, report tabs, and a high-action header with player-specific workflows.
This page is the shell that owns the player workspace. Most player-facing CRUD and inspection surfaces are mounted inside this route rather than living on separate create/edit pages.
When to use it
Use this page when you need to:
- inspect a single player in depth
- change player-related state through modal actions
- move between operational tabs such as Wallet, Banking, KYC, Fraud, or Activity Log
- open player-scoped reports such as KPI Summary, Game Report, and Session Report
- export one tab as CSV or package several supported tabs into one ZIP
How to read it
The page has two important layers:
- Action bar at the top with operator workflows such as comments, inbox, bonuses, wallet actions, tags, loyalty points, audit history, and force logout.
- Tabbed workspace where each tab focuses on one domain of player data.
The title combines the player's name, if present, with the internal userId.
The shell remembers two things while the operator stays on the player workspace:
- which tab is currently visible
- which heavy tabs were already opened once and should stay available during the same session
This means some heavy tabs are lazy-mounted on first access and then stay available without a full remount during later tab switches.
Main tabs
OverviewWalletGamingBankingKYC statusGame reportNGR TimelineBonusesChallengesTournamentsAvailable CouponsAvailable BonusesKPI summaryFraud DetectionCommentsInboxActivity LogAPICalendarReferral StatsOnboardingFavorite BonusesChat MessagesSession ReportRoad Map
High-value actions
Add CommentsSend To InboxAdd CouponAdd Bonus ManuallyAdd Rakeback ManuallyManage walletAdd AdjustmentTagsAdd Loyalty PointsExportAudit HistoryForce Logout
Export player data
Export is available only when System Settings -> Player Profile -> Player Profile Export Enabled is on. The setting defaults to off. When it is off, both the header Export button and per-tab Export buttons are hidden; the backend endpoint also rejects direct export requests.
There are two export paths:
- Use a tab's own
Exportbutton to download that tab as one CSV. This path sends only the date range and filters supported by that tab. - Use the header
Exportbutton, immediately beforeAudit History, to choose one or more tabs. One selected tab downloads as CSV. Multiple selected tabs download as a ZIP with one successful CSV per tab plusexport_manifest.csv.
When the player page first mounts, the dialog state starts with all 20 supported tabs selected. Select all tabs selects or clears the complete set. Date controls appear only while at least one period-based tab is selected, defaulting to 2021-01-01 through the current UTC date. Closing and reopening the dialog on the same mounted player page preserves the current selection and dates instead of resetting them.
Snapshot tabs ignore dates: Overview, Wallet, KYC Status, Available Coupons, Favorite Bonuses, Bonuses, Challenges, Tournaments, KPI Summary, Inbox, Calendar, Referral Stats, and Chat Messages.
Period tabs use the selected range: Gaming, Banking, Fraud Detection, Comments, Activity Log, Game Report, and NGR Timeline. The Gaming per-tab export can use an exact casino transaction ID without a date range.
The export is read-only and does not change player data. The backend attempts a content-free audit record with identifiers, selected tabs, period, status, duration, row counts, and safe error codes; CSV contents and player values are not copied into that audit record. If one tab fails inside a multi-tab request, the ZIP can still download: the failed tab has no CSV and is marked failed in the manifest.
Known caveats
- This workspace acts as the real edit surface for players. There is no separately verified
/players/createor/players/editroute. - Some tabs are lazily mounted. Operators may see initial loading when opening a tab for the first time in a session.
- Report-like tabs such as
KPI summary,Game report, andSession Reportare documented separately because they are data-heavy surfaces. - The
Challengestab is documented asPlayers / Challengesbecause it is a backend-backed relation table for won challenges, not a generic challenge catalog. - The
Tournamentstab is documented asPlayers / Tournamentsbecause it is a backend-backed relation table for player tournament result rows, not the tournament configuration catalog. - The current tab is mirrored in the URL query string as
?tab=<label>, which means copied URLs can deep-link into a specific tab. - The tab label
Commentsis not the same thing as the standalone/players/activity-logpage. Inside the workspace it shows the comments-only activity timeline and the tab label also carries the current comment count. - The tab label
Activity Logshows the broader activity history for one player instead of the comments-only timeline. - Several action-bar buttons do not navigate away. They open always-mounted modal components that depend on the currently loaded player context and wallet state.
- Player Profile Export requires the route-level Transactions permission. The backend can additionally reject individual tabs according to their loaded read-permission arrays; rejected tabs appear as
FORBIDDENin a multi-tab manifest. - The header Export dialog uses one shared date range and does not inherit filters from the currently open tab. Use the per-tab Export button when current tab filters must be preserved.
- The frontend visibility gate is the shared System Setting, not a build-time frontend environment variable. The backend deployment fallback does not make hidden frontend controls appear.
Add Rakeback Manuallyonly shows eligible instant-cashback bonuses where Auto Payout is enabled, so bonus configuration directly affects what the operator can select there.Force Logoutis not just a local CRM UI action. It asks the backend to force the selected user session out through the configured user-service integration and records the result as player activity.