Why this is a data-modelling problem
The instinct with multi-role software is to start from screens: design the receptionist's view, then the guard's, then the supervisor's. That produces three products that disagree about what a visit is.
Starting from the object instead — what is a visit, what does it carry, what states can it be in — means the interfaces become views over agreed truth. The disagreements surface once, at the model, where they are cheap to resolve.
The thing that nearly always gets skipped
Group arrivals. Every visitor management design handles one person arriving. Then a coach of forty turns up for a site tour and the desk falls back to paper, permanently, because the software made the common exception harder than the workaround.