Skip to main content
Two capabilities govern schedules.

Role defaults

Project Manager is deliberately left out of schedule.manage. Contracted hours are a workspace-configuration decision, in the same tier as leave policies and workspace settings. You can grant it through a custom role – see /team/custom-roles.
Client-portal contacts hold no internal capabilities at all, so schedules are invisible to them. See /concepts/roles-and-capabilities.

Capability is not scope

Holding schedule.view says you may read a schedule. Supervision scope says whose schedule you may read. Both have to pass.
  • Your own schedule always needs schedule.view.
  • Someone else’s needs schedule.manage or time.viewOthers, plus the person being inside your supervision scope.
schedule.manage does not bypass supervision scope. A scoped role that can edit schedule templates still only sees the expected hours of the people it supervises.
Read /concepts/supervision-scope for how scope is set.

Why a reviewer can see expected hours

A Project Manager reviewing a timesheet needs the expected hours that timesheet is measured against. That is why time.viewOthers also unlocks reading someone else’s resolved schedule – without it, the timesheet’s “expected” column would be blank for the reviewer.

What each surface requires

App and plan gating

Work schedules is an app. It must be switched on in Settings → Apps. Turning Work schedules off also disables Time Clock, which depends on it. See /concepts/apps-and-modules and /concepts/plans-and-features.
Hiding is a convenience, never the boundary. Every schedule write is re-checked on the server, so a stale browser tab cannot save into a switched-off app or past a missing capability.

Example

Northwind Studio:
  • Maya Ellis (Owner) and Tom Whitfield (Admin) build and assign schedules.
  • Priya Raman (Project Manager) cannot open Settings → Schedules. She can see expected hours for the people she supervises, because she holds time.viewOthers, which is what makes timesheet review work.
  • Sarah Lin (Member) sees only My Schedule.
  • Ana Ferreira (Contractor) sees only My Schedule.
  • Ruth Castillo (Client) sees nothing – schedules are not part of the portal.
If Maya wants Priya to run schedules too, she creates a custom role based on Project Manager and adds schedule.manage.

Common questions

Not per team. schedule.manage is workspace-wide. You can grant it through a custom role, but it lets that role edit any schedule.
Finance is a working role – its members clock in and see their own schedule. They hold schedule.view for themselves only, not time.viewOthers.
Per-person permission overrides are deny-only and limited to a small set of actions. Check the person’s record for what can be switched off. See /team/per-person-permissions.
Either the capability or the scope. Confirm their role holds the capability, then confirm the person they are reading is inside their supervision scope.

Troubleshooting

Roles and capabilities

The full capability model.

Supervision scope

Who each person may see.

Custom roles

Grant schedule.manage to another role.

Apps and modules

Switching Work schedules on and off.

Schedules overview

What schedules do.