Department Panel · Est. 2026

The panel your
department graduates to
when the sheet stops coping.

Rosters, ranks, callsigns, hours, training and discipline — one panel, self-hosted, built the way a real department is structured. Discord decides who gets in the door. VaultFX End of Watch decides everything after that.

CASE FILE · VFXRP-EOW VaultFX RP End of Watch badge crest
01
Roster of record
02
Callsigns w/ lifecycle
03
Queued Discord writeback
04
Audit row on every change
Doctrine

Every serious community ends up running the same fragile setup.

A roster spreadsheet nobody fully trusts. Callsigns claimed in a text channel. Promotions handed out by whoever remembered to change the role. Hours logged on the honour system. End of Watch replaces all of it with one panel that owns the department's standing outright — Discord just reflects it.

§ 01

The panel owns rank — Discord follows

Discord decides one thing: whether someone may access a department at all. Everything after that — rank, callsign, hours, certifications, history — is owned by the panel. Promote an officer in End of Watch and their Discord rank role and nickname are rewritten to match, in whichever guild that department lives in.

§ 02

Writeback is queued, never inline

A rate limit, a timeout or a brief Discord outage can't leave the panel saying Sergeant while Discord still says Officer — the change is delivered the moment Discord is reachable again. Anything that can never succeed (missing permission, member left the server, bad token) is listed with the reason and can be retried, instead of failing silently in the dark.

§ 03

Built for multi-guild communities

Guilds are first-class records. Departments bind to a guild, and every Discord role reference is stored per-guild, so a role is never ambiguous across a community running more than one server. Link a guild read-only and the panel will not touch it until you say so.

§ 04

Callsigns as inventory, not a text field

Each department owns a pool of callsigns with a real lifecycle — available, assigned, retired. Assignment is a transaction: the old sign returns to the pool, the new one is taken, and an audit row is written. No two officers ever hold the same callsign at once.

§ 05

Everything that changes standing is attributed

Hires, promotions, demotions, transfers, terminations, discipline and LOA decisions all write an audit row with who did it and when. Rosters are evidence in a dispute — an unattributed change is worthless as a record. A read-only API for FiveM and CAD integrations ships in the box, so in-game duty state and rosters stay in sync with the panel.

Everything on the shelf

One panel. Every part of running a department.

Discord OAuth sign-in

Members sign in with the account they already use — no second password to manage.

Role-granted access

A single Discord role decides who may enter a department in the panel. Nothing more.

Promotion writeback

Change a rank in the panel and the matching Discord role and nickname follow automatically.

Multi-guild support

Departments bind to a specific guild. Role IDs never collide across servers.

Callsign pool management

Available, assigned, retired — a real lifecycle instead of a shared text file.

Rank ladders with permissions

Ordered ranks, each carrying its own set of panel permissions.

Full roster & employee records

Badge numbers, characters, divisions, hire dates — the whole file in one place.

Duty hours tracking

Clock in, clock out, and a running total per employee, per department.

Training & certifications

Track who holds FTO, SWAT, K9 and any cert your department runs, with expiries.

Discipline records

Verbal warnings through termination, each tied to a penal code reference.

LOA requests & approvals

Members file leave requests; command approves or denies with a reason on record.

Divisions, awards & meetings

K9, SWAT, Traffic, Detectives — tag employees and schedule department meetings.

Hiring & application forms

Custom application forms feed straight into a review queue for command staff.

Penal code manager

Keep your department's code current — classes, fines and jail time in one table.

Public roster pages

A read-only public view of active staff, for players who just need a name and rank.

CSV exports

Pull any table — roster, hours, discipline — into a spreadsheet in one click.

Audit trail on everything

Every write to standing is attributed to a person and a timestamp.

Integration API

Read-only endpoints for FiveM and CAD tools, keyed per department.

Ready when you are

Stand your department up on End of Watch.

Sign in with the Discord account you already use in the server. If you hold a position in a linked department, your roster record is waiting on the other side. Browsing instead? Public roster pages are open to everyone.