A complete handbook for the Snooker King operations platform
Edition 2026 · Volume I · Snooker King Software
Snooker King SoftwareUser Guide
Of the publication
Snooker King Software
A modern, web-based operations platform engineered for snooker centres, billiard halls, and cue-sport academies — covering tables, members, battles, food & beverage, billing, and analytics, all from one console.
Running a snooker centre is an act of choreography — tables turning, members arriving, kitchens firing, scoreboards flickering, ledgers closing. This guide is the script.
The Snooker King platform was designed not to replace the rhythm of a busy room, but to amplify it. Every screen, every button, every report exists because a real operator, on a real night shift, asked for it. This guide walks you through the system as it actually behaves — from a member tapping a QR code at the door, to the moment the manager closes the till and reviews the day.
Read it linearly the first time. Keep it on a shelf for the second. The chapters move from the broadest concepts (architecture, roles, daily flow) toward the deepest mechanics (settings, audit logs, troubleshooting). Cross-references and a glossary close the volume.
How to use this guide
Each chapter opens with a one-page summary, followed by step-by-step procedures, screen-by-screen walkthroughs, and "in practice" notes drawn from live deployments. Italic margin commentary marks tips; red rules mark warnings.
— The Snooker King Team May 2026
iii
ContentsSnooker King · User Guide
Index
Table of Contents
I.Introduction & Architecture5
II.Getting Started — Login & Roles7
III.The Admin / Client Portal9
IV.Organizations & Centres11
V.Tables & the Live TV Monitor13
VI.Members & the Member Portal15
VII.Battles & Tournaments17
VIII.Food & Beverage Operations19
IX.Billing, Invoices & Payments21
X.Reports & Analytics23
XI.System Logs & Audit Trail25
XII.Bug Reports & Support27
XIII.The Mobile Application29
XIV.Settings & Configuration31
XV.Troubleshooting & FAQ33
XVI.Glossary & Index35
"A well-run room is the sum of small, well-kept records."
iv
Chapter IIntroduction & Architecture
Chapter I · Foundations
Introduction & Architecture
Snooker King is a multi-tenant SaaS platform for cue-sport venues. One installation can serve a single hall, a regional chain, or a national franchise — without code changes, from the same browser.
The platform is composed of four cooperating layers. Understanding them in this order will help every later chapter make sense:
1 · The Console
A responsive web app served from /app/ in production and /debug/ for staging. Used by admins, clients, organizations, managers, operators.
2 · The Member Portal
A mobile-first, app-like experience for end-customers. Login, profile, bookings, battles, F&B, QR member card.
3 · The Live TV Monitor
A wall-mounted display board. Real-time table status, prices, promotions, branded footer, configurable per centre.
4 · The Mobile App
Native Flutter apps (iOS & Android) that wrap the member portal and add native push, NFC card scan, camera receipts.
Tenancy & Hierarchy
Every record in the system belongs to a four-level hierarchy. Permissions, reports, and even the colour of the navigation bar depend on which level you are signed into.
Level
Owns
Typical user
Client (tenant)
Brand, billing, organizations
The franchise / company owner
Organization
Centres, regional rules
Regional director
Centre
Tables, staff, F&B menu, prices
Branch manager
Member / Guest
Bookings, wallet, history
Customer
In Practice
A new VYROX Snooker franchise launches three centres. One client is created (VYROX Sdn Bhd), one organization sits below it (VYROX Snooker Group), and three centres sit below that. Members belong to a centre but can be promoted to organization-wide membership.
5
Chapter I — Introduction & ArchitectureSnooker King · User Guide
Browsers, Devices & Performance
Snooker King is a browser-first application. There is no installer, no desktop client, and no required plugins. We test every release against the four most-used engines in our customer base.
Surface
Recommended
Minimum
Console (admin/staff)
Chrome 120+, Edge 120+
Chrome / Safari 110+
Live TV Monitor
Chrome / Edge fullscreen, 1920×1080
1366×768
Member Portal (web)
Latest mobile Safari / Chrome
iOS 14, Android 9
Mobile App
iOS 15+, Android 10+
iOS 13, Android 8
A Day in the Life
To orient new operators, here is the daily rhythm of a typical centre running Snooker King — every event in this list is a feature you will meet later in the guide:
1
09:30 — Open shift. The manager logs in, runs Open Shift, inventory levels are sealed, the float is recorded.
2
10:00 — First customer. Walks to the kiosk, scans member QR, the operator assigns Table 5 and starts the meter.
3
12:15 — Lunch order. A waiter sends a F&B order to Table 5 from a tablet; kitchen ticket prints automatically.
4
14:00 — Battle. Two members start a "Battle" match on Table 9; the system tracks frames and posts to the social feed.
5
18:30 — Settlement. Customer requests bill; operator splits it three ways; one pays cash, two by e-wallet.
6
23:30 — Close shift. Manager runs Day-End; revenues, voids, comps, F&B variance and cash variance reconcile in one screen.
Tip
Every action above is logged in the System Logs module (Chapter XI). If a number on a report ever surprises you, the source-of-truth event is one query away.
6
Chapter IIGetting Started — Login & Roles
Chapter II · Onboarding
Getting Started — Login & Roles
Before you can do anything, the system must know who you are and which centre you speak for. This chapter takes you from a fresh URL to a fully-loaded dashboard.
Reaching the Console
Snooker King is reached by URL — there is nothing to install. Use the address your provider gave you:
Environment
URL
Used by
Production
snookerking.com/app/
Day-to-day staff
Staging / Debug
snookerking.com/debug/
Trainers, support, developers
Marketing
snookerking.com
Public website
Signing In
1
Open the console URL in a modern browser.
2
Enter your email and password. Tick Remember this device only on personal computers.
3
If two-factor is enabled, type the six-digit code from your authenticator.
4
On first login, you will be prompted to change the temporary password and pick a security question.
Security
Passwords are never visible to support staff. If you have lost yours, use Forgot password; do not share credentials with colleagues — every action is logged against the signed-in user.
Roles at a Glance
Your role is fixed by the administrator who created your account. The console adapts to it: menus, buttons, and even table columns appear or disappear based on permission.
Role
Scope
Can do
SYSTEM
Whole platform
All clients, all centres, schema, deployments
CLIENT
One client
Own organizations, branding, billing, master settings
ORG
One organization
Centres in scope, regional pricing, cross-centre reports
MANAGER
One centre
Staff, shifts, voids, comps, all centre data
OPERATOR
Live shift
Tables, F&B orders, take payments
MEMBER
Own data
Profile, bookings, battles, history
7
Chapter II — Getting StartedSnooker King · User Guide
First Login Walkthrough
The very first time a user opens Snooker King, the system runs an onboarding wizard. It only appears once per role, and it sets sensible defaults that you can change later in Settings.
1
Welcome screen. Confirms your name, role, and the centre/organization you are linked to.
2
Profile photo. Upload a square headshot. This appears on the top-bar avatar and in audit logs as a small thumbnail.
3
Notification preferences. Choose which alerts arrive by email vs in-app (low-stock, void, large discount, end-of-shift).
4
Display options. Pick light / dark theme, currency display, time format (12h or 24h), and starting day-of-week for reports.
5
Tour. An interactive overlay highlights the seven most-used buttons in your role's dashboard.
Switching Context
Multi-centre managers sometimes have access to several centres or organizations. The context switcher in the top-left lets you change scope without logging out:
Click the centre name beside the logo.
Pick the new centre from the searchable list.
The dashboard reloads under the new scope; URL updates so the new page can be bookmarked.
Audit
Switching context creates a context_switch event in System Logs. This is intentional: any action you take after a switch is attributed to that scope, and forensics rely on the chain.
Logging Out & Idle Lock
For shift-shared terminals, Snooker King supports two security behaviours:
Idle lock — the screen dims and asks for the password again after n minutes (default 10).
Shift sign-off — pressing Ctrl + L ends your session and clears local storage in one keystroke.
Never
leave a logged-in console unattended at the bar or kiosk. Unauthorised voids and comps are the most common forensic finding when audit goes wrong.
8
Chapter IIIThe Admin / Client Portal
Chapter III · Operations Console
The Admin / Client Portal
The Admin Portal is the cockpit. Every other feature in the platform is launched from here, and every report ends here. We treat it as the single most-used surface in the entire product.
Anatomy of the Dashboard
— Layout —
Three-column command surface
Left rail: navigation. Centre: live workspace. Right rail: contextual cards (alerts, KPIs, recent activity). All three rails persist; the centre changes per module.
Left Navigation
The left rail groups modules by frequency of use, not by alphabetical order. Order is fixed for muscle memory:
Dashboard — today's revenue, occupancy, alerts.
Tables — live grid, start/stop meter, transfer.
Members — directory, wallet, history.
F&B — POS, kitchen tickets, stock.
Battles — active matches, leaderboard.
Reports — financials, operations, marketing.
System — settings, users, logs.
Top Bar
Centre selector (multi-centre roles only) — switches scope.
Quick search — finds members, tables, invoices, even log lines.
Notification bell — alerts in priority order; click to acknowledge.
Avatar menu — profile, theme, sign out.
Right Rail
The right rail is module-aware. On Tables, it shows top spenders today. On Members, it shows churn risk. On F&B, it shows low-stock warnings. The cards are draggable — your last layout is remembered per device.
9
Chapter III — Admin / Client PortalSnooker King · User Guide
The Today View
The first screen after login is the Today View. It is deliberately minimal — eight numbers, three charts, and two action buttons:
KPI
Definition
Refresh
Revenue (today)
Sum of paid invoices, gross of tax
Live
Occupancy
Active table-minutes ÷ available table-minutes
Every 30 s
F&B / Table ratio
F&B revenue ÷ table revenue
Live
New members
Members signed up today
Live
Battles played
Completed match count
Live
Voided lines
Count + amount, flagged for review
Live
Open shift cash
Float + cash sales − cash refunds
Live
Average ticket
Revenue ÷ closed invoices
Every 5 min
Universal Search (Ctrl+K)
The most powerful keystroke in the whole console. Universal Search reaches across members, invoices, tables, log entries, F&B items, and bug reports. Typing prefixes narrows scope:
Prefix
Searches
Example
m:
Members
m:dr leong
t:
Tables
t:5
i:
Invoices
i:INV-2025-0931
l:
Log lines
l:void operator=alex
f:
F&B items
f:nasi lemak
#
Bug report ID
#42
Keyboard Shortcuts
G then D — go to Dashboard
G then T — go to Tables
G then M — go to Members
N — new (context-aware: invoice, member, comp)
? — show all shortcuts
10
Chapter IVOrganizations & Centres
Chapter IV · Tenancy
Organizations & Centres
Centres are the heartbeat of the system. Almost every other entity — tables, members, invoices, staff, F&B items — belongs to exactly one centre. Get the centre right and the rest follows.
Creating an Organization
1
Sign in as a CLIENT or higher.
2
Navigate to System → Organizations → New.
3
Enter legal name, trading name, country, primary currency, and tax registration ID.
4
Pick a brand colour and upload a square logo (≥ 512×512 PNG with transparent background).
5
Save. The organization is created in Draft; it cannot accept centres until billing is verified.
Creating a Centre
Each centre carries its own opening hours, table inventory, F&B menu, price lists, and staff roster. The Centre Wizard does the heavy lifting in five short steps:
Step 1 · Identity
Name, address, phone, time zone, and the Live TV Monitor brand strip footer text.
Step 2 · Tables
Number of tables, type (Snooker / Pool / English), and tariff. The system clones a default tree of price tiers.
Step 3 · Hours
Opening / closing per weekday, peak hours, public-holiday overrides, and last-call rule.
Step 4 · F&B
Choose to clone the menu from another centre, import CSV, or start blank.
Save time
For a multi-centre rollout, configure your flagship centre fully, then use Clone Centre in the wizard to create the next ones — only address and table count usually change.
11
Chapter IV — Organizations & CentresSnooker King · User Guide
The Centre Settings Tree
Every centre exposes a deep tree of settings. The full path from least-changed to most-changed:
Tariffs are the most-edited setting after F&B. The model is intentionally simple — three layers, applied in order:
Base rate per table type (Snooker, Pool, English).
Time band modifier — peak (often 18:00 – 23:00) adds a percentage; happy hour subtracts.
Member discount — applied last, after time band.
Rates can be overridden per table for special tables (championship, VIP). The Effective Rate column on the Tables grid always shows the final number a customer will pay.
Watch out
Changing a base rate mid-shift does not retro-bill running tables. The rate they started with is locked in until they finish. This is intentional and audited.
Cloning & Templates
Three operations save days of setup work:
Clone centre — duplicates everything except address and table count.
Push F&B menu — sends one centre's menu to many at once; deltas are previewed before commit.
Sync tariffs — applies an organization-level price list to every centre, with per-centre opt-out.
12
Chapter VTables & the Live TV Monitor
Chapter V · The Floor
Tables & the Live TV Monitor
Tables are why the customer is here. This chapter covers the live grid the operator uses, the public Live TV Monitor on the wall, and the choreography between them.
The Live Tables Grid
The Tables module is the second-most-used screen in the console. It is a real-time grid where each cell is a table, colour-coded by state:
Colour
State
Meaning
Slate
Idle
No customer; cue-rack closed.
Baize
Active
Meter running; lights on.
Gold
Reserved
Booked but customer not yet seated.
Amber
Last call
Within 15 minutes of close.
Walnut
Maintenance
Out of service; reason logged.
Starting & Stopping a Meter
1
Click the table cell. A side-panel slides in.
2
Click Start. The system records the start time, locks the tariff, and turns the cell baize-green.
3
If a member is present, scan the QR or pick from search. The discount is applied automatically.
4
When play ends, click Stop. Final amount appears; choose Pay now or Add to tab.
Transferring tables
Right-click a running cell and choose Transfer to move the live session to another table. Time and tariff continue unbroken; both moves are audited.
13
Chapter V — Tables & the Live TV MonitorSnooker King · User Guide
The Live TV Monitor
Every centre has at least one wall-mounted display showing all tables, their state, prices, and rotating promotions. The Monitor is browser-based, fullscreen, and updates without refresh.
— Configuration —
Configured per centre, in JSON, in one place
The Live TV Monitor Editor in Centre Settings → Devices → Monitors exposes a structured JSON config covering header, summary stats, tables grid, footer, and rotation. A Reset to default button restores the canonical VYROX layout.
Sections of the Monitor
Header — centre logo, current time, weather (optional), today's promotion.
Summary stats — occupancy %, members in venue, F&B specials. Total revenue is intentionally hidden.
Tables grid — every table with type, state, current price/hr, time elapsed for active sessions.
Rotation panel — full-bleed photos and offers; transitions every 8 s by default.
Footer — global brand strip; injected from a single source so every centre stays on-brand.
Quick add
Adding a new centre via New Centre or Quick Add seeds the full Monitor config in one shot — never start from blank.
Bookings & Reservations
Reservations live alongside the live grid. Customers book through the member portal or by calling staff who use Book Table in the side-panel.
Select date, start time, duration.
Pick table type (Snooker / Pool) — system suggests least-loaded table.
Optional deposit captured via gateway.
System sends a confirmation message and a calendar invite.
15 minutes before start, the cell turns gold; the operator gets a tap reminder.
Maintenance & Out-of-Service
To take a table out of service, right-click and choose Maintenance. Pick a reason (cushion repair, lamp, cloth replacement) and an estimated return time. The cell turns walnut, the Monitor hides its price, and bookings to that table are blocked.
14
Chapter VIMembers & the Member Portal
Chapter VI · The Customer
Members & the Member Portal
A member is more than a phone number. The Member Portal is a full mobile experience — profile, wallet, friends, battles, F&B ordering — and every interaction echoes back to the operator console.
Every member has a unique QR code. Scanning it at the kiosk or on the operator app:
Identifies the member instantly.
Locks the tier discount on the next session.
Records the visit (used for retention reports).
Auto-fills any waiting F&B order or pre-booking.
The Member Portal — Mobile Experience
The portal is opened from /app/member on a phone, or via the native mobile app. It is intentionally swipe-driven and has only five primary tabs:
Home
Centre carousel, today's promotions, leaderboard ribbon.
Play
Find a centre, book a table, host or accept a battle.
Order
F&B menu of the centre you are seated in; QR-bound.
Social
Feed, chat rooms, event posts, photo of last 147 break.
15
Chapter VI — Members & the Member PortalSnooker King · User Guide
Becoming a Member
A guest can be elevated to a free member in three taps. The flow is intentionally idempotent — running it twice is safe.
1
Customer opens portal, taps Become Member on the centre detail page.
2
Confirms phone via OTP. Profile is created and linked to the centre's organization.
3
QR card is generated and added to the in-app wallet immediately.
Across centres
A free membership at one centre is portable across the same organization. Paid tiers are organization-wide unless explicitly scoped to a single centre.
Wallets, Top-Ups & Stored Credit
The wallet is the spine of the loyalty programme. Three balances exist on every account:
Cash credit — top-up via card or e-wallet; spendable anywhere in the system.
Comp credit — issued by management for service recovery; expires in 90 days.
Points — earned at 1 point per RM of spend; redeemable in F&B ratio configurable per organization.
Friends, Chat & Social Feed
The portal contains a lightweight social network: members add friends, exchange chat messages, post photos of breaks, and see a localised leaderboard. The chat schema lives inside the main database; older Flutter chat data lives in a separate table for backwards compatibility.
Privacy
Members can hide their profile from the leaderboard with one tap; staff cannot read private chats. Logs only record metadata (who chatted with whom, when), never message bodies.
Showcards & Recognition
"Showcards" are short, animated full-screen recognitions — a member's first 100 break, a Gold-tier upgrade, a tournament win. They appear on the portal AND on the Live TV Monitor for everyone in the room to see. Operators can trigger them manually from the member's profile.
16
Chapter VIIBattles & Tournaments
Chapter VII · Competition
Battles & Tournaments
A "Battle" is a managed match between two members on a real table — best-of-frames, side-bet credit, automatic scoring assist. Tournaments are scheduled multi-battle ladders that the platform runs end-to-end.
Anatomy of a Battle
Every battle has the same four-phase lifecycle:
Invite — host picks an opponent (member or "open challenge"), sets format (best of 3 / 5 / 7), and stake.
Confirm — opponent accepts within 5 minutes; both wallets earmark the stake.
Play — table is allocated; operator clicks Start Battle on the Tables grid; frame results entered as they happen.
Settle — system records duration, declares winner, transfers stake, posts result to social feed and leaderboard.
Time-zone note
Battle duration is computed by the database (TIMESTAMPDIFF) to avoid PHP/MySQL time-zone skew. Reports always show the correct elapsed time.
Tournaments
Tournaments are templated battles strung together. The platform supports three formats out of the box:
Format
Best for
Notes
Single elimination
One-night events
Bracket auto-seeds by ranking
Double elimination
Weekend cups
Loser bracket; final reset rule
Round robin
League play
Points for win/draw/frame difference
17
Chapter VII — Battles & TournamentsSnooker King · User Guide
Hosting a Tournament
1
Go to Battles → Tournaments → New.
2
Choose format, max participants, entry fee, and prize structure.
3
Set registration window, start date, and table allocation policy.
4
Publish. Members see it in the portal Home tab; the Monitor shows a countdown.
5
As registrations come in, you can view the seeding live; on tournament day, click Run Round to release the next batch of matches to operators.
Frame-by-Frame Scoring
Operators record frames using a simplified panel: enter break / clearance / fouls per player. The system handles tie-break rules and updates the live ranking in real time. A "watch later" replay is generated from the entries — useful for academy coaching.
Leaderboards
Every centre has three leaderboards: weekly, monthly, all-time. They are visible inside the portal and rotate on the Monitor. Score is computed as a weighted blend of wins, frame differential, and opponent strength.
Coaching hook
Each leaderboard row exposes a Coach Notes field, visible only to the member and their authorised coach. Use it to track drills, weakness areas, and plan for the next tournament.
Stakes & Compliance
The stake field can be configured organization-wide as one of: off, credit-only, or cash. In jurisdictions where wagering is restricted, leave it on credit-only; the system then refuses to accept cash stakes and shows a notice.
18
Chapter VIIIFood & Beverage Operations
Chapter VIII · The Kitchen
Food & Beverage Operations
F&B is often the difference between a profitable centre and a struggling one. Snooker King treats the kitchen as a first-class citizen — orders bind to tables, kitchen tickets print automatically, stock decreases live, and the menu is in your hands at all times.
The F&B Module
F&B has four working surfaces:
POS — the order-taking screen used at the bar or on a roving tablet.
Kitchen Display — large-screen ticket queue for the cook line.
Menu Editor — categories, items, modifiers, combos, photos.
Create top-level categories (Drinks, Mains, Snacks). Each gets its own colour and icon.
2
Add items: name, description, photo, price, optional KOT (kitchen-or-bar) routing.
3
Add modifiers (sugar level, ice, spice). Modifiers can be priced or free.
4
Bundle items into combos with discount, e.g. burger + drink at 15% off.
5
Tag items with availability windows (e.g. breakfast 7-11, late-night 22-02).
Push to many
Use Menu → Push to centres to copy the menu to other branches. The diff preview shows price changes per branch before commit.
19
Chapter VIII — Food & BeverageSnooker King · User Guide
Taking an Order
1
Tap the table the customer is seated at (or scan their QR for take-away).
2
Tap the item; choose modifiers; enter quantity. Repeat.
3
Press Send to kitchen. Kitchen items print to the cook line; bar items print at the bar.
4
Order joins the customer's open tab on the table.
Kitchen Display System
The cook line uses a large screen showing live tickets in time-priority order. Each ticket shows table, member name (if any), items, modifiers, and an aging indicator. Cooks tap "in progress" → "ready"; the operator gets a notification to deliver.
Stock & Recipes
Stock is optional but transformative. Each menu item links to a recipe of stock items. Selling one Caesar salad decreases romaine lettuce, parmesan, croutons, and sauce by their recipe quantities. Reports show:
Theoretical vs actual stock at end of day.
Variance per item (waste, theft, mis-counting).
Re-order alerts when stock drops below par.
Voids, Comps & Refunds
Mistakes happen. Snooker King draws a strict distinction:
Action
Use when
Audit
Void
Item never delivered (cancelled order)
Reason required; manager can review
Comp
Item delivered but given free (service recovery)
Reason required; counts as marketing cost
Refund
Money returned to customer post-payment
Manager approval required
Reconciliation
Voided cash sales are a top forensic flag. Operators with abnormal void rates appear in the manager's daily anomaly report.
20
Chapter IXBilling, Invoices & Payments
Chapter IX · The Money
Billing, Invoices & Payments
Every economic event in the centre — table time, F&B order, membership upgrade, comp, refund — flows into invoices. The invoice engine is the audit backbone of the platform.
Invoice Lifecycle
Open — created when a session starts or order is placed; can have lines added.
Closing — operator presses Settle; lines are frozen.
Paid — payment(s) cover the total; invoice locks.
Voided — if cancelled before payment, an audited reversal is recorded.
Splitting the Bill
Splits are common in social play. Three split modes are supported:
Even split — total ÷ N people; each pays the same.
Itemised — each person picks the lines they consumed.
Custom amounts — operator types each share manually.
Split-bill linkage
When a split-bill invoice is fully paid across all parts, the parent invoice's payment_status is updated alongside the live revenue counter. This keeps the operator's "outstanding" badge in sync — a known historical bug, fixed.
Payment Methods
Out of the box, the system handles cash, card (via gateway), e-wallet (DuitNow, GrabPay, TNG), member wallet credit, comp credit, and points redemption. Multi-tender is supported on a single invoice.
Method
Settlement
Notes
Cash
Immediate
Counted in shift close
Card
T+1 to T+3
Provider-dependent
E-wallet
Real-time
QR or NFC
Member wallet
Immediate
Internal ledger
21
Chapter IX — Billing & InvoicesSnooker King · User Guide
Tax & E-Invoicing
For Malaysia, the platform produces compliant SST/e-invoice records with the LHDN-required UUID, item codes, and submission status. For other jurisdictions, the tax engine accepts up to three layered taxes per item (e.g. service charge + VAT + sin tax).
Discounts & Promotions
Discounts apply at three levels, in order:
Line-item — manual percentage or amount on a single line.
Invoice-level — applied to the running subtotal (member tier, voucher).
Promotion engine — rule-based (e.g. "Mondays after 10pm get 20% off Pool tables").
Reading an Invoice
The printed/PDF invoice is structured for both customers and auditors:
Header — centre name, address, tax ID, invoice number, date.
Member block — name, ID, tier, QR (if applicable).
Footer — operator name, terminal, time of close, audit hash.
The audit hash
Every closed invoice ends with a SHA-256 hash chained to the previous invoice. Tampering is provable: any change to a closed invoice breaks the chain forward.
Refunds
Refunds always require manager approval. The flow:
1
Find invoice; click Refund; pick lines and amount.
2
Manager enters PIN; reason captured.
3
Refund posted; if card, the gateway reversal is initiated immediately.
22
Chapter XReports & Analytics
Chapter X · Insight
Reports & Analytics
Reports are not the byproduct of a Snooker King install — they are one of the reasons to install it. Three families of reports cover almost every question a manager will ask.
Financial Reports
Report
Question it answers
Daily Sales Summary
What did we sell today, by category and tender?
Shift Reconciliation
Did the cash drawer match what the system thinks?
Tax Report
How much SST/VAT do I owe, and which invoices contributed?
Comp & Void Report
Who is comping/voiding, how often, and why?
Refund Register
All refunds in a window, with reason and approver.
Retention cohort — % of new members still active at 30/60/90 days.
Top spenders — leaderboard of LTV, with churn-risk score.
Promotion ROI — incremental revenue vs comp cost for each campaign.
23
Chapter X — Reports & AnalyticsSnooker King · User Guide
Building a Custom Report
For one-off questions, the Report Builder exposes the same data in a drag-and-drop interface. No SQL required — but the underlying query is shown to anyone curious enough to inspect it.
1
Pick a domain: Sales, Members, Tables, F&B, Battles, Logs.
2
Drag fields to Rows, Columns, Values.
3
Add filters (date, centre, tier, tender).
4
Pick visualisation: table, line, bar, heatmap.
5
Save as Pin on your dashboard, schedule by email, or export to CSV/Excel.
Export & Scheduling
Every report can be exported as CSV, Excel, PDF, or scheduled by email. Scheduled exports respect the recipient's role — e.g., a centre manager scheduled to receive a chain-wide P&L will only get their own centre's slice.
Anomaly Detection
The anomaly engine watches a set of rolling baselines and flags outliers in the daily Manager's Briefing email. Examples:
Operator's void rate is 3σ above their personal baseline.
F&B variance for an item exceeds 8% for two days running.
Average session length on Saturday drops more than 15% week-over-week.
Trust the briefing
Most operators glance at the morning briefing for 60 seconds and only dig deeper when something is flagged. That habit alone has caught dozens of small leaks across our customer base.
24
Chapter XISystem Logs & Audit Trail
Chapter XI · Provenance
System Logs & Audit Trail
If reports tell you what happened, system logs tell you who, when, from where, and why. The audit trail is the platform's memory, designed for forensic clarity rather than developer convenience.
What Is Logged
Every consequential action — and many merely interesting ones — produces a log row. The viewer is role-scoped, so each user sees only what they are entitled to see.
Default retention is 365 days hot, 7 years cold. Hot logs are searchable instantly; cold logs are queryable on request and used for legal forensics. Retention can be extended per organization to meet local regulation.
Forensic Investigations
When something looks wrong (missing cash, complaint, unauthorized refund), the standard playbook is:
1
Open System Logs, filter by the date and centre.
2
Narrow to actor and event type. Expand each row to see payload diff.
3
Cross-reference with Sessions to confirm IP and device.
4
Verify the audit hash chain on affected invoices is unbroken.
5
Export the result as a sealed PDF for HR / legal handoff.
Tamper-proof
Logs are append-only. Even system administrators cannot edit a log row through the UI. Any attempt at deletion is itself logged.
Audit Logs vs Bug Reports
System logs are facts. Bug reports (next chapter) are observations. Reading the two together is how the support team and engineering reproduce, diagnose, and fix.
26
Chapter XIIBug Reports & Support
Chapter XII · Feedback Loop
Bug Reports & Support
Real software lives or dies by how quickly its operators can flag problems and how transparently those problems are resolved. The Bug Reports module is built around that loop.
Filing a Report
1
Click the bug-bug icon on the bottom-right of any console screen.
2
Title the issue in one short sentence (e.g. "Void button greyed out on table 5").
3
Describe what happened, what you expected, and the steps to reproduce.
4
Attach screenshots. The form auto-captures URL, browser, and the last 50 console events.
5
Submit. You and the system admin receive an email immediately.
Lifecycle of a Report
Status
Meaning
New
Awaiting triage; default filter for the support team.
In Progress
Engineer is actively investigating or fixing.
Pending Human Decision
Cannot be auto-resolved; needs a person (taste call, auth, vague repro).
Resolved
Fix deployed, verified live in the browser, closed.
Won't Fix
By design, or out of scope; reason captured.
Comment thread
Every report has a thread. Engineers post their audit, proposed fix, and verification. You can attach more screenshots and reply at any time. Old replies can be edited or collapsed; status-change rows are immutable.
27
Chapter XII — Bug Reports & SupportSnooker King · User Guide
How Reports Are Resolved
Snooker King runs a strict, safety-first triage:
Read everything. Description, all images, all comments, comment-attached images.
Deep audit. Engineers fact-check at the code and database level — never assume.
Propose. A written plan with root cause, change, safety argument, adjacent features, and rollback.
Re-verify. The proposal is re-read against the live code before any change.
Fix. Code changes are deployed to the staging path first, then production.
Browser-verify. The original repro is replayed in a real browser; screenshots attached.
Resolve. Only after the production path passes browser verification.
A bug that stays New is better than a regression
The triage rule is hard-coded in our process. If any step fails, the report flips to Pending Human Decision rather than getting silently closed.
Email Notifications
New report — admin alerted instantly.
Pending Human Decision — admin alerted; reporter sees status update in-app.
Resolved — admin and reporter alerted; deduped to one email if both addresses match.
SLA & Escalation
Severity
Definition
First response
Critical
Money lost, system down
30 min, 24/7
High
Workflow blocked, workaround exists
2 hours business
Medium
Cosmetic, occasional
1 business day
Low
Suggestion, polish
Best effort
28
Chapter XIIIThe Mobile Application
Chapter XIII · Pocket Snooker King
The Mobile Application
The mobile app is the member portal, hardened with native capabilities. It is the surface that most customers will touch most often, and it is engineered for one-handed, mid-frame use.
Installing
iOS — App Store, search "Snooker King".
Android — Google Play, search "Snooker King".
Enterprise builds — staff-only build for operators is distributed via internal MDM.
Native-Only Capabilities
Capability
Why it is native
Push notifications
Reliable delivery for booking reminders and battle invites
NFC member card
Tap-on-reader at door instead of QR scan
Camera receipts
Photo capture for expense reimbursement
Biometrics login
Face ID / fingerprint to unlock the app
Offline cart
F&B order persists if signal drops
Web vs App — When to Use Which
The web portal is full-featured for casual browsing. The app is recommended once the member visits at least twice a month — push reminders alone justify the install.
29
Chapter XIII — Mobile AppSnooker King · User Guide
Confirm; deposit (if any) is captured natively via Apple Pay / Google Pay.
4
Receive a push 30 minutes and 5 minutes before the booking.
Battle Flow
Battles in the mobile app have a streamlined invite UX: pick a friend, swipe to set best-of, tap to send. Opponent receives a rich push; one tap accepts. The app surfaces the assigned table number when the operator allocates one.
Privacy & Permissions
Location — only used to suggest the nearest centre; "always" is never requested.
Camera — receipts and avatar only.
Notifications — separated into Bookings, Battles, Marketing; user can mute marketing alone.
Read-only architecture for staff
The mobileapp/ repository in our infrastructure is intentionally read-only on the server side. Staff propose changes through pull requests; nobody edits mobile code via the console.
30
Chapter XIVSettings & Configuration
Chapter XIV · Knobs & Dials
Settings & Configuration
Settings are organised by scope, not by feature. The closer the scope to the user, the more often the setting changes.
Scope Hierarchy
Scope
Examples
Edited by
Platform
Schema, deploy keys, SMTP
System admin
Client
Logo, billing, branding
Client
Organization
Member tiers, points ratio, tax
Org director
Centre
Tariffs, hours, devices, F&B
Manager
User
Theme, shortcuts, notifications
Each user
Branding
Branding is configured at the organization level and pushed down to centres. Components include:
Primary & accent colours.
Square logo (≥ 512px, transparent PNG).
Wordmark (SVG preferred).
Default monitor footer text.
Email header image.
Receipt header (text + optional QR linking to feedback form).
Integrations
The platform integrates with payment gateways, SMS providers, accounting software, and e-invoice systems via per-organization configuration. Each integration shows a live health indicator on the integrations page.
31
Chapter XIV — Settings & ConfigurationSnooker King · User Guide
User Management
1
Go to System → Users.
2
Click New user; enter name, email, mobile, and role.
3
Pick the centres or organizations the user has access to.
4
An invite email is sent; the user sets their own password on first login.
Principle of least privilege
Give operators the operator role, not the manager role "just in case". Voids and comps are the actions that most often need real role enforcement.
Devices
Printers, monitors, kiosks, and NFC readers are registered per centre. Each device has:
A friendly name (e.g. "Bar printer").
A type and driver.
An assigned KOT route (kitchen, bar, both).
A health indicator (last heartbeat, last successful print).
Backups & Restore
The platform takes nightly database backups, retained 30 days. Manual point-in-time restores are available on request from support; granular restore (e.g. one invoice, one member) is not exposed in the UI to prevent fraud.
Theming
Three themes ship with the product: Royal Baize (default), Snooker Light, and Operator Night. Each user picks their own; manager-level users can also pick a per-shift theme that is forced on shared terminals.
32
Chapter XVTroubleshooting & FAQ
Chapter XV · When Things Go Sideways
Troubleshooting & FAQ
Most issues resolve in under five minutes. The decision tree below covers 90% of cases reported by new operators.
First-Aid Checklist
Is the internet up? Check by opening any other website.
Is the URL correct? Production is /app/, staging is /debug/.
Hard-refresh: Ctrl+Shift+R (Win) or Cmd+Shift+R (Mac).
Try a different browser tab. If it works there, your tab is stale.
Check the notification bell — most "the system is broken" reports turn out to be an unread alert.
Common Issues & Fixes
"My screen is frozen on the table grid."
Real-time updates are pushed via WebSocket. If the connection drops, the grid stops updating. The status bar in the bottom-right shows a green dot when connected. Hard-refresh restores it.
"I clicked Settle but nothing happened."
Settle is disabled if the table has open kitchen tickets. Look for the small bell icon on the cell — it indicates pending kitchen items. Clear those first.
"Discounts are not applying."
Check (in order): is the member scanned? Is their tier active? Is the discount in the active time band? Is there an organization-level override that excludes that item?
"The Live TV Monitor went blank."
The monitor browser sometimes loses focus during OS updates. Press F5 on the wall keyboard, or use Devices → Monitors → Refresh from the console to push a remote refresh.
33
Chapter XV — Troubleshooting & FAQSnooker King · User Guide
Frequently Asked Questions
Q. Can I run Snooker King without internet?
The platform is cloud-native. A short outage is tolerated by the operator app (orders queue locally), but settle/payment requires connectivity. We recommend a backup 4G router for centres in unstable-internet areas.
Q. How many tables can one centre handle?
The Live TV Monitor renders cleanly up to 60 tables on a 1920×1080 display. The console grid scrolls infinitely; we have customers running 100+ tables on one centre.
Q. Can I migrate from another POS?
Yes. The platform accepts CSV imports for members, F&B menus, and historical sales. Custom migrations from major POSes (Lightspeed, Loyverse, Storehub) are available via the support team.
Q. Is my data encrypted?
Yes — TLS in transit, AES-256 at rest. Sensitive identifiers (member phone, email) are encrypted at column level with path-derived keys; QR cards remain valid across migrations between domains.
Q. Can I export everything?
Yes, in CSV, Excel, JSON, or PDF. Full database exports are available on request — we believe in your right to leave with your data.
Q. What about offline kitchen printing?
Kitchen printers connect over the local network. If the cloud is down but the LAN is up, kitchen tickets continue to print using a local relay. We never strand the cooks.
Where to Get Help
In-product — bug-bug icon on the bottom-right.
Email — support@snookerking.com
Phone — your dedicated success manager (chains and franchises).
Status page — status.snookerking.com for incidents and maintenance windows.
Help us help you
A great bug report contains: exact URL, exact time, exact steps, screenshot, and the member/table/invoice number involved. With those five pieces, most issues are diagnosed in under ten minutes.
34
Chapter XVIGlossary & Index
Chapter XVI · Reference
Glossary & Index
The vocabulary of Snooker King, defined for quick reference.
Term
Definition
Battle
A managed match between two members, tracked frame-by-frame, with stake settlement.
Centre
A single physical venue with tables, staff, F&B menu, and price list.
Client
The top-level tenant — usually a brand or franchise owner.
Comp
An item delivered to the customer for free; recorded as a marketing cost.
Console
The web app used by staff and management.
F&B
Food and beverage; the kitchen and bar side of the business.
Frame
One game of snooker, ending when one player concedes or all balls are potted.
KOT
Kitchen Order Ticket; the printed instruction sent to the cook line.
Live TV Monitor
The wall-mounted display showing tables, prices, and promotions.
Member Portal
The mobile-first customer-facing app.
NFC card
A physical or mobile-virtual card identifying a member by tap.
Operator
A front-of-house staff member with shift-level access.
Organization
A group of centres under one client.
QR card
The default member identification method.
Showcard
A short, animated recognition for member milestones.
Tariff
The price-per-hour rule for a table type and time band.
Void
Cancellation of an item that was never delivered.
35
ColophonSnooker King · User Guide
FINIS
Thank You
For trusting your room, your members, and your livelihood to Snooker King. We will keep working to deserve it.
Colophon
Set in Cormorant Garamond & Inter, with code in JetBrains Mono.
Designed for A4 print & on-screen reading at 1.0 scale.