Enter your username or email. If MFA is enabled on your account we will send a reset code to your email.
📧
OTP Sent!
A 6-digit reset code has been sent to your email.
🔒
MFA Not Enabled
Password reset via OTP requires Email OTP or an Authenticator App to be enabled on your account.
Since neither is enabled, please contact your Duty Manager or Admin to reset your password.
👤 Your admin can reset passwords from Users & Roles → Edit User
✅
Password Reset!
Your password has been updated. You can now sign in with your new password.
Dashboard
Notifications
No notifications
?
—
—
👤 My Shift Today
📅 Today's Shifts — All
⚠ Unassigned Alerts
🏢 Department Overview
Department
Building
Employees
This Month Shifts
Status
Loading...
Loading...
📍 Building: —
With employees · excludes holidays & leave
📅 Mon → Fri
📅 Mon → Sat
📅 Mon → Sun
Loading…
⚙️ Day View Settings
Default Display Mode
Default Sort
Show unassigned employees
Include employees with no shift today
Show leave / day-off entries
Show employees on leave or off today
Building Display Order
Drag to reorder — first building appears at the top
🗓️ Roaster Management
📍 Building: —
With employees · excludes holidays & leave
📅 Mon → Fri
📅 Mon → Sat
📅 Mon → Sun
📋
Loading roster...
⏰ Shift Types
Name
Code
Start
End
Duration
Applies To Days
Type
Color
Actions
👥 Users & Roles
🔍
Name
Username
Role
Department
Building
Sub Dept
Work Days
Status
Actions
🏢 Departments
Name
Code
Building
Color
Status
Actions
🔀 Sub Departments
Name
Code
Parent Department
Color
Status
Actions
🏗️ Buildings
Name
Address
City
Status
Actions
🏖️ Public Holidays
Date
Name
Day
Applies To
Actions
🌴 Applied Leaves
Employee
Type
From
To
Status
Actions
🗓️ Saturday Off
Employee
Date
Notes
Actions
🌴 Leave Cover Swaps
Rollback handled from Leave List
Pending Swapper Accepted Manager Approved
Progress
Requester
Their Shift
Swap With
Target Shift
Notes
Actions
🔄 Direct Swap Requests
Pending Swapper Accepted Manager Approved
Progress
Requester
Their Shift
Swap With
Target Shift
Notes
Actions
🗓️ Saturday Leave Swaps
Have a Saturday off assigned but need leave on a different Saturday? Pick your assigned off-date and the Saturday you want leave on — only eligible swap partners are shown.
Progress
Requester
Their Off Date
Wants Leave On
Swap Partner
Notes
Actions
🏖️ Public Holidays
Date
Holiday
Day
Type
Applies To
🔄 My Sunday Shifts
Date
Shift
Status
🗓️ My Saturday Offs
Date
Notes
🏖️ Public Holidays
Date
Holiday
Type
🌴 My Leave History
Type
From
To
Days
Status
🔄 My Swap Requests
Date
Shift
With
Status
🔄 Sunday Duty
▾
Sunday Duty Pool — All Buildings (only employees with "Can work Sundays" enabled in their profile)
👥 Sunday Roaster — Full Year Auto-Assign
Click "Preview" to see the full Sunday rotation.
✏️ Manual Assign — Pick a Date & Employee
Select Employee(s)
📋 Current Assignments for Year
🗑️ Clear Sunday Roaster
Removes all roster entries for every occurrence of the selected day in the chosen year.
🏖️ Public Holiday Duty
▾
🇮🇳 PH Duty Pool — India (covers India-only and shared holidays)
🇺🇸 PH Duty Pool — United States (covers US-only and shared holidays)
✏️ Manual Assign — Pick a Holiday & Employee
Select Employee(s)
📋 Holiday Assignments for Year
🗑️ Clear PH Roaster
Removes all roster entries for every public holiday in the chosen year.
🤖 Auto Assignment
▾
Configure which days each employee works, their building and shift — then assign for a month. Existing shifts on those days are replaced. Public Holidays and approved leaves are always skipped.
Assign For Month
Day Preset
Select Days
Assign For Year
Assigns selected days for the entire year using per-employee presets below. Replaces existing shifts. PH & leaves skipped.
Clear Shifts For Month
Clear Shifts For Year
Deletes all auto-assigned shifts on the selected days (Mon–Fri / Mon–Sat / Custom). Public Holidays are always excluded.
Employee Presets — Building & Shift Per Person
⚡ Assign Saturday Rotation
🗑️ Clears all existing rotation Saturday Off leaves for this year
⚡ Applies your configured 4/5/6-week plan to every Saturday
✅ Manual individual leaves and swap leaves are not affected
🗓️ Saturday Rotation
▾
Set which employees get Saturday Off each week. Months with 4 Saturdays use the 4-week plan; months with 5 Saturdays use the 5-week plan.
📅 4-Week Plan — months with exactly 4 Saturdays
📅 5-Week Plan — months with 5 Saturdays
📅 6-Week Plan — months with 6 Saturdays (rare)
Click "Preview Year" to see the Saturday rotation for each month.
🔔 Custom Alerts
▾
Set minimum staff thresholds for Sunday duty and Public Holidays, then add any extra custom rules below. Dashboard alerts fire when conditions are not met.
☀️
Sunday / Shuffle Day Alert
Minimum total staff across all buildings
Set 0 to disable alert
Configured in Sunday Duty section above
🏖️
Public Holiday Alert
Minimum total staff across all buildings on PH days
Set 0 to disable alert
Also used when generating PH shifts
Additional Custom Rules
Add rules for specific buildings, days, or shift patterns.
New Alert Rule
🏢 Organization
⚙️ Roaster Preferences
Mandatory Shift Alerts
Highlight unassigned dates in red
Email Notifications
Send shift reminders via email
🔐 My Security
Email OTP on Login
Send a one-time code to your email each time you log in
Authenticator App (TOTP)
Use Google Authenticator or similar app for login
Scan this QR code with your authenticator app:
📧 Email Configuration (SMTP)
Use SSL/TLS
Enable for port 465
🔔 Email Notification Preferences
Choose which events trigger email notifications
🌐 Global MFA Enforcement
Force all employees to use MFA when logging in
Enforce Email OTP for All
Every user must verify via email OTP on each login — overrides individual settings
Enforce Authenticator App for All
Every user must have TOTP authenticator set up — overrides individual settings
⚠️ Enabling these will affect all users on next login. Users without MFA set up will be prompted to configure it.
📋 Audit Log
🔍
Time
User
Action
Entity
Details
IP
📧 Roaster Emails
Scheduled & manual roster emails sent to all employees
🗓️ Weekly Full Roaster Email
Disabled
Send the full next-week roster to all employees every week
Click + New registration → Name: DutyFlow Reports → Single tenant → Register
Go to API permissions → Add a permission → Microsoft Graph → Application permissions → search Mail.Read → Add
Click Grant admin consent → Yes
Go to Certificates & secrets → New client secret → Copy the Value
Go to Overview → Copy Application (client) ID and Directory (tenant) ID
🔐 Gmail / Google Workspace
Create a Service Account in Google Cloud Console with Gmail API access and domain-wide delegation.
⚙️ Report Settings
🚫 Exclude Employees from Daily Reports
Excluded employees will not appear in the Daily Reports grid and won't be counted as missed.
💬 WhatsApp Notifications
Configure which alerts get posted to your WhatsApp group, and when. Requires the WhatsApp bridge service to be running.
Loading…
🔧 Backup Configuration
Auto Backup
Automatically create backups
📦 Create Backup
Create a full snapshot of all DutyFlow data (users, roster, leaves, swaps, settings).
Local backups stored in: /opt/duty-roaster/backups/
📤 Restore from File
⚠️ Restoring will overwrite all current data. A safety backup is automatically created before restore.
🕐 Backup History
Filename
Date
Type
Size
Actions
No backups yet
—
—
Click a day to assign shifts
—
Week
Actions:
📋 Clipboard ready
📅
Select a day above
Assign Shift
New Shift Type
Mon
Tue
Wed
Thu
Fri
Sat
Sun
💡 Red = Mandatory for that building | Unselected = Manageable
Add User
⭐ Duty Manager
Can approve leaves & swaps for a specific department — independent of their own role
Mon
Tue
Wed
Thu
Fri
Sat
Sun
🗓️ Special Duty Eligibility
New Department
New Sub Department
Add Building
📥 Paste Roaster
Shifts will be pasted starting from the 1st of the selected month
Add Holiday
India
United States
📋 Bulk Import Holidays
Select which holidays to import. Edit names/dates as needed. Choose which departments each applies to.
Add Leave
📢 Cover Request
↩ Rollback Saturday Leave Swap
⚠ This will reverse all roster and leave changes. Both employees will be notified by email.
🗓️ Saturday Leave Swap
Loading...
— or —
💡 These employees are working a non-mandatory shift on . They can directly cover your shift — no partner swap needed. On your assigned-off day you'll take their shift.
🔄 New Direct Swap Request
📅 Upcoming Sunday & PH Duty — Swap Suggestions
Loading...
Date *
Shift on that day
Select a date first
Their Shift on this date
—
Options
📋 Copy shifts
📥 Paste here
✕ Clear clipboard
Mandatory Override
🔓 Set Optional for this person
🔒 Set Mandatory for this person
Danger
🗑️ Delete shifts this day
✗ Reject Leave
↩ Rollback Leave
🔄 Swap Request Details
ℹ️ By accepting, your shift on that date will be exchanged with the requester's. The manager will then approve or reject.