> 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-prison/features/officer-duty-and-hud.md).

# Officer Duty & HUD

Clocking on and off, who counts as available, and the officer HUD that comes with it.

Duty answers one question: **who is actually working right now?** It drives the terminal dashboard's roster and decides who gets the officer HUD — and deliberately nothing else.

## Manual or automatic

```lua
Config.AutoDuty = {
    enabled = false,
    coords  = nil,        -- nil = the visitation reception desk
}
```

**`enabled = false` (the default) means duty is manual.** Officers clock on and off at the **visitation reception desk**, and only those clocked on show as available on the dashboard or get the HUD.

**`enabled = true` means duty is automatic.** Holding the corrections job is enough, and the clock-on option disappears.

{% hint style="warning" %}
Duty does **not** gate the terminal, the armoury or door control. An officer who forgot to clock on should look absent, not be locked out of their own prison.
{% endhint %}

## The reception desk

The desk carries both of its jobs in **one prompt**:

```
[E] Request visitation      [H] Clock on / off duty
```

`[E]` is for visitors asking to see an inmate; `[H]` shows for anyone with a corrections job. In third-eye mode they are two options on the same desk.

Duty follows `Config.Interact.visitation` (`'target'` or `'button'`), since it shares that desk. Set `Config.AutoDuty.coords` to move clocking on somewhere else.

The server re-checks that the caller is corrections staff and is **actually at the desk** (6 m) before toggling anything.

## What clocking on does

* You appear as **on duty** on the terminal dashboard's officer roster, with how long you've been on
* You get the **officer HUD**
* The change is written to the audit log and Discord

**Disconnecting clocks you off.** The duty set is per-session, so a resource restart clears it — nobody is left showing as on duty because the server went down mid-shift.

## The officer HUD

On-duty staff get the prison at a glance in the bottom-right corner — the same panel language as the prisoner HUD, with the facility's numbers instead of one person's sentence:

* the **in-game time**
* **inmates** on site, **officers** on duty, how many are in **solitary** and in **medical**
* the current **timetable slot**
* a red band across the top during a **lockdown** or a **riot**

```lua
Config.HUD = {
    staff       = true,   -- the officer HUD
    syncSeconds = 15,     -- poll cadence, shared with the prisoner HUD
    toggleKey   = 'BACK', -- Backspace minimises it
}
```

It polls once every `syncSeconds` and costs nothing at all for players who are neither imprisoned nor on duty. Turn it off with `Config.HUD.staff = false`.

## The dashboard roster

The terminal's **Dashboard** lists every corrections officer online with their job, grade and duty state — **on duty first**, then alphabetically. In automatic mode everyone with the job is listed as on duty, which is the honest answer for that setting.
