Operator guideEN

Players / Inbox

Inbox tab inside the player workspace for reviewing delivered notifications, filtering by read state or notification type, and resending or soft-deleting message deliveries.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this tab shows

Players / Inbox is the message-history tab for one player. It lets operators review delivered notifications, inspect the player-facing message body, resend a selected message, and soft-delete one or more delivered rows without leaving the workspace.

When to use it

Use this tab when you need to:

  • confirm whether a player received a notification
  • review unread vs read inbox state
  • search sent messages by title or content
  • resend or delete inbox records

How to read it

The tab is built around a split view:

  • message list on the left
  • message preview on the right

On mobile, the FE switches between a list view and a preview view instead of keeping both panes visible at once.

Operators can narrow the list with read-state filters, notification-type filters, and a text search field. Search matches the message title and the rendered English content.

The preview pane shows:

  • title
  • sender identity (customFrom, admin creator name, or System)
  • notification type
  • priority
  • delivered timestamp
  • optional read timestamp
  • optional image/avatar
  • rendered message content

Actions and state

Selecting a message opens the preview pane. On mobile, the tab switches from list mode to preview mode and shows a back button to return to the list.

Resend message creates a new notification delivery for the same player using the selected message title, content, type, priority, sender name, and image. It does not edit or reactivate the old inbox row.

Delete opens a confirmation dialog. Despite the dialog wording, the stored behavior is a soft-delete for the player delivery row. The row can still appear in this tab because the tab intentionally loads history including deleted rows, and deleted rows show a Deleted badge.

Checkbox selection controls bulk delete. If one or more list rows are checked, the delete action targets those checked rows. If nothing is checked but a preview is selected, the delete action targets the selected preview row.

Known caveats

  • This tab shows inbox records and notification history. It is not the same thing as the Send To Inbox modal, which is the mutation flow for creating a new player message.
  • All, Unread, and Read filters change the inbox result set, while System, Personal, and Broadcast filters change the notification source type.
  • Search is local to the currently loaded page of messages; it does not ask the backend to search the full notification history.
  • The notification-type filter is hidden on the smallest mobile layout, while the read-state filter remains visible.
  • Deleted rows are intentionally loaded for history review, so active counters and visible history can look different.
  • The current UI does not expose a visible Mark as read or Mark all as read button on this tab. Read-state filters and timestamps are visible, but read mutations are not normal operator controls here.
  • Priority labels are visual urgency labels, not compliance severity. Low numeric priorities can appear as Important in the list tooltip and Low Priority in the preview copy.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations13 topicsOpen details

Inbox list scope

Inputs
player id, page number, page size, include-deleted flag, read-state filter, notification-type filter
Rule
The player tab requests one player's notification delivery rows, page size 20, newest first, with deleted history included.
Source Basis
The list flow filters delivery rows by player id, optionally keeps deleted rows, joins the notification definition, applies notification-type filter when not all, and returns count plus rows.
Operator Impact
The list is player-scoped history, not a global notification inbox.

Visible range

Inputs
local page index, page size, backend total count
Rule
Range start is local page index times page size plus one; range end is the smaller of next page boundary or backend count.
Display Rule
The local page index is zero-based, while the backend request page is one-based.
Operator Impact
The range describes the current backend page, not all rows matching local search.

Read state filter

Inputs
filter type, read timestamp
Rule
Unread rows have no read timestamp; read rows have a read timestamp; all keeps both.
Source Basis
The backend applies the read timestamp condition before pagination.
Operator Impact
Switching between All, Unread, and Read changes the backend result set.

Notification type filter

Inputs
selected notification type, message notification type
Rule
Personal, System, and Broadcast filter on the joined notification source type; All keeps every type.
Source Basis
The backend applies the type condition on the notification definition joined to each delivery row.
Operator Impact
This separates message origin, not whether the message is read or deleted.

Search messages

Inputs
loaded message title, loaded English content, search text
Rule
The browser lowercases the search text and matches it against title and English message content for loaded rows only.
Display Rule
Rendered English content is stripped to text for list snippets and searched from the loaded content object/string.
Operator Impact
A blank search result can mean the matching message is on another page; it does not prove no such message exists in full history.

Unread count

Inputs
player delivery rows, read timestamp, deleted timestamp
Rule
Count delivery rows for the player where read timestamp is empty and deleted timestamp is empty.
Source Basis
The unread badge is returned by the list flow separately from the paginated rows.
Operator Impact
Deleted unread rows do not count as unread even if they still appear in the history list.

