RotaFair — one week, audited

See how this week’s shifts actually landed, before you have to defend the rota.

Put in your staff, the times they cannot work, and the week’s shifts — typed by hand or pasted from the spreadsheet you already keep. RotaFair reads the week back to you: the hours and shifts each person got, the weekend and late work, and every shift that clashed with a time someone had said they could not work.

The worked example week

Heaviest weekNia · 26.5 h
Lightest weekPriya · 24 h
Hours between them2.5 h
Availability clashes2

Step one — your people

Add your people, and the times they cannot work.

Start with the names you use on the rota. Then record each stretch of the week that is closed to someone — college, another job, the school run — once. RotaFair holds every one of those windows against the shifts of the week you are auditing.

Your people

One name per person, written the way you would put it on the rota. Add a surname or an initial if two people share a first name.

Whatever you call them on the rota.

No one on the list yet. The fairness view names nobody until you add the first person.

Times they cannot work

A window repeats on the same day every week, so it only needs recording once: Monday 15:00 to 18:00 covers every Monday in the audited week.

Add a name first — a stretch of time that is closed has to belong to someone.

The week you built

Add the week’s shifts

Type each shift one at a time, or paste the block straight from the spreadsheet you already keep. Everything you enter here is the week RotaFair audits — the hours, the weekend and late shifts, and every clash with a time someone told you they could not work.

One shift at a time

Every shift needs a person, a date, and both ends of the shift.

Add your staff in the section above, and every shift here can carry a name.

Paste the week

A row reads as Person, Date, Shift, Starts, Ends, separated by tabs, commas, semicolons, pipes or two spaces — in whatever order the columns come out of your spreadsheet. A header row is fine. A shift name like “morning” or “close” is read when it is there; otherwise the kind comes from the start time.

Only needed when you paste day names like “Mon” instead of dates. The week runs Monday to Sunday.

The week so far

No shifts yet for this week. Add one on the left, or paste the block from your spreadsheet.

Fairness view

How the week actually landed, person by person.

One row per person, read straight out of the week you entered: the hours they were given, how many shifts that was, how many fell on a Saturday or Sunday, how many started at 17:00 or later or locked up, and how many landed inside a window they had already told you they could not work.

The worked example week below shows how the sheet reads. Your own staff and shifts take its place as you add them.

Worked exampleMonday 2 March to Sunday 8 March 202617 shifts4 people

Teal marks the highest figure in each column.

PersonHoursShiftsWeekend shiftsLate shiftsAvailability clashes
Nia26.5 h5210
Tom24.5 h4111
Priya24 h4111
Ade26 h4130
Total101 h17562
Hours
Everything rostered to this person in the audited week.
Shifts
How many separate shifts the week gave this person.
Weekend shifts
Shifts that fell on a Saturday or a Sunday.
Late shifts
Shifts that started at 17:00 or later, or that locked up.
Availability clashes
Shifts that overlap a time this person said they could not work.

Shifts that clashed with availability

Each of these shifts fell inside a window that person had told you, in advance, they could not work.

  • PriyaWednesday 4 March

    Morning shift, 07:30–13:00 — overlaps the 09:00–13:00 they had said they could not work.

    College until the end of term

  • TomSaturday 7 March

    Morning shift, 08:00–14:00 — overlaps the 09:00–23:00 they had said they could not work.

    Saturdays are for his other job

The summary

Who got the rough end

the week of 2–8 March 2026 · 4 people · 17 shifts · 101 h rostered · 2 availability clashes

A worked example — the week of 2–8 March 2026 — so you can see how the summary reads. Your own week rewrites these sentences from your numbers.

Nia got the rough end of the week of 2–8 March 2026 — the most hours, the most shifts and the most weekend shifts.

  • On hours, Nia carried the heaviest week at 26.5 h, against 24 h for Priya.
  • On shift count, Nia took 5 shifts, against 4 each for Tom, Priya and Ade.
  • On weekend work, Nia drew 2 of the weekend shifts, against 1 each for Tom, Priya and Ade.
  • On late shifts and closes, Ade took 3 of the week’s 6, against 1 each for Nia, Tom and Priya.
  • 2 shifts ran across a window someone had said they could not work — Tom 1, Priya 1.

RotaFair — what is free, and the report

The fairness view is free. The report is the copy you keep.

Every figure the audit reads out of the week you entered — each person’s hours, how many shifts they got, the weekend and late shifts, and every shift that landed on a time someone had already told you they could not work — is free to read and free to re-read. There is no account to make and nothing to sign up for.

Always free

Everything you put in, and everything the audit reads back from it, for the week you entered:

  • Entering the weekYour staff, the times they cannot work, and the week’s shifts — by hand, or pasted in one block from the spreadsheet you already keep.
  • HoursEverything rostered to this person in the audited week.
  • ShiftsHow many separate shifts the week gave this person.
  • Weekend shiftsShifts that fell on a Saturday or a Sunday.
  • Late shiftsShifts that started at 17:00 or later, or that locked up.
  • Availability clashesShifts that overlap a time this person said they could not work.
  • The plain-language summaryWho got the rough end of the week, in a sentence you could read out to the team.

No account, no card, nothing to install.

The report

The same audit written up for the week you entered, so it can be shared with the team rather than recounted from memory — the figures, the fairness view and the sentence that names who got the rough end, together in one document.