Live: one department on board

The rota writes itself. The judgment stays yours.

Requests in by the 15th. The month generated to your department's own rulebook. A grid you overrule cell by cell, then a live month of trades, absences and claimable sessions. Without the voice notes.

Senior
Triage/MC
Assess2
Overlap
Night
Mon 3
Dyer
Smith
Robinson
K.Samuels
Spence
Tue 4
Dyer
S.Brown
Campbell
K.Samuels
Fields
Wed 5
Dyer
Barnes
Bhaskar
K.Samuels
Montaque
Thu 6
Barrett
Rampersad
Wheatle
OPEN
Spence
Fri 7
Royal
Lewis
Burrell
K.Samuels
Fields
Sat 8
Llewellyn
Dileep
Barrett
Win D1
Sun 9
S.Brown
Thompson
Fong D1
OPEN
Jacobs
Week of 3 August 2026, generated: Independence Day drops to the holiday template, weekend seats go bold as paid sessions, and an open Overlap seat gets claimed.

20

floor posts a day

3

staggered waves

4

night seats, nightly

40h

base week tracked

It speaks your spreadsheet. The colours mean what they have always meant.

Lavender weekend, reduced staffing

Yellow public holiday, all premium

Green Triage/MC, sickest patients

Light blue open session, claim for pay

BBold session past the 40-hour base

DD1 / D2 day off worked, premium rate

01

The scheduler's console

A grid you already know how to read, with power tools behind it

The draft lands laid out like the workbook: same columns, same colours, boundary days dimmed. Click any cell and the editor shows who is eligible, warns about overlaps, leave, night weeks and capability, and lets you set sessions, D marks, custom hours or an open seat.

Date
Senior
Triage
Assess2
Resp
Non Resp
Mon 10
Royal
Smith
Robinson
Rampersad
S.Brown
Tue 11
Royal
Smith
Robinson
Rampersad
Parsons
Wed 12
Royal
Smith
Robinson
Barnes
Rampersad

Edit cell

Tue 11 · Assess2 8–16

Robinson
Tennant ⚠ overlaps Resp
OPEN session
☑ session☑ lock
Save cell

Warnings, never refusals. The picker flags “overlaps Resp” or “on leave” and then lets you decide. Discretion is the department's, always.

Locks that mean it. The dot marks manual and claimed cells. They survive every regeneration, every rebalance.

One button to publish. Publishing emails every doctor, optionally with the Excel export attached, and opens the month to trades and claims.

Every generation explains itself

Generation report · August 2026

Fong days off 20, 21honored
Spence mornings where possiblehonored
Tennant weekend of the 12th offhonored
Violationsnone, clean rota
Open sessions offered11

Equity tallies

NightsSatSunSess
Win13435
Barrett5435
Sergile5353

One inbox for everything waiting on you

Requests 3Trades 1Leave 1Absences

Fong · days off · Sept 7, 8

Family commitment

AcknowledgeDecline

Barrett · night dates · Sept 14, 16, 18

AcknowledgeDecline

Requests, trades, leave and absences queue with one-click decisions. The dashboard counts what needs you; nothing hides in a thread.

02

The engine

Nine stages, in the order your scheduler already works

It is your department's construction checklist, encoded: the same order of operations a careful human follows, executed in seconds and explained line by line.

  1. 1

    Frame

    whole Mon to Sun weeks, holidays flagged

  2. 2

    Seniors

    SR call alternates, AM and PM seats placed

  3. 3

    Nights

    groups A to D keep the four-week cycle

  4. 4

    Med resident

    weekday 10 to 6 Overlap reserved

  5. 5

    Leave blocks

    DL, sick and vacation are hard walls

  6. 6

    Base fill

    40-hour weeks around requests and capability

  7. 7

    Weekends

    reduced template, sessions spread by equity

  8. 8

    D1 / D2

    sixth and seventh days marked automatically

  9. 9

    Validate

    every request answered, every gap surfaced

Assess2 never holds unauthorized staff

Night seats are named or open, never silently empty

Seniors never land on nights

No double-bookings

Manual decisions survive regeneration

Every change to a published rota is audited

03

For doctors

The whole month, from a phone between patients

No passwords, no new logins to remember: a one-time email link signs them in for 30 days. From there the month is self-service.

New request

For monthAugust 2026
TypeDay(s) off
Dates Aug 20, Aug 21
“conference”
Submit request
Sept · days off 7, 8pending

Medrota

Tue 11 Aug

Resp · 8am to 4pm

Wed 12 Aug

Assess2 · 2pm to 10pm

Sat 15 Aug

Triage/MC · 2pm to 10pm

paid session

Sun 16 Aug · Overlap

open session, 10am to 6pm

Claim session

Ask once, hear back honestly. Requests come back honored, partial or declined when the month generates, with the reason attached to each one.

Trade without the group chat. Give a shift up to the pool or a named colleague, or propose a swap. The counterpart accepts, the scheduler approves, the grid updates.

Claim the bold shifts. Open sessions are extra pay. One tap claims them, with capability and double-booking checked on the spot and the scheduler notified.

Report an absence in ten seconds. The seat flags for cover, the scheduler resolves it, the audit log remembers.

Sessionals get the same front door. They post the dates they can cover, the generator offers them those seats, and the open-session board pays the volunteers.

Right now, on the floor

Who is on, at a glance

The live day board shows every post across the three waves, the current wave highlighted, open seats in blue, SR call and the admitting ward in the header. No more phoning the desk.

