Back to home

Admin Guide

Last updated: February 2026

Rota Editing Basics

The rota grid shows staff as columns and dates as rows. Each cell represents one staff member on one day. Click any cell to open the shift popup.

Cell states
Click to assign
Empty cell
Day
Assigned shift
Day!
Conflict warning

Assigning a shift

Click an empty cell to open the popup, then select a shift template from the dropdown. The shift is created immediately. If an unfilled shift with the same label and times already exists for that day, the system will automatically assign the staff member to it instead of creating a duplicate.

Editing an existing shift

Click a cell that already has a shift. The popup shows the current shift details with an Edit / Add mode toggle:

  • Edit mode — selecting a template replaces the existing shift.
  • Add mode — selecting a template creates an additional shift on the same cell.

Conflict warnings

When you open the popup for a staff member who already has shifts or diary entries on that day, an amber warning box appears showing:

  • Existing shifts (label and start time)
  • Diary entries (Annual Leave, Study Leave, Professional Leave, or other notes)
Note
Conflict warnings are informational — they don't prevent you from assigning shifts. Use your clinical judgement to decide whether the assignment is appropriate.

Right-click for detailed editing

Right-click any cell to open the detailed shift editor. This gives you full control over shift fields including times, PA value, locum flag, and staff selection from a searchable dropdown.

Keyboard Shortcuts

EDRota supports keyboard shortcuts for faster rota editing. These work on the Detailed (Staff & Date) rota view.

ShortcutAction
Click
Open shift popup
Shift+Click
Multi-select rectangle of cells
Escape
Close popup / clear selection
Delete+Backspace
Delete shift
U
Unfill shift (remove staff, keep shift)
S
Toggle sick leave
Cmd/Ctrl+C
Copy selected days
Cmd/Ctrl+V
Paste copied shifts at target cell
Cmd/Ctrl+Z
Undo last action (batch-aware)
Tip
Multi-select with Shift+Click is the fastest way to apply changes across many cells. All bulk operations can be undone atomically with one Cmd/Ctrl+Z.

Multi-Cell Select & Bulk Operations

Select a rectangle of cells to apply the same action to multiple staff members across multiple days in one go.

Multi-select → bulk action
Smith
Patel
Jones
Mon
Day
Click
Night
Twi
Tue
Night
Twi
⇧Click
Day
Wed
Twi
Day
Night
4 cells|AssignLeave|UnfillDelete
1

Click the first cell

This sets the anchor point for your selection.

2

Shift + Click the last cell

All cells in the rectangle between the anchor and this cell are selected. Selected cells are highlighted with a blue tint.

3

Choose an action from the floating toolbar

The toolbar appears at the bottom of the screen showing the number of selected cells.

4

Action is applied to all selected cells

All changes happen in parallel for speed. A toast confirms how many cells were affected.

Click "Clear" or click any cell without Shift to deselect.

Available bulk actions

  • Assign shift template — select from the shift dropdown to assign the same shift to all selected cells.
  • Apply leave — select a leave category (AL, SL, PL, etc.) from the leave dropdown.
  • Unfill — remove staff from all shifts in the selected cells (shifts remain as unfilled).
  • Delete — permanently delete all shifts in the selected cells.
  • Copy & Paste — select days in one staff column, press Cmd/Ctrl+C, then click a target cell on any staff member and press Cmd/Ctrl+V. The copied day pattern is recreated starting from the target day. Days that already have shifts are skipped. Works across staff within the same role.
Warning
Bulk delete removes shifts permanently. Use Cmd/Ctrl+Z immediately if you make a mistake.

Undo System

Press Cmd/Ctrl + Z to undo the last rota action. This works from anywhere on the rota page, regardless of which element has focus.

Undo stack (Cmd/Ctrl + Z)
BatchBulk assign × 4 cells← next undo
DeleteDeleted Night shift
UpdateChanged Day → Long
CreateCreated SPA for Patel

What can be undone

  • Create — undone by deleting the newly created shift.
  • Update — undone by reverting the shift to its previous state.
  • Delete — undone by recreating the deleted shift.
  • Batch — bulk operations (multi-cell assign, bulk delete, bulk unfill) undo as a single atomic action. One Cmd/Ctrl+Z reverses the entire batch.
Note
The undo stack holds up to 20 actions. Undo is not available after navigating away from the rota page or refreshing the browser.

Visual Indicators

The rota grid uses several visual cues to convey information at a glance without cluttering the interface.

