> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/resources/mango-mdt/features/records-modules.md).

# Records Modules

Cases, reports, vehicles, investigations, officer profiles, activity, search, and notifications — all database-backed record modules.

The remaining modules round out the records system. They need no setup beyond install — this page is what each one does.

{% hint style="success" %}
**Everything on this page persists.** Cases and Reports write to their own database tables (`mdt_cases`, `mdt_reports` — created automatically on first start), and Vehicles reads your **framework's own vehicle registry** live, so every record survives script and server restarts. The only interface-preview modules left are Activity, Notifications, and Global Search feeds.
{% endhint %}

## Cases

Case files tie an investigation together — suspects, victims, evidence, reports, and notes in one folder-styled record with its own timeline, plus dashboard pinning. Other modules deep-link in through the case number. Cases persist to `mdt_cases`; case numbers are `CASE-<id>` and unique forever. Notes are open to every officer; editing someone else's case takes `mdt.admin`.

## Reports

Incident/arrest report writing with linked citizens, vehicles, charges, and fine/jail computation (`config/reports.lua` controls which report types are offered). Saving a report **really bills its fines** — one citation per fine-carrying charge, issued to each linked citizen through the billing bridge and stamped with the report number ([Fines](/mango5m-docs/resources/mango-mdt/features/fines.md)) — and **sentences its jail-time charges** as one combined prison sentence per subject ([Jail and Sentencing](/mango5m-docs/resources/mango-mdt/features/jail-and-sentencing.md)). Both are server-authoritative: the client only names charge ids, amounts and durations are re-read from the penal code, and re-saves never double-bill or double-sentence. Reports persist to `mdt_reports`; report numbers are `RPT-<id>`, unique forever. Editing or deleting someone else's report takes `mdt.admin`.

## Vehicles

Vehicle lookups over your **framework's real vehicle registry** — `owned_vehicles` on ESX, `player_vehicles` on QBCore/Qbox — read through the framework bridge, so a car appears in the MDT the moment a player buys it, no sync step (the assembled list is cached server-side for a few seconds to keep slow databases quiet). On ESX, the vehicle-shop **catalogue** (`vehicles`: name/price/category) enriches each record server-side — display name, class, and purchase value; anything the catalogue doesn't list (and every qb model) resolves through game natives instead. Profiles show real **performance stats** (top speed, acceleration, handling, braking, traction — pulled from the game's own handling data), the **paint colour** (named from the game's colour catalogue, or a swatch for custom paint — read from the saved vehicle properties when present, and otherwise **observed live off the actual streamed car** whenever an officer with the MDT open is near it, then remembered, so colours fill in organically as officers patrol), and real vehicle photos keyed by spawn code. Officers can **mark a vehicle as stolen** from its profile — the marker persists, tints the record red, and gets its own list filter. With an [insurance bridge](/mango5m-docs/resources/mango-mdt/configuration/framework-and-bridges.md) bound, profiles also show the plate's **live insurance policy** (status, plan, policy number, expiry) read from your insurance resource — and with none bound, the insurance section hides itself entirely. Officer notes persist per plate in `mdt_vehicle_notes`.

## Investigations

Long-running investigation **boards** — pinned photos, notes, and string between evidence, fully database-backed with archive/restore (`investigations.view` / `manage` / `restore`).

## Officer profiles

Every officer has a database-backed profile — certifications (managed with `officers.manage_certifications`), their Field Training panel, and their applications/resignations history.

## Activity

The audit/activity feed interface — search, category filters, pagination.

## Global Search

The header search box routes into the Person Database from anywhere; the dedicated Global Search page adds category chips across every module.

## Notifications

The in-MDT notification center: sidebar badges and a feed. Where officer-facing messages *visually* appear (inside the MDT vs your HUD's notify resource) is the [Notifications bridge](/mango5m-docs/resources/mango-mdt/configuration/framework-and-bridges.md) selection.
