Separation between organisations is a row-level security policy in Postgres, not a filter somebody has to remember to write. A screen with a bug returns nothing, rather than returning somebody else’s rota.
Onsite · private beta
Room allocation and shift booking for organisations spread across more buildings than a spreadsheet can hold.
ScrollOpen it anywhere.
Separation between organisations is a row-level security policy in Postgres, not a filter somebody has to remember to write. A screen with a bug returns nothing, rather than returning somebody else’s rota.
A person cannot be booked into two rooms in the same session — the write itself fails. Two people in one room is allowed, because a trainee sitting in with somebody senior is not a mistake.
Rooms retire, people deactivate, bookings cancel. Last March’s rota still points at every one of them, which is what you want when somebody asks where a session was held.
“Every Tuesday” is written out as actual bookings in advance. Changing one Tuesday becomes editing one row, instead of the hardest bug in every rota system ever written.
Pulling out of a confirmed shift is counted, and surfaced at the moment somebody is approving a claim — not in a report nobody runs.
An organisation sets up its own buildings, rooms, sessions and job titles. Changing how the place runs is a settings change, not a development job.
Region fixed when the project was created. The first question on every security questionnaire, and the only answer that cannot be changed afterwards.
Private beta