Visual indicators on the rota grid
Smith
Patel
Jones
Lee
Mon
Day
A/L
Night
SPA
Sat
Day
Night
+1
A/L border S/L border Weekend tint Column hover Unfilled

Diary entry borders

When a staff member has a diary entry on a given day, their cell shows a coloured left border:

  • Amber — Annual Leave
  • Blue — Study Leave
  • Purple — Professional Leave
  • Slate — Other diary entry

Column hover

Hovering over any cell highlights the entire staff column with a subtle blue tint, making it easier to track which column you're looking at across a wide grid.

Weekend rows

Saturday and Sunday rows have an amber tinted background to stand out from weekday rows.

Compliance violation indicators

Shifts that breach rest rules show an orange triangle in the corner of the cell. Currently the engine checks for the 11-hour minimum rest period between consecutive shifts. Click the compliance badge in the rota header to see all violations for the current month in a summary modal.

Completeness badge

The "X% filled" badge in the rota header compares actual shifts against your minimum cover plan requirements. It turns green at 90%+, amber at 60-89%, and red below 60%. Only appears when a cover plan is active for the current role and month.

Draft / Published status

Each month shows an amber Draft or green Published badge. Draft months are still being edited; published months are finalised and visible in the audit trail.

Shift comment icon

Shifts with attached comments display a small indicator in the corner. Click it to view the full comment thread.

Comments on Date

Each day has a comment column on the far right of the rota grid. Comments are per-role, so each role has its own comment space.

Adding and editing comments

Click the comment cell (or the "+ comment" placeholder) to open the comment dialog. Type your note and save. Comments appear inline on the rota grid.

Comment cell with bold red formatting
You type
Normal text *urgent warning* more text
Renders as
Normal text urgent warning more text

Bold red formatting

Wrap text in asterisks to make it bold and red:

Normal text *urgent warning* more text

Renders as: Normal text urgent warning more text

Tip
Use bold red sparingly for genuinely important messages — staffing shortages, critical safety alerts or staffing warnings.

Rota Patterns

Rota patterns let you define reusable shift schedules and deploy them to the rota in bulk. Ideal for recurring rotation cycles, on-call rotas, and standard shift patterns.

Weekday Core Shifts
7-day cycle · 13 shifts · 120 hrs/week
PreviewDeploy
Mon
Long
Night
Tue
Long
Night
Wed
Long
SPA
Thu
Long
Night
Fri
Long
Twi
Sat
Day
Night
Sun
Day
Deploy to:10 Feb – 9 Mar 2026
39 shifts

Creating a pattern

1

Go to Admin → Patterns tab

Click "New Pattern" to start the builder.

2

Name your pattern and set the cycle length

Choose 1 to 12 weeks. A 2-week cycle means the pattern repeats every fortnight.

3

Add shifts to the weekly grid

Click a day to add shift templates. You can add multiple shifts per day.

4

Preview and save

The preview shows total shifts and hours per week. Save when you're happy.

Deploying a pattern

1

Open the deploy dialog

Click the "Deploy" button on any saved pattern.

2

Choose a date range

Select the start and end dates for deployment.

3

Optionally assign staff

You can assign staff during deployment or leave shifts unfilled to assign later.

4

Review conflict preview

The system shows any existing shifts that overlap with the pattern. You can proceed or adjust.

5

Deploy

Shifts are created in bulk. A toast confirms the count.

Tip
For rolling rotations (e.g., SHO on-call), use offset deployment to stagger when each staff member starts the cycle.

Minimum Cover

Minimum cover lets you define how many of each shift type your department needs on each day of the week. When the actual rota falls short, amber gap indicators appear across all rota views — making missing coverage impossible to overlook.

Minimum cover plan — 7-day requirements
Standard CoverActive1 Nov 2025 – indefinite
Mon
Day3
Night2
Tue
Day3
Night2
Sat
Day2
Night2
Monday: 1 Day shift needed — amber gap appears on the rota

Creating a cover plan

1

Go to Admin → Cover tab

Select the role you want to set cover requirements for.

2

Create a new plan

Give it a name (e.g., "Standard Cover" or "Winter Cover") and set the effective dates. Toggle "Indefinite" if there's no end date.

3

Build the 7-day grid

For each day (Monday to Sunday), click "+" to add shift templates. Use the count badges to set how many of each shift type are needed.

4

Save the plan

The plan becomes active immediately for the specified date range. Gap indicators start appearing on the rota.

