In a lot of operational businesses people don't work in one place. A cleaner covers three offices across a week. A security officer does days at one site and nights at another. A facilities engineer has a home building but gets sent across town whenever something breaks.
Systems that assume one person equals one location make this awkward. You end up with things like "Sam (Riverside Tues)" typed into a name field, and every report built on that field quietly breaks.
Two different facts
The fix is to record two separate things:
- where someone is usually based, used for contact details and reporting
- where they're working on a particular shift or job
Keeping them apart means you can move someone for a day without changing who they are.

Why it's worth doing
- Customers can see who was on their site and when.
- Managers can see which sites are covered and which aren't.
- Travel between sites gets planned instead of discovered.
- Reports by site stay accurate even when people move around.
Watch for double bookings
The more people move, the easier it is to put someone in two places at once. A good rota says so plainly when a person has more than one shift on a day, rather than quietly hiding one of them.
Access by site
As you grow, you may want a site supervisor to see only their own buildings, or engineers to see only the jobs in the areas they cover. Rules like that depend on knowing which sites each person belongs to, so it pays to record it early.
In OmniSchema's workforce scheduling, staff have a usual base and each shift has its own work location, shown right under the shift time. If someone has two shifts on the same day the rota tells you. For jobs, a list can be set so people only see the rows for the sites they belong to.
