Page body
What this page shows
Player Session Report shows one row per detected session for the selected player and period. It combines gaming and banking activity into one session-oriented view and surfaces row-level balances, timing, location, and termination context.
When to use it
Use this tab when you need to understand:
- how often the player sessions
- how much the player wagered, won, deposited, and withdrew in a session
- how balances changed across one session
- which sessions ended by logout or timeout in the currently traced backend flow
- where the best available recent player location was resolved
How to read it
The page has two layers:
- Summary layer with a total-sessions chip plus cards for total wagered, total won, net result, and average session duration.
- Session table with one row per session, including player id, session timing, duration, location, monetary totals, balance change, and termination.
The summary is computed in the FE from the returned session rows, while the session grouping itself comes from the backend. Because the table is paginated, the visible summary reduces only the currently returned page of session rows, not the full result set behind the pagination count.
Why this page is different from a simple activity log
This page does not list individual events. It groups records into sessions using session_date and merges activity from:
user_activitiestransaction_bankingscasino_system.casino_transactionsuser_bonus
Known caveats
- The summary cards are FE reductions over the returned rows, so changing the pagination or filters changes the visible summary.
Net Resultis shown asTotal Won - Total Wageredin the FE summary layer.Avg. Session Durationis calculated in the FE from(sessionEndTime - sessionStartTime)over the visible rows only.- Export uses the same backend route with
csvDownload=true. - CSV export adds derived fields such as
sessionDurationMinutes,balanceChange,balanceChangeEUR,netResult, andnetResultEUReven though those helper values are not separate columns in the mounted table. - The backend exposes a session-details route, but the current FE does not render a details panel from it.
- Geolocation can fall back to the latest known user activity with an IP when the selected session itself has no mapped IP.
- The traced backend currently maps termination to
LOGOUTorTIMEOUT; FE labels forMANUALandSYSTEMare present but not emitted by the traced controller path. - Starting and ending balances come only from
transaction_bankingsrows attached to the session, so sessions without traced banking rows can fall back to0or to the first detected banking balance.
Verification status
- status:
verified_backend - last verified:
2026-04-22 - note: FE summary/table behavior and
SessionReportControllersession-grouping SQL are traced; summary cards remain FE-derived over backend rows.