How gaps appear on the rota

  • Detailed view — amber dashed cells appear in the Unfilled column for each missing shift.
  • Simple view — an amber "N more needed" badge appears below the staff pills.
  • Calendar view — amber gap cards appear after shift cards in each day.
  • Today view — each role shows an amber gap count in the header, with "N more" badges on shift columns.

Validity periods

Cover plans have effective from and effective until dates so you can have different requirements for different times of year. Only one plan can be active per role at any given date — overlapping plans are rejected automatically.

Tip
Use the copy actions (Mon → Weekdays, Mon → All) to quickly fill the grid when most days have the same requirements.
Note
Gap indicators are informational — they highlight where coverage is short but don't prevent shifts from being created or edited. Gaps update in real time as shifts are added or removed.

Public Holidays

Public holidays are workplace-scoped — all roles at the same workplace share the same holiday calendar. Holidays are highlighted in rose across the rota grid, diary, and statistics views.

Public holidays admin — auto-fill + rota highlighting
United Kingdom · 2026
Auto-Fill+ Custom
1 JanNew Year's DayAuto
18 AprGood FridayAuto
21 AprEaster MondayAuto
15 JulTraining DayCustom
25 DecChristmas DayAuto
Rota grid on a holiday
25 Dec
Day
Day
Day
Rose tint — public holidayAmber tint — weekend

Auto-filling holidays

1

Go to Admin → Holidays tab

The tab shows all holidays for the current workplace and year.

2

Click "Auto-Fill"

Fetches public holidays from an online database for your workplace's country. Duplicates are skipped automatically.

3

Review and adjust

Delete any holidays that don't apply, or add custom ones (e.g., department training days, local events).

How holidays appear

  • Rota grid — holiday rows have a rose-tinted background. Hover over the date cell to see the holiday name in a tooltip.
  • Diary — holiday day cards show a rose date circle, rose header gradient, and a small holiday name badge.
  • Calendar view — holiday cells have a rose tint and a rose date badge.
  • Statistics — toggle "Bank Holidays" to see a dedicated row counting shifts that qualify as bank holiday work (at least 4 hours after 6 AM).
Tip
Use the year picker to set up next year's holidays in advance. Auto-fill works for any year supported by the holiday database.
Note
Holiday styling takes precedence over weekend styling — a bank holiday on a Saturday shows rose, not amber. The "Clear Auto-Filled" button removes only auto-filled entries and preserves any custom holidays you've added.

Draft & Published Rota

Each month's rota starts as a Draft. Once you're satisfied with the schedule, publish it to mark it as finalised. Publishing is permanent — a published month cannot be reverted to draft.

Publishing a month

1

Finish editing the rota

Make sure all shifts are assigned and coverage looks right. Check the completeness badge for a quick overview.

2

Click the "Publish" button

Only visible to admins with rota editing permissions. Located next to the draft badge in the rota header.

3

Confirm in the dialog

A confirmation dialog explains what publishing means. Confirm to proceed.

What publishing does

  • Badge changes — the header badge switches from amber "Draft" to green "Published".
  • Audit trail starts — shift changes in draft months are not recorded in the audit log. Once published, all changes are fully audited.
  • Permanent — you can still edit shifts after publishing, but you cannot unpublish. This ensures the audit trail remains trustworthy.
Tip
You can still make changes to a published month — publishing doesn't lock the rota. It simply turns on audit recording so all subsequent changes are tracked.

Staff Management

1. Quick-add users
Dr Smith
Dr Patel
Dr Jones
Create 3 Users
2. Auto-generated PIN
Staff PIN
48271
CopyPrint
3. Printable slip
Emergency Department
Dr Smith
48271
Change PIN after first login

Individual user management

Go to Admin → Users to manage individual staff members. The user stepper guides you through five steps:

  • Step 1: Search / Create — find an existing user or start creating a new one.
  • Step 2: Profile — name, email, title, and contact details.
  • Step 3: Role assignment — assign roles and set permissions for each role.
  • Step 4: Job plans — set PA targets and leave allowances (scoped to the active role).
  • Step 5: Completed — summary of the new user, with an option to create a login.

In edit mode, you can click any completed step in the stepper to jump directly to it. A Draft badge appears during creation to remind you that the user is not saved until you complete all steps.

Login creation

After creating or editing a user without a login, the Completed step offers a one-click login setup. Enter an email and password to create a Clerk login. You can also manage logins later from the Logins tab in Admin.

Quick-add users

Go to Admin → Users → Bulk Operations → Quick Add. Enter names (one per line or comma-separated), and users are created with auto-generated PINs. Each user gets a printable PIN slip you can hand out.

