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 source 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 by the page from the returned session rows, while the session grouping itself comes from the source. Because the table is paginated, the summary reduces only the currently returned page of session rows, not the full result set behind the pagination count. The table also skips rendering rows whose start and end timestamps are identical, so the summary chip or pagination count can include a returned row that is not visible in the table.
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
Currency and EUR helper values
Money cells show the row currency first. When the row currency is not EUR, the page shows a second EUR helper value returned by the source. The source does not use a current FX rate here; it divides the stored original amount by the stored transaction conversion_rate when that rate is positive and rounds to 2 decimals. If the rate is zero or missing, the EUR helper value is 0.
This applies to wagered, won, deposited, withdrawn, and balance helper values. Net Result EUR subtracts source totalWageredEUR from totalWonEUR.
Known caveats
- The summary cards are page reductions over the returned rows, so changing the pagination or filters changes the summary.
- Rows whose start and end timestamps are identical are returned by the source but skipped by table rendering; summary and pagination can still include them.
Net Resultis shown asTotal Won - Total Wageredin the page summary layer.Avg. Session Durationis calculated by the page from(sessionEndTime - sessionStartTime)over the returned rows only.- Export uses the same report source with
csvDownload=true. - Export does not send the current table page or limit. The source falls back to
pageNo=1andlimit=25, so the CSV represents the first source page for the selected player/date range, not necessarily the currently mounted table page. - 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 source exposes a session-details route, but the current page 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 source currently maps termination to
LOGOUTorTIMEOUT; 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. - The
Last updatedlabel in the table header is browser render time, not a source-generated report timestamp.