Roles and the shape of your sidebar
Sign two colleagues into the same workspace and they may see what look like two different products: one gets a fifty-link sidebar with Treasury and Payroll, the other gets three links. Neither is broken. The sidebar is a projection of what each seat is allowed to do, computed fresh on every page load.
How the projection works
Section titled “How the projection works”Three ingredients, multiplied together:
- Your capabilities. Your seat’s roles each grant a set of permissions (capabilities), and your seat holds the union of them.
- The page registry. Every page in the app declares exactly one view capability that gates it. A page not in the registry doesn’t exist; a page whose capability you lack isn’t shown - and isn’t reachable by URL either. The sidebar and the route guard read the same registry, so what you see and what you can open never disagree.
- Presentation. The visible pages are laid into named groups - Reservations, Operations, Revenue, Books, and so on - in a fixed order. Empty groups are dropped: a role that can’t see any finance page gets no finance heading at all, which is why a Cleaner’s app has no trace of a Books section rather than a grayed one.
The result: a Booking Manager sees the funnel and the queue surfaces; an External Accountant sees the books and statements and nothing operational; an Investor sees exactly one page - their portal.
What a missing link means
Section titled “What a missing link means”If a screen you expect isn’t in your sidebar, your seat doesn’t hold its capability - that’s the whole diagnosis. Nothing is loading late, and typing the URL won’t help (same registry, same answer). The fix is a role change on Team, decided by whoever holds that power in your workspace.
Three refinements worth knowing:
- Locked, not hidden. A page your role may use but your workspace’s plan doesn’t include stays in the sidebar, marked locked, and clicks through to Billing. Role says you can; plan says not yet - those are different answers, shown differently.
- The bell is chrome, not a page. Notifications reach every seat and live behind the bell icon, not a sidebar row.
- Where the sidebar looks empty. A seat entitled to nothing navigable - possible for misconfigured external seats - lands on a page that says so plainly and offers the two useful moves: switch workspace or sign out.
Floors: what everyone gets
Section titled “Floors: what everyone gets”Two baselines sit under the role library. Every seat, without exception, can see its own notifications. Every member-flavored seat also gets a small read floor - the booking list, the daily ops report, guest history - which is why most operational roles share the same first few sidebar rows. Portal-only seats (Cleaner, Inspector, Maintenance, Investor, the property Owner) are deliberately below that floor: their job needs one surface, so their seat gets one surface.