- Documentation
- 04Operations
Duty
Who is on duty, your hours week by week, correcting your shifts, team hours, automatic cut-offs and ending someone else’s shift.
Duty tells who is on duty, in which service and since when. Everything else builds on it: you can only form a unit while on duty, the live map only shows on-duty members, and hours feed payroll.
The Duty module (Operations group) is enabled per service in Settings › Services. Every member assigned to the service opens it for their own hours, with no particular permission.
The top bar pill
Section titled “The top bar pill”As soon as one of your services has duty, a pill shows at the top right:
- off duty: a power icon;
- on duty: a live dot, in your organization’s accent color, and a stopwatch.
A click opens the My shift panel: one row per service that has the module, with its state (On duty since what time, or Off duty), the stopwatch and the Go on duty or Go off duty button, then the Open duty link. If several of your services have the module and you are on duty nowhere, the panel asks Which service?. On a phone, the pill becomes a round button in the top bar.
ops-duty-panelThe home page also shows a My shift card with the same button (the stopwatch turns to the accent color while on duty) and the My week card: the week’s total and one bar per day.
The Duty module
Section titled “The Duty module”ops-dutyTabs follow your rights: what you can’t see doesn’t show.
| Tab | Content | Who sees it |
|---|---|---|
| On duty | on-duty members, live, with the time they started | with See the team’s hours, or access to dispatch or units |
| My hours | your week: total, hours per day and shifts | everyone, for themselves |
| Team hours | each member’s total for the week, then one member’s detail | Duty › See the team’s hours (supervisors) |
| Settings | the service’s automatic cut-offs and shift corrections | Duty › Set automatic cut-offs only |
My hours, week by week
Section titled “My hours, week by week”ops-duty-hoursThe tab opens on This week. The Previous week and Next week arrows change week (never past the current one), and Back to this week returns to the present. For each week:
- the Week total, in the accent color, with the number of shifts and, if any, the current shift;
- one bar per day, Monday to Sunday; today’s is highlighted;
- the Shifts this week: day, start and end time, length, why it ended, and the From the game or Corrected tags. The list is paginated (Show more).
Weeks are cut in the organization’s time zone (Monday to Sunday). A shift crossing the end of a pay period is split into several shifts (see below): each has the Continued tag.
Splitting at the end of pay periods
Section titled “Splitting at the end of pay periods”A shift crossing the end of a pay period is automatically split into contiguous shifts: the first ends at 23:59:59 on the period’s last day, the next starts at 00:00 on the next period’s first day, in the organization’s time zone (clock changes included). Each pay period gets exactly its hours, never lost nor counted twice.
- The boundary is the service’s payroll period: every week, every two weeks or every month, with its closing day. Without payroll settings, it is the standard week (Monday to Sunday), which is also the default pay frequency.
- When the shift ends (from the MDT, in game or through an automatic cut-off), it is split at every boundary it crossed.
- During the shift, a scheduled check (every 10 minutes) closes the part in the past period and carries the shift on in a new one starting at 00:00. Nothing shows: the stopwatch still counts from the start of the shift, the officer stays on duty and in their unit, and the game isn’t notified.
- When you correct your times, new times crossing a boundary are split the same way; the audit log says into how many shifts.
Each piece keeps its origin (MDT or game) and a link to the shift’s first session. The first has the reason Continues in the next period, the last the real end reason; statistics count a single start of duty, and the Discord end-of-shift message gives the whole shift’s length.
ops-duty-agentCorrecting my times
Section titled “Correcting my times”Forgot to go off duty, started late: you can correct your own shifts started from the MDT, when going on duty from the MDT is Allowed in this service (always the case without the game integration).
- In My hours, on the shift, click Correct.
- Change the Start and End (in the organization’s time zone). The length updates.
- Save.
ops-duty-editThe server checks every correction: the end comes after the start, nothing is in the future, the shift overlaps none of your other shifts in this service, and it doesn’t exceed the service’s correction limit (24 h by default; a longer original shift can keep its length). The week’s totals and payroll hours follow, and times crossing the end of a pay period are split into several shifts. Every correction goes to the audit log with the before and after (start, end, length), and the shift gets the Corrected tag.
Team hours
Section titled “Team hours”With Duty › See the team’s hours, the Team hours tab ranks members by hours for the week, with the team total and the same week navigation.
ops-duty-teamClick a member to open their hours: their week, hours per day and shifts, with the same navigation. Back to the team returns to the ranking.
ops-duty-memberEnding another member’s shift
Section titled “Ending another member’s shift”With Duty › End someone else’s duty, each row of the On duty tab has an End shift button: hold it down (there is no confirmation dialog). The member sees “Shift ended by a supervisor” in their history, and the action goes to the audit log. Without this permission, the button stays visible on other members’ rows, locked with a padlock and the help “Restricted: Duty › End someone else’s duty”.
Automatic cut-offs
Section titled “Automatic cut-offs”A forgotten shift can end on its own. Cut-offs are off by default (new organization, new service, templates); each rule is optional and set per service, in the module’s Settings tab or in Settings › Operations, with Duty › Set automatic cut-offs. Without this permission, the Settings tab doesn’t show and the server refuses both reading and changing them.
| Setting | Range |
|---|---|
| Cut-off after inactivity in the MDT | 15 minutes to 12 hours without any action |
| Reminder before the cut-off | 1 to 60 minutes, shorter than the inactivity cut-off (which it requires) |
In the same place, with the same permission, the Correcting shifts card sets the Maximum length of a corrected shift: 1 to 72 hours, 24 h by default. Every change goes to the audit log (before → after). This setting is also offered in the Going on duty step of the Setup.
ops-duty-settingssettings-operationsWhen the reminder fires, the member sees Still there? with the cut-off time and an I’m here button, which restarts the inactivity delay. Any action in the MDT (opening a record, creating a call, changing status…) counts as activity.
Why a shift ended
Section titled “Why a shift ended”Shifts show why they ended:
| Reason | When |
|---|---|
| Went off duty | the member ended it themselves |
| Shift ended by a supervisor | a supervisor used End shift |
| Automatic cut-off: inactivity | no activity before the deadline |
| Left the game | the character left the job or the game server |
| Shift ended: member removed from the service | removed from the service or the organization, or suspended |
| Continues in the next period | the shift crossed the end of a pay period: it continues in the next session |
| Automatic cut-off: maximum duration reached | older shifts only (rule removed) |
With the game integration
Section titled “With the game integration”When the game integration is on, each service decides who sets duty, with the Going on duty from the MDT setting in its panel (Settings › Services, shown when the service has the Duty module):
| Setting | Effect |
|---|---|
| Only while in game (default) | the MDT button only works while this service’s character is in game; it also puts you on duty in game |
| Allowed | the MDT button starts and ends duty, in game or not; everyone can correct their shifts started from the MDT |
| Game only | duty starts in game (locker room, command or the server’s job); the MDT only shows it |
In the My shift panel, a service set to Game only has no button: the row says “You go on duty in game”. With Only while in game, as long as your character isn’t in game, the button stays greyed out with “Join the game to go on duty”.
Whatever the setting, a supervisor can always end an officer’s shift, and automatic cut-offs apply. Without the game integration, duty is set from the MDT only.
Permissions
Section titled “Permissions”| Permission | What it allows | Default |
|---|---|---|
| Duty › See the team’s hours | the Team hours tab, each member’s hours (also in the roster profile) and the On duty tab | supervisors and up |
| Duty › End someone else’s duty | End shift for a colleague who forgot to | supervisors and up |
| Duty › Set automatic cut-offs | the Settings tab: inactivity, reminder and the shift correction limit | command |
Starting and ending your own shift, seeing and correcting your own hours need no permission: you only need to be assigned to the service and not suspended. See Permissions for details.