Sender display fallback

Inputs
custom sender name, creator first name, creator last name
Rule
Show custom sender when present; otherwise show creator full name when available; otherwise show System.
Display Rule
The same fallback is used in both list row and preview header.
Operator Impact
System does not always mean an automated system event; it can also mean no custom sender or creator name was available.

Priority band

Inputs
numeric priority
Rule
Zero shows no badge; 1-3 is the low/important band; 4-6 is medium; 7-9 is high.
Display Rule
List tooltip labels 1-3 as Important, while preview text labels the same band Low Priority.
Operator Impact
Priority is an urgency hint for the message, not a compliance or risk severity score.

Read mutation visibility

Inputs
Player Inbox component handlers, visible toolbar controls
Rule
The component defines single and bulk read mutation handlers, but current rendered controls do not invoke them.
Source Basis
If invoked by a future UI path, read mutations update read timestamps only on non-deleted rows.
Operator Impact
Operators should treat read state on this tab as displayed/filterable state, not as a normal editable action in the current UI.

Delete target resolution

Inputs
checked row ids, selected preview row id
Rule
If any rows are checked, delete targets the checked rows; otherwise delete targets the selected preview row.
Display Rule
Target ids are copied into the confirmation-dialog state before the backend mutation runs.
Operator Impact
A checked row selection takes precedence over the row currently open in preview.

Delete behavior

Inputs
delivery row id, player id, deleted timestamp
Rule
Delete sets the delivery row deleted timestamp instead of removing the notification definition.
Source Basis
Single delete updates one matching player delivery row; bulk delete updates selected non-deleted delivery rows for that player.
Operator Impact
Deleted rows can remain visible in this history view with a Deleted badge, but they leave active and unread counts.

Resend behavior

Inputs
selected message title, selected message content, selected notification type, selected priority, selected sender override, selected image, current player id, current admin id
Rule
Resend creates a new notification definition and a new delivery row for the selected player using copied selected-message attributes.
Source Basis
The create-notification flow validates title/content, validates recipients for personal/system types, normalizes content, writes notification and delivery rows, and records activity.
Operator Impact
Resend is a new send. It does not edit the original delivery row, clear deleted state, or change read state.

Mobile view mode

Inputs
viewport width, selected message
Rule
Mobile starts in list mode, switches to preview mode after selecting a row, and returns to list mode through the back button.
Display Rule
Tablet and desktop keep split mode.
Operator Impact
Mobile operators may need to return to the list before selecting another message.
Fields29 topicsOpen details

Delivery Row ID

Internal delivery-row identifier used by row selection, read-state mutation, and delete mutation.

Data Type
integer
Visibility
hidden-technical

Notification ID

Internal message definition identifier joined to the player delivery row.

Data Type
integer
Visibility
hidden-technical

Unread Count

Badge count on the Unread filter. It counts non-deleted inbox rows for this player whose read timestamp is empty.

Data Type
integer

Total Message Count

Total backend count for the current read-state and notification-type filters.

Data Type
integer

Visible Range

Toolbar range such as 1-20 of 42, computed from local page index, page size, and backend total count.

Data Type
string

Page Size

Number of backend rows requested per page. Current Player Inbox page size is 20.

Data Type
integer

Sender

Sender line shown at the top of each inbox row and in the preview pane.

Data Type
string

Title

Subject shown in the message list and preview.

Data Type
string

Content

Message body rendered in the preview pane.

Data Type
rich_text

Notification Type

Source classification such as system, personal, or broadcast.

Data Type
enum

Priority

Visual urgency marker used for message badges. Values 1-3 are low/important, 4-6 are medium, and 7-9 are high.

Data Type
integer

Priority Label

Visual label derived from the numeric priority. The list tooltip calls 1-3 Important, while the preview text calls the same band Low Priority.

Data Type
enum
Values
none, important, low, medium, high

Sender Image

Optional image/avatar shown next to the sender line and in the preview header when the notification carries artwork.

Data Type
image_url

Delivered At

Delivery timestamp for the player-facing inbox record.

Data Type
datetime

Read At

Read timestamp, when present.

Data Type
datetime

Deleted

Soft-delete timestamp. When present, the FE renders a `Deleted` badge in the sender row and still shows the message because the list is loaded with `includeDeleted=true`.

Data Type
datetime