Morning

on now
SeniorDyer
TriageSmith
Assess2Robinson

Afternoon

SeniorRoyal
TriageSergile
OverlapOPEN

Night

Seat 1Win
Seat 2Montaque
Seat 3Fields
04

Spreadsheets

Excel in. Excel out.

Adoption should not cost you your archive or your noticeboard. Import the old workbooks to backfill history and warm the fairness tallies; export any month back in the exact format the department already reads.

June_2026.xlsxdry run30 days read

587

cells

128

bold sessions

19

split slots

0

unmatched names

“Wiin”, “Pasons”, “Rampertsad” matched to Win, Parsons, Rampersad automatically. Nothing commits until you confirm.

Commit June 2026

A dry run shows exactly what the parser read: cells, splits, bold sessions, D marks, the DL footer. Unmatched names wait for your mapping. Nothing commits until you confirm.

Exports rebuild all three sheets: the grid with its full colour legend, the Night Shift Groups roster, and the Requests sheet with the per-person tallies your scheduler used to keep by hand, now computed. Attach it to the publish email with one checkbox.

05

Communication

The chasing happens without you

Medrota sends the emails a scheduler would otherwise send by hand, and logs every one.

From Medrota · Mon 13 Jul, 9:00

Rota requests for August, due by the 15th

Hi Anneliese, you haven't submitted any requests for August yet. Days off, shift preferences, night dates and weekend-off requests close on the 15th.

Submit requests
  • Sign-in links, one-time and expiring
  • Request-window reminders on the 10th, 13th and 15th, only to those who have not submitted
  • Publish announcements to the whole department, workbook attached if you like
  • Scheduler alerts for absences, trades, leave requests and claimed sessions
06

Governance

Built like something a department relies on

Append-only audit log: every edit, claim, trade, approval and publish records who and when.

Role-gated everywhere: scheduler, doctor and sessional see exactly what their role allows, enforced on the server.

Capability enforcement: restricted posts refuse unauthorized staff at every entry point: generation, editing, claiming.

Passwordless by design: one-time links, hashed at rest, rate-limited, expiring in 20 minutes.

Versioned edits: concurrent scheduler edits cannot silently overwrite each other.

Deterministic generation: the same inputs and seed always produce the same rota, so drafts are reproducible.

07

Everything in the box

The full inventory

No modules, no tiers, no per-feature pricing games. This is what every department gets, and the features page walks each area in depth.

01

Requests & the window

  • Day-off, AM/PM, night-date and weekend-off requests
  • Window countdown on every dashboard
  • Chase emails on the 10th, 13th and 15th
  • Withdraw while pending, accept late
  • Every request answered with a reason
02

Generation

  • SR-call alternation and A to D night cycle
  • 40-hour base fill around leave and requests
  • Weekend and holiday reduced templates
  • Sessions spread by equity, D1/D2 auto-marked
  • Deterministic seeds, reproducible drafts
  • Fairness memory between months
03

The scheduler's grid

  • Legacy column layout and colour legend
  • Cell editor with warnings, never refusals
  • Custom hours, splits, session and D-mark toggles
  • Cell locking, lock-respecting regeneration
  • Report: outcomes, violations, equity
  • Publish with email and workbook attached
04

The live month

  • Absence reporting that flags the seat
  • Give-ups to the pool or a named colleague
  • Swaps with counterpart accept and approval
  • Open-session board, one-tap claiming
  • Capability and double-booking guards
  • Live day board of who is on right now
05

Spreadsheets

  • Import old workbooks, dry run first
  • Typo-tolerant name matching with review
  • Cell-for-cell export in your format
  • Groups and Requests tally sheets included
  • Backfill history, warm the equity tallies
06

People & governance

  • Passwordless magic-link sign-in
  • Scheduler, doctor and sessional roles
  • Senior, med-resident, assess-capable flags
  • Sessional availability posting
  • Sick, departmental and vacation leave flows
  • Append-only audit log throughout
08

Questions

Asked by every scheduler so far

A fuller list lives on the FAQ page; these are the six that come up in the first ten minutes.

Can we keep our spreadsheet?

Yes. Medrota imports your existing workbooks to backfill history and exports every month back in the exact format your department already reads: same columns, same colours, bold sessions, D marks, the footer notes. The noticeboard never has to know.

What if the engine gets something wrong?

You overrule it. Every cell is editable with warnings rather than refusals, your edits lock so regeneration cannot trample them, and the generation report shows exactly which requests were honored, partial or declined and why. The engine drafts; the scheduler decides.

Do doctors need another password?

No. The scheduler adds a doctor with their email; they sign in through a one-time emailed link. Sessions last 30 days on their phone.

How do the night groups and senior rotation carry over?

From anchors: you tell Medrota once which group owned which week and which senior held SR call, and every future month continues the cycle. Both anchors are editable in Settings when the department restructures.

Our rules are not identical to these. Can they change?

The daily post template, working hours, weekend behaviour per post, holidays, capability lists, night-group membership and the request window day are all data you can edit. The construction logic itself encodes the common shape: rotations, a base week, premium marking, open sessions.

What happens when someone calls in sick mid-month?

They report the absence against their shift in the app. The scheduler gets notified, the seat is flagged, and one click reopens it as a claimable session or reassigns it. Everything lands in the audit log.

Next month could be quiet

Put the rota on rails.

One department is already running on Medrota. If yours drafts its month in a spreadsheet and a group chat, it is a fit.