PIN management

  • Auto-generate — tick the sparkle icon when creating a user to generate a random 5-digit PIN.
  • One-time display — PINs are shown once in a modal after creation. Copy or print before closing.
  • Admin reset — admins can reset a user's PIN but cannot view existing PINs. The new PIN is shown once.
  • Printable slips — professional PIN slips for handing to staff, with department branding.

Bulk operations

  • Bulk role assign — assign a role to multiple staff at once with permission presets.
  • Bulk job plans — create job plans (PA targets, leave allowances) for multiple staff.
  • Rotation changeover — the wizard walks you through a full rotation change: remove old roles, assign new ones, create job plans, and quick-add any new starters.

Shift Templates

Shift templates define the building blocks of your rota — the shift types your department uses. Go to Admin → Templates to manage them.

Shift template examples
LD
08:0020:30
1.0 PADCC
Night
20:0008:00
1.0 PADCC
SPA
09:0012:00
0.3 PASPA
  • Label — short name shown on the rota (e.g., "LD", "Night", "SPA").
  • Times — start and end times for the shift.
  • Colours — background and font colours for visual distinction on the grid.
  • PA value — programmed activities value for contractual tracking.
  • Activity type flags — whether the shift counts as DCC or SPA (in PA mode) or Clinical or Non-clinical (in Hours mode). These labels adapt automatically based on the role's tracking mode.
  • "Save as New" — duplicate an existing template with modifications.
  • All Day — templates can be set to "All Day" (no start/end time). All Day shifts count as 24 hours for statistics and ledger calculations. Best for on-call cover or full-day commitments.
Tip
Choose distinct colours for each shift type. This makes the rota scannable at a glance — you can spot coverage gaps by looking for missing colours.

Time-off categories

To record leave (annual leave, study leave, sick leave, etc.), use the time-off category dropdown in the detailed shift editor — don't create All Day shift templates for leave types. The dropdown defaults to "Worked"; change it to the appropriate leave type. The shift label and colours auto-fill from the category.

Time-off categories appear in statistics, the ledger, and calendar feeds. If the role has leave-adjusted ledger targets, only shifts tagged with the correct time-off category will reduce target hours.

Audit Trail

Every shift change is logged automatically. Go to Admin → Audit to view the trail.

Audit trail timeline
Dr Patel14:32
Picked up Night shift
Thu 15 Feb
Admin14:28
Approved swap request
Dr Lee ↔ Dr Jones
Dr Smith13:55
Posted Giveaway
Twi — Sat 17 Feb
Dr Brown13:41
Updated leave request
AL: 19–23 Feb
  • Colour-coded events — green for creates, blue for updates, red for deletes.
  • JSON diff — each update shows the old and new state side by side, so you can see exactly what changed.
  • Filters — narrow by date range, role, or event type.
  • "Changed By" — shows which admin made each change.
Note
Draft months do not record audit entries — the trail only starts once a month is published. If you view the audit log for a draft month, a banner explains that changes are not being tracked yet.

Export

Export the current rota from any view using the Share & Export dropdown in the toolbar. The export dialog lets you choose a format and set options before downloading.