Created By

Admin context behind the notification when available.

Data Type
string

Message Selection

Checkbox selection state used for bulk delete and list-level select-all behaviour.

Data Type
selection_state

Selected Message

The row currently open in the preview pane. A selected message is the default delete target when no checkboxes are selected.

Data Type
local-state

Selected Messages Count

Number of checked rows. When greater than zero, the list toolbar shows the bulk delete button and delete targets checked rows rather than the preview row.

Data Type
integer

Select All State

Header checkbox state for the currently visible loaded rows.

Data Type
enum
Values
unchecked, indeterminate, checked

Delete Dialog Target

Row ids queued for the delete confirmation dialog. It contains selected checkbox rows when present, otherwise the current preview row.

Data Type
selection_state

Delete Dialog Copy

Confirmation text shown before deleting one or many rows. Current copy says permanent deletion even though backend behavior is a soft-delete of delivery rows.

Data Type
string

Resend State

Shows a spinner and disables the resend icon while the selected message is being resent.

Data Type
local-state

Loading State

Initial loading uses skeleton rows; background revalidation uses the thin progress bar at the bottom of the list.

Data Type
local-state

Error State

Backend list request error state. The current UI stores the error from the hook but does not render a detailed error panel in the list.

Data Type
local-state

Empty State

Shows No messages. When local search text is present, the helper says to adjust search; otherwise it says the inbox is empty.

Data Type
local-state

Unread Dot

Blue dot shown on rows that do not have a read timestamp.

Data Type
boolean

Deleted Badge

Badge shown when the delivery row has been soft-deleted but is still visible because this tab includes deleted history.

Data Type
boolean
Filters3 topicsOpen details

Read State

Switches the backend inbox list between all, unread, and read messages.

Type
segmented
Values
all, unread, read

Notification Type

Limits the backend list to system, personal, or broadcast notifications. The segmented control is hidden on the smallest mobile layout.

Type
segmented
Values
all, personal, system, broadcast

Search Messages

Local browser-only search that matches the loaded message title and rendered English content. It does not search all backend pages.

Type
text
Metrics4 topicsOpen details

Unread Count

Number of active inbox messages the player has not read.

Type
count
Source Basis
Count of this player's delivery rows where read timestamp is empty and deleted timestamp is empty.
Display Rule
Displayed as the badge on the Unread filter.
Filter Dependencies
player id, deleted timestamp
Caveats
Deleted unread rows do not count as unread even when this history tab still displays them.

Total Message Count

Number of history rows in the current backend-filtered inbox result.

Type
count
Source Basis
Count of rows matching the current player id, read-state filter, notification-type filter, and include-deleted setting.
Display Rule
Used by the visible pagination range and Previous/Next button disabled states.
Filter Dependencies
player id, read-state filter, notification-type filter, include-deleted history
Caveats
Local search does not change the backend total count.

Priority Band

Visual urgency indicator for a message.

Type
classification
Source Basis
Numeric priority is stored with the notification and validated in the 0 through 9 range.
Display Rule
Zero hides the badge; 1-3 is low/important, 4-6 is medium, and 7-9 is high.
Caveats
The list and preview currently use slightly different wording for the 1-3 band.

Selected Messages Count

Number of rows that will be targeted if the operator confirms bulk delete.

Type
surface-state
Source Basis
Not persisted. This is local UI state used to choose bulk-delete targets.
Display Rule
Header checkbox and row checkboxes maintain the selected row-id set for currently loaded visible rows.
Caveats
Selection does not include unloaded pages.
More help

Related pages

Players / Banking

Banking tab inside the player workspace with transaction filters, a paginated banking grid, analytics cards, CSV export, and automatic-withdrawal availability.

Players / Detail Workspace

Main player workbench at `/player/[playerId]` with tabbed sections, player-level actions, and modal-based operator workflows.

Players / Fraud Detection

Fraud-detection tab inside the player workspace with MaxMind risk assessment, related fraud-account reports, IP analysis, and Identity Graph filtering.

Players / Game Report

Per-player game or provider report inside the player workspace, filtered by date option and grouped either by game or by provider.

Players / KPI Summary

Grouped player-level KPI snapshot inside the player workspace, covering player info, deposits, withdrawals, casino totals, bonus cost, and predictive metrics.

Players / KYC Status

KYC tab inside the player workspace for browsing user documents, checking third-party verification state, and approving, rejecting, or re-requesting documents.