People (Presence)
← Manual
The People section provides a real-time mustering and attendance view. Operators can see who is currently on-site (In), off-site (Out), or on Leave, manually toggle presence status, add new people, and drill into an individual’s presence history and personal details. It also supports Muster Mode for emergency headcounts.
Page Structure
┌──────────────────────────────────────────────────────────────┐
│ Presence Action Alert (top — auto-dismissing snack bar) │
│ Appears whenever any person's presence status changes │
├──────────────────────────────────────────────────────────────┤
│ Toolbar │
│ - Grid / List layout toggle │
│ - Sort: A-Z / Most Recent / Position │
│ - Type filter (Crew, Guest, etc.) │
│ - Archived status: Active / Archived │
│ - Presence status filter: In / Out / Leave (with counts) │
│ - Text search or Alphabetical filter toggle │
│ - "Add Person" menu │
├──────────────────────────────────────────────────────────────┤
│ People Grid / List │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ New Card │ │ Person A │ │ Person B │ ... │
│ └──────────┘ └──────────┘ └──────────┘ │
├──────────────────────────────────────────────────────────────┤
│ Person Detail Panel (shown when person selected) │
└──────────────────────────────────────────────────────────────┘
When a person is selected, the grid collapses to a single column and the detail panel opens on the right (at /presence/:id).
Toolbar Filter Controls
| Control | Options | Description |
|---|---|---|
| Layout | Grid / List | Card grid vs compact row list |
| Sort | A-Z / Most Recent / Position | Sorts visible cards |
| Type filter | One toggle per person type | Multi-select; at least one must stay selected |
| Archived status | Active / Archived | Multi-select |
| Presence status | In / Out / Leave (with live counts) | Multi-select |
| Filter mode | Text search / Alphabetical | Switches input mode |
| Text search | Free text | Filters by name and credential values |
| Alphabetical | Letter-by-letter picker | Progressive filter with count; backspace and clear supported |
Person Cards
Each person is shown as a card displaying:
- Photo / avatar
- Full name
- Person type (Crew, Guest, etc.)
- Current presence status badge
- Face detection indicator (if biometric face data is registered)
Clicking a card — opens the person’s detail panel.
Clicking the presence toggle area — if no check-in requirements: immediately toggles In/Out. If requirements exist (agreements or security check): opens the Check In/Out Dialog.
Adding a Person
The Add New Person card (always first in the grid, requires person:create) opens the Add Person menu. Selecting a person type launches the Person Creation Wizard — a multi-step guided flow.
Check In/Out Dialog
Shown when a person’s type has check-in requirements. Uses a vertical stepper with up to 4 steps:
| Step | Shown | Content |
|---|---|---|
| 1 — Select Action | Always | Toggle: In / Out / On Leave (Leave only for staff type); Continue |
| 2 — Agreements | Only if agreements required | List of required agreements; all must be current before Continue is enabled |
| 3 — Security Check | Always | Toggle: Security Check Completed / Not Completed |
| 4 — Summary | Always | Confirms the chosen action and check status; Save executes the change |
Cancel is available at any step. Back returns to the previous step.
Person Detail Panel
Select any person card to open their detail panel. Three tabs:
| Tab | Permission | Contents |
|---|---|---|
| Presence | presence:read |
Presence controls + chronological check-in/out history |
| Details | person:read |
Full personal info, credentials, access rules — same as Access → People |
| Faces | person:face |
Biometric face image management |
Presence Tab Controls
| Control | Permission | Description |
|---|---|---|
| Toggle In/Out | presence:update |
Instantly toggles, or opens Check In/Out Dialog if required |
| Set On Leave | presence:update |
Staff type only, when currently In |
person:print |
Opens Print ID Card dialog | |
| Presence history | presence:read |
Chronological log of check-in/check-out events |
Muster Mode
The Muster button in the app bar (requires presence:read) activates Muster Mode — designed for emergency headcounts. The button navigates to the People page pre-filtered to show only people with status In.
Presence Action Alert
A floating notification appears whenever any person’s presence status changes (not just your own actions). It shows:
- Person photo / name
- New status
- Timestamp
- Close (×) button
Actions & Permissions
| Action | Permission |
|---|---|
| View presence section | /presence route |
| Toggle person In/Out | presence:update |
| Set person On Leave | presence:update (staff type only) |
| Add new person | person:create |
| View person details | person:read |
| View person faces | person:face |
| Print ID card | person:print |
| View muster button | presence:read |
Offline Behaviour
The Add Person button is disabled when the backend is offline. Person cards show a disabled state, but the presence section itself remains navigable.