Roles & Permissions¶
This guide explains the permission system used to control what each team member can access within your courier organization. Owners configure granular read/write access across 10 permission sections, with 8 sections supporting per-country scoping.
Prerequisites¶
- You are logged in as the organization owner
- You have at least one team member invited (see Inviting Members)
Overview¶
Every team member has a role that determines their baseline access level:
| Role | Description |
|---|---|
| Owner | Full access to all sections at all times — permissions cannot be restricted |
| Manager | Configurable read and write access per section |
| Viewer | Read-only access to permitted sections — write toggles are disabled |
Info
Owners always have full access to every section regardless of any permission settings. Permission configuration only applies to managers and viewers.
Permission Toggles¶
Each permission section has two independent toggles:
| Toggle | Effect |
|---|---|
| Read | Grants visibility of the section's data |
| Write | Grants ability to create, edit, or delete within the section |
Toggle rules:
- Enabling Write automatically enables Read (you must be able to see what you edit)
- Disabling Read automatically disables Write
- Viewers cannot have Write enabled — the toggle is locked off for the viewer role
Steps¶
Step 1: Navigate to the permissions screen¶
From Config Hub > Organization > Team, tap on an existing member to open their permission editor. Alternatively, permissions are configured during the invitation flow (see Inviting Members).
Step 2: Set the member's role¶
Choose between Manager and Viewer using the segmented button at the top of the screen.
Warning
Switching a member from Manager to Viewer immediately disables all Write toggles across every section. This cannot be undone without manually re-enabling write access after switching back to Manager.
Step 3: Configure organization-wide permissions¶
The first group of sections shown is Organization-wide. These apply globally across all countries and cannot be restricted to specific countries.
| Section | What it controls |
|---|---|
| General | Company profile, description, logo |
| Banking | Bank name, account holder, account number, SWIFT/BIC, branch code |
Set the Read and Write toggles for each section as needed.
Step 4: Configure country-scoped permissions¶
Below the organization-wide sections, each country your courier operates in is displayed as a separate card under Country Operations. Within each country card, 8 sections can be individually configured:
| Section | What it controls |
|---|---|
| Contacts | Public and internal contact details for the country |
| Pricing | Pricing method, fees, tiers, and markup for the country |
| Depots | Source and destination depot configuration |
| Operations Flow | Pipeline layout, location and route assignments |
| Delivery Zones | Map-drawn polygon zones for door-to-door coverage |
| SLA | Minimum and maximum transit time settings |
| Deliveries | Order visibility, shipment tracking, and messaging |
| Escalation | Automated alert rules, schedules, and thresholds |
For each section within a country card, set the Read and Write toggles independently.
Tip
Use the Grant All / Revoke All toggle in the country card header to quickly enable or disable read access for all 8 sections in that country at once.
Step 5: Save permissions¶
Tap Save Permissions (when editing) or Send Invite (when inviting) at the bottom of the screen. Changes take effect immediately.
Organization-Wide vs Country-Scoped Sections¶
The 10 permission sections are split into two categories:
Organization-wide (2 sections)¶
These sections are not tied to any specific country. A member either has access or does not:
- General — company-level profile and identity
- Banking — payment details shared across the organization
Country-scopable (8 sections)¶
These sections can be granted or denied per country. A member might have pricing access for Eswatini but not for Lesotho:
- Contacts
- Pricing
- Depots
- Operations Flow
- Delivery Zones
- SLA
- Deliveries
- Escalation
Note
When a member has read access for a country-scoped section in all countries, the system stores this as unrestricted access. When access is limited to specific countries, only those country IDs are stored against the permission.
Permission Sections Reference¶
| # | Section | Scope | Default (new invite) |
|---|---|---|---|
| 1 | General | Organization-wide | Read + Write |
| 2 | Contacts | Country-scoped | Read + Write |
| 3 | Pricing | Country-scoped | Read + Write |
| 4 | Depots | Country-scoped | Read + Write |
| 5 | Operations Flow | Country-scoped | Read + Write |
| 6 | Delivery Zones | Country-scoped | Read + Write |
| 7 | SLA | Country-scoped | Read + Write |
| 8 | Banking | Organization-wide | Read only |
| 9 | Deliveries | Country-scoped | Read + Write |
| 10 | Escalation | Country-scoped | Read only |
Info
The defaults above apply when creating a new invitation for a Manager. Banking defaults to read-only and Escalation defaults to read-only for new invites. Owners always have full access regardless.
Result¶
After saving permissions:
- The member's access is updated immediately
- Sections without Read access are hidden from the member's view
- Sections with Read but no Write access display as read-only (edit controls disabled)
- Country-scoped restrictions limit which country's data the member can see under Country Operations
- The member's permission summary is visible on the Team screen
Troubleshooting¶
| Issue | Cause | Solution |
|---|---|---|
| Cannot edit a member's permissions | You are not the organization owner | Only owners can edit permissions. Ask the owner to make changes. |
| Write toggle is greyed out | The member's role is set to Viewer | Switch the role to Manager to enable write toggles. |
| Member cannot see a country's config | Read is disabled for that section in that country | Enable Read for the relevant sections in the specific country card. |
| Changes not taking effect | Cached session on the member's device | Ask the member to refresh or re-open the app. Permission changes apply server-side immediately. |
| Member sees all countries despite restrictions | Permissions stored as unrestricted (null country_ids) | Edit the member and explicitly disable Read for countries they should not access. |
Related Guides¶
- Inviting Members — how to invite and assign roles
- Location Assignments — assigning members to depots and pickup points