> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rodyne.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage staff and duty

> Track availability, live duty, shift history, and audited corrections.

Open **Community Management → Staff & duty**. Staff administration and invitations remain under workspace settings.

## Clock in

Eligible staff choose a duty area, such as Discord support or Roblox moderation, and clock in. The server stores the start time, so the timer survives navigation, refreshes, and browser restarts.

Only one active shift is allowed per person in a workspace. Clock out to create the completed interval.

## Visibility

* Workspace staff can see the current on-duty list.
* Each staff member can read their own paginated shift history.
* Team history and corrections require owner, manager, or `duty.manage` access.
* Viewers cannot clock in unless they receive `duty.clock` explicitly.

## Availability

Staff can keep a self-reported availability state. The roster also shows assigned-work counts limited to queues the viewer is allowed to read; it does not leak restricted case or ticket counts.

## Correct a shift

A correction requires:

* A reason.
* Valid, non-future timestamps.
* The current record version.
* `duty.manage` access.

A correction can close an active shift but cannot reopen a completed one. Original values, corrected values, and the reason remain in the append-only audit trail.

<Info>
  Duty is self-reported staff time. It is separate from server-observed Roblox event attendance.
</Info>

## Guided walkthrough

<Frame caption="Staff & duty shows current availability, active shifts, and reviewed history.">
  <img src="https://mintcdn.com/rodyne/3VLEvtRzxXCeXuB_/assets/screenshots/staff-duty-main.png?fit=max&auto=format&n=3VLEvtRzxXCeXuB_&q=85&s=9f4f70032a592f9cc1f13ba2c8de6ddc" alt="Rodyne Staff and duty page with availability and shift controls" width="990" height="742" data-path="assets/screenshots/staff-duty-main.png" />
</Frame>

The screenshot above is from the live Rodyne product. Use it to orient yourself, but rely on the current record state and live provider checks when operating the workspace.

## Operating procedure

<Steps>
  <Step title="Set availability">
    Keep the self-reported state current before joining operational queues.
  </Step>

  <Step title="Choose the duty area">
    Clock into the work area that best describes the active responsibility.
  </Step>

  <Step title="Work assigned records">
    Use queue assignments rather than duty presence alone to show ownership.
  </Step>

  <Step title="Clock out">
    End the shift promptly so the stored interval reflects actual activity.
  </Step>

  <Step title="Correct with evidence">
    Managers should record a reason and preserve the original values when correcting history.
  </Step>
</Steps>

## Acceptance checks

| Check        | Ready when                                        | If it is not ready                               |
| ------------ | ------------------------------------------------- | ------------------------------------------------ |
| Active shift | Only one current shift exists                     | Close the stale shift with an audited correction |
| Visibility   | Viewer sees only permitted workload counts        | Review queue permissions                         |
| History      | Correction reason and prior values remain visible | Do not replace the audit entry                   |

## Failure recovery

A timer displayed in the browser is not the source of truth; the server-side interval is. If a browser closes unexpectedly, reopen Staff & duty and end or correct the active shift.

## Continue the workflow

<CardGroup cols={2}>
  <Card title="Understand analytics" href="/guides/analytics" icon="chart-no-axes-combined" />

  <Card title="Roles and permissions" href="/administration/permissions" icon="key-round" />
</CardGroup>
