StaffOPs

Built by the industry for the industry.

We've packed StaffOPs with features we know work best together and we're continuing to refine as we go. If something below is still to come, we've said so.

Events, shows and jobs

An event carries its own days, each typed as a build, a day it runs, or a pack-down, and shifts hang off the day they belong to. A three-day install reads as one run on the calendar — a show, a festival, a conference, a match day, a job on a site. Shifts do not need an event at all, so patrols, cleaning, maintenance and office cover sit on the same roster.

Your words, not ours

You choose what the app calls a place, a group of people and a run of days, and every screen follows. If you never roster multi-day work, switch the events layer off altogether and StaffOPs is a straight roster with nothing about shows in it.

Defaults are Location, Team and Schedule — deliberately plain. An arena changes them to Venue, Department and Show in about ten seconds.

Teams and managers

People belong to teams — departments, crews, whatever you call them — and can be in more than one, which is how casual staff actually work. Each team has managers who roster it. A manager sees their own teams; the company account sees everything.

Rostering

Pick the team, the times and the people. Each team has its own colour, so a week reads at a glance instead of being decoded.

Rosters are built by a manager assigning people, not by staff claiming open shifts. That is deliberate: it is how most operations actually roster, and it keeps one person accountable for whether the work is covered.

Asking the pool

Ask more people than you need in one go, and let them answer on their phones. Available is not the same as confirmed — more crew can offer than there are places, and the manager still picks. Everyone sees what they have been asked and what they are on.

Clock in and out

People clock in and out from their phones. If the location has an address, you can require them to be within a set distance of it — the check happens at the moment they press the button, and the position is used and discarded, never stored.

Planned: an offline queue, so a clock-in somewhere with no signal — a loading dock, a back gate, a basement — is held on the phone and sent when it reconnects. Today it needs a connection.

Breaks

Unpaid breaks are taken out of the worked interval before pay bands are applied, not deducted from the total afterwards. It sounds like a technicality. It is not: a half-hour meal at 2am, inside a time-and-a-half window, costs a staff member 45 minutes of pay if you do it the other way round.
Four days of one person’s StaffOPs timesheet: a shift still running, and three approved days — two of them showing the hours left after a 30-minute unpaid break was taken out.
A timesheet with an unpaid break taken out before the pay bands are applied.

Pay rules you configure

Unsociable-hours multipliers and the window they apply to, scoped per department. Minimum engagement, so a two-hour call-in is topped up to the minimum you have agreed. Rounding that only ever works in the staff member's favour — start times round back, finish times round forward, and a tidy-up can never shorten somebody's day. A shift that crosses a boundary is split at it and paid at both rates.

Timesheets and the wage record

Managers can correct a clock time, and the original is kept alongside who changed it and why. A timesheet is a wage record — an edit that overwrites it makes “what did the clock actually say” unanswerable, which is the one question an employment dispute turns on. The trail cannot be edited or deleted by anyone, including us.
The StaffOPs approvals screen: days people have submitted, each with the clock-in and clock-out times a manager can correct, and buttons to round, send back or approve.
Days waiting for approval, with the times a manager can correct before payroll counts them.

Standing people down

Crews are seasonal. Take somebody out of their departments and they are stood down: out of every list you could roster them from, and off the bill. Their timesheets, leave and pay history stay exactly where they are — those are wage records you have to keep whatever somebody's status — and putting them back is adding them to a department again.

There is no separate archive switch, on purpose. A second control for something the departments already said is one more thing to forget — and the one people forgot was the one that cost money.

Leave

Record leave against a person and a date range. It blocks them on the roster so nobody is scheduled while they are away, it rides along with the pay period, and it appears on the export. It does not calculate entitlements or balances — that is your payroll system's job, and guessing at it is exactly the line we do not cross.

Sign-off and freezing

Each department manager approves their own pay period and sends it. Approving freezes those timesheets at the database level, so nothing can be quietly edited after the fact. Only the company account can reopen a frozen period, and reopening supersedes the old version rather than deleting it.

Payroll-ready exports

An Excel workbook and a PDF, emailed to the finance address you set, the moment a department signs off. Hours uplifted by a multiplier are converted into more hours at the standard rate rather than a different rate, because that is what a corporate payroll system will accept. Ad-hoc exports for any date range are there when payroll asks a question mid-period.

The Today board

One screen for the shift you are standing in: who is on the clock, who is on a break, who has not arrived, and what is still to come today. It is the screen a duty manager keeps open.

The week grid

People down the side, days across the top, shifts in their team's colour — the view anyone who has rostered before will reach for first.

The assistant

Describe what you want in a sentence — a job across three days, a shift for four people on the Friday — and it creates it for you to check. Useful when you are entering a season of dates and would rather talk than click.

It runs with your own permissions, so it can never show someone a pay rate they could not otherwise see.

Ring-fenced permissions

Pay rates are scoped to the department. Staff see only their own; a manager sees rates for the departments they manage and no others, so a catering manager cannot see operations' rates; the company account sees all of them. This is enforced in the database rather than by hiding things on screen.

Device optimised

StaffOPs runs in a mobile browser, and the crew-facing screens are built for a thumb: large tap targets, a clock-in button sized for one, and no pinch-to-read.

Planned: proper iOS and Android apps, with push notifications and background clock-in. The web app is what exists today.

Notifications

Asks and roster changes appear in the app, at the top of the roster screen, where someone checking their shifts will see them.

Planned: email and push. Deliberately not built yet — thirty people getting a message per shift is a thing to get right rather than fast.

Want to see it on real data?

Tell us how many people you roster and how your pay rules work, and we will show you the product with your own shapes in it.