Clashes, leave and who cannot go
Double bookings and leave are flagged, never blocked; missing credentials or permits can stop a save.
The schedule answers two different questions before work goes out. Can this person be in two places at once? — a clash, which Maliru flags and leaves to you. Is this person allowed to do this work? — eligibility, which can stop a save, depending on how your workspace has set each credential up.
Clashes and leave: flagged, never blocked
Clash checks cover the whole workspace, not one team's corner of it. Maliru flags:
- the same person on two pieces of work that overlap — shifts, routes and visits;
- someone put on work during their approved leave or absence.
Both are warnings. The dispatcher decides, because sometimes a double booking is right — a supervisor covering two sites, a short call-out inside a longer day.
Leave approved after the work went out is caught too. When leave is approved, logged by a manager, or booked as a type that needs no approval, over shifts the person is already published on and that haven't finished, the people with Manage schedule whose workstreams include that work are told once: "Leave clashes with a shift: {name}", or "Leave clashes with {count} shifts: {name}".
Where you see them
- In the shift form. Before you save, a warning sits above the buttons: "Worker overlap · Marcus Bell has another shift 13:00–17:00", with View shift to open the other one.
- After saving. A line at the top of the Schedule sums it up: "Published — 2 schedule conflicts … flagged." This count includes overlaps with approved leave.
- In the calendar. The summary shows {n} worker overlaps; select it to open the clashing shifts, including one your filters hide.
- In Add multiple shifts. {n} worker overlaps with Review checks the rows against each other.

Who cannot go: eligibility
Eligibility checks each person against what the work requires — their position, the client, the site, the job's own required credentials, and any permit the job must hold. Each credential or permit type decides how hard it bites and from when. See Eligibility: who is allowed to do the work.
When you put someone on work
Every way of putting someone on a job asks the same question: saving a shift (draft or published), dragging it on the calendar or Board, a bulk team change, move or copy, Add multiple shifts, allocating or editing a route, and adding a visit on the job. A requirement set to bite as soon as someone is put on the job refuses the save with the reason, for example "Working at height is missing — required of every Scaffolder". With several people refused, the reason names each of them.
When you publish
Publishing checks requirements set to bite when the roster is published, as well as the earlier ones. A shift someone on it isn't allowed to work isn't published: it stays a draft, "held back", and the Schedule says so — "4 shifts published and the team notified · 1 kept as a draft — {job}: {reason}". The shift form reads "Saved as a draft, not published: …". Everything else goes out. A route is published whole or not at all.
Assign anyway
When the refusal is one a supervisor may allow and you hold Override eligibility, Maliru offers Assign anyway — Publish anyway when publishing. It asks Why ("Going ahead with this shift is recorded as an override against your name, with the reason you give."), then saves. Bulk changes, Add multiple shifts and publishing several drafts ask once for everything that was refused; cancel, and those shifts stay as they were and stay ticked.
The override is recorded in the audit trail, pinned to that person and that job, and runs out when the work ends, so their clock-in on it goes through too.
- Without Override eligibility, you see the refusal and no button — ask someone who has it, or put someone else on.
- A requirement set to Stop the work; nobody can allow it ends "This cannot be overridden." Nobody is offered the button: the credential or permit has to be in place first.
- Requirements that bite only when the person starts the work don't stop the save or the publish. They show on the schedule and stop the clock-in instead.
Before the day
Maliru re-checks the next 60 days of scheduled work in the background, judged as at the moment the work starts. Open a shift and each person on its team shows where they stand:
- Not eligible · {n} — {n} requirements will stop them starting.
- Needs attention — something is missing or out of date, but it won't stop them: a requirement set only to warn, or one a supervisor has already allowed.
Nothing is shown for someone who is fine, or whose work hasn't been checked yet. The same pill appears on the worker's own card on their phone, where they can ask to start anyway — see When someone can't start.
When someone's answer gets worse — a card lapses, a unit stops counting — the people with Manage schedule whose workstreams include the work are told, for example "1 scheduled assignment is no longer allowed to go ahead". The first check of a piece of work tells nobody; only a change for the worse after it does.

Clock-in is the last check: work someone isn't allowed to do is refused with "This work cannot start yet: …" and the reason.