Export format comparison
Excel
.xlsx
With colours
CSV
.csv
Date,Staff,Shift
10,Smith,Day
10,Patel,Night
Plain data
JSON
.json
{ "shifts": [
  { "label":...
  }
}
Structured

Formats

  • Excel (.xlsx) — formatted spreadsheet with shift colours, styled headers, and conditional formatting. Best for printing and visual review.
  • CSV (.csv) — one row per shift assignment with staff name, shift label, start/end times, activity type (DCC/SPA or Clinical/Non-clinical), and time-off category. Choose comma or tab delimiter. Opens in any spreadsheet or data tool.
  • JSON (.json) — structured data with metadata, staff lists, shifts, comments, and templates. No internal IDs are included — only user-facing fields. Best for developers and system integration.
Tip
Exports never include internal identifiers (UUIDs, profile IDs) or sensitive fields. Only staff names, shift details, and scheduling data are exported.

PA/Hours Ledger

The PA/Hours Ledger tracks programmed activities or hours against job plan targets for each staff member. It supports annualised contracts where monthly fluctuations are expected — the running balance shows whether staff are on track over the year.

Ledger row — target override
Staff
Tgt
Act
Bal
Running
Smith
10.0
10.5
+0.5
+1.2
Patel
8.5*
7.5
-1.0
-2.5
*Overridden target (click cell to edit)
Edit target dialog
Dr Patel — January
Target Override
8.5
Adjustment
0.0
Note
Phased return — reduced PAs
Save
Clear

Understanding annualisation

Under an annualised contract, a consultant's workload is measured over the full year rather than week by week. The NHS standard is the 42-week working year: 52 weeks minus approximately 6 weeks of annual leave, 2 weeks of study leave, and bank holidays. Your annual PA or hours commitment is based on these 42 available working weeks.

In practice this means it's perfectly normal for any single month to be slightly over or under target. What matters is the running balance — the cumulative surplus or deficit across the year. A month heavy with annual leave will naturally show a lower "actual" figure, but that's accounted for in the ledger so it doesn't penalise staff.

How leave affects the ledger

There are two ways the ledger can handle leave, controlled by role settings. You should choose one approach — not both — to avoid double-counting:

  • Adjust target for leave — when enabled, each day of leave on the rota reduces that month's target (e.g., one day of AL lowers the monthly target by 8 hours or 2 PA). This is the recommended approach: the target reflects the realistic expectation for that month, and the balance stays fair. Leave shifts are not counted as worked hours — they only reduce what was expected.
  • Count leave as worked — selected leave categories (e.g., sick leave) can be marked to count toward actual hours. When enabled, those leave shifts are treated as if the staff member worked a standard day (8 hours / 2 PA). This is useful for absences where the consultant is still credited for contracted work.
Warning
Do not enable both "Adjust for leave" and "Counts as worked" for the same leave category. Adjusting the target reduces what's expected, while counting as worked increases what's credited — applying both would give a double benefit. Use target adjustment for planned leave (AL, parental leave) and counts-as-worked only for absences like sick leave where the contract credits the time.

When a role tracks the two activity categories separately (DCC/SPA in PA mode, or Clinical/Non-clinical in Hours mode), leave reduces each category's target proportionally based on the job plan split. For example, if a consultant's job plan is 32 hours Clinical and 8 hours Non-clinical per week, one day of annual leave reduces the Clinical target by 6.4 hours and the Non-clinical target by 1.6 hours — a total of 8 hours, matching one working day.

Enabling the ledger

1

Open role settings in the System tab

Ledger settings (use_ledger, use_pa, split tracking, leave handling, working days) are configured per role by a super admin via the System tab — not the department-level Admin panel.

2

Enable "Use Ledger"

Toggle the ledger on. This activates the Ledger view in Statistics and the balance footer on the Detailed rota view.

3

Choose the metric

Select whether to track in PA (programmed activities) or Hours.

4

Optionally enable split tracking

Toggle the split tracking option if you want two activity categories tracked with separate targets and balances. In PA mode these are DCC and SPA; in Hours mode they're Clinical and Non-clinical. Leave adjustments split proportionally based on job plan ratios.

5

Configure leave handling

A checkbox table lists all leave categories with two columns: "Adjust target" (reduces monthly target per leave day) and "Counts as worked" (credits actual hours). Tick one column per category — e.g., Annual Leave under "Adjust target", Sick Leave under "Counts as worked". A category cannot be ticked in both columns.

6

Set working days (optional)

Defaults to Mon–Fri. Change this for non-standard work weeks — e.g., Sun–Thu (Saudi Arabia), Sat–Thu (UAE). The monthly target scales by the number of selected working days in each month.

Job plan requirement

The ledger derives monthly targets from each staff member's job plan. Before the ledger can show meaningful data, ensure job plans are set up under Admin → Users → Step 4. Staff without a job plan will show a dash (—) instead of a balance.

Target overrides and adjustments

Click any target cell in the Ledger view to open the edit dialog. You can:

  • Override the target — set a different target for a specific month (e.g., phased return, study leave block).
  • Add an adjustment — add or subtract PA/hours without changing the target (e.g., carried-over balance from a previous system).
  • Add a note — explain why the override or adjustment was made.

Overridden targets are marked with an amber asterisk (*) in the ledger grid.

Excel export

Export the ledger from the Statistics page using the Share & Export dropdown. Two modes are available:

  • Summary — one row per staff member with running totals. Quick overview for management review.
  • Detailed — full monthly breakdown with Target, Actual, Balance, and Running Balance per staff member. Includes colour coding and override markers.
Tip
Set up job plans before the financial year starts so the ledger tracks from day one. Mid-year setup works too — the ledger will calculate from whatever data is available.
Note
The rota footer shows the current month's balance only. For the full multi-month picture with running balances, use Statistics → Ledger.
© 2026 EDRota. All rights reserved.