To control timesheets, use SHIFT_READ, SHIFT_WRITE, SHIFT_ADD, SHIFT_UPDATE to control access for view, add, modify attendance entries actions. To control schedules use SCHEDULE_READ, SCHEDULE_WRITE for read-only or edit actions on schedules. New features and modules have their own permission levels. View the types and codebase for more info.
Location-based permissions manage access across specific work sites. The LOCATION_READ permission enables viewing all employee data within a location, while LOCATION_ADMIN grants full administrative control over location settings and configurations.
While some permissions imply others (e.g., ORGANIZATION_ADMIN grants LOCATION_ADMIN, which in turn grants shift & schedule rights), best practice is to explicitly list every permission a role requires. Being verbose keeps JWT payloads self‑describing and future‑proofs your integration.
When in doubt, deny by default and add the minimal permission needed.
WARNING
When implementing the payroll module, only render the component to the relevant users and hide it for everyone else.
Need help designing your permission structure? Our team can help you map your organizational roles to the appropriate permission sets and create more granular permissions for your specific use-case.