Skip to main content

Itinera — Roles & Permissions

Last updated: February 24, 2026


Role Overview​

RoleScopeWho they are
SUPERADMINPlatform-wideItinera operator (you) — full access to all companies, all data, billing, platform config
ADMINCompany-wideCarrier owner or ops manager — full control within their company, cannot delete routes
DISPATCHERCompany-wideDay-to-day ops — creates and manages routes, assigns drivers, uploads fuel prices
READONLYCompany-wideAccountant, auditor, carrier contact — sees everything within their company, changes nothing
OWNER_OPERATOROwn truck onlyIndependent contractor — sees their own routes, fuel costs (marked-up price), and earnings
DRIVEROwn assignments onlyEmployee driver — sees their assigned routes, navigation links, personal fuel/analytics

Permissions Matrix​

ActionSuperAdminAdminDispatcherReadOnlyOwnerOperatorDriver
Routes
View all routes✅✅✅✅Own onlyOwn only
Create / edit routes✅✅✅❌❌❌
Cancel routes✅✅✅❌❌❌
Delete routes✅❌❌❌❌❌
Edit COMPLETED/CANCELLED routes✅❌❌❌❌❌
Fleet & Tracking
View live fleet map✅✅✅✅Own truck❌
View deviation alerts✅✅✅✅Own truck❌
Fuel
View fuel stops (real price)✅✅✅✅❌✅
View fuel stops (marked-up price)————✅—
Upload fuel prices✅✅✅❌❌❌
Analytics
Fleet-wide fuel analytics✅✅✅✅❌❌
Own truck analytics✅✅✅✅✅ (marked-up)✅ (real price)
Financial reports / margins✅✅❌✅Own earnings only❌
Reports
Route summary / detail✅✅✅✅Own onlyOwn only
Activity log✅✅❌✅❌❌
Deviation report✅✅✅✅Own only❌
Fuel stops report✅✅✅✅Own only❌
Fuel spend / financial report✅✅❌✅Own only❌
Users & Settings
Manage users (invite, deactivate)✅✅ (see constraints)❌❌❌❌
Manage company settings✅✅❌❌❌❌
Manage all companies✅❌❌❌❌❌
Notifications
Receive all company alerts✅✅✅✅Own truck only❌
Delete notifications✅✅❌❌❌❌

Role Assignment Constraints​

  • SuperAdmin can assign any role to any user across any company
  • Admin can assign DISPATCHER, READONLY, OWNER_OPERATOR, DRIVER within their own company only — cannot create or promote other Admins (prevents privilege escalation)
  • No other role can manage users

Driver Portal Scope​

Drivers get a simplified mobile-first view, not the full dispatcher dashboard.

PageAccess
ProfilePersonal info, password, 2FA
My RoutesAssigned routes (active + past), navigation links, fuel stop recommendations
My AnalyticsPersonal MPG, fuel history, route history (real prices, not marked up)
NotificationsAlerts about their own truck only

Fuel Price Markup (Owner Operators)​

Owner operators see a marked-up price rather than the real network price. Configurable per company and per individual — not hardcoded.

fuel_pricing_rules table (added with OWNER_OPERATOR implementation in Phase 8)​

FieldTypeNotes
iduuid PK
company_iduuid FKWhich company this rule applies to
applies_to_roleenumOWNER_OPERATOR or DRIVER
user_iduuid FK nullableIf set, overrides role-level rule for a specific person
markup_typeenumFIXED (e.g. +$0.12) or PERCENTAGE (e.g. +5%)
markup_valuedecimalThe markup amount
effective_fromdateWhen this rule takes effect
created_atdatetime

Lookup order: user-level rule → company role-level rule → real price (no rule exists)

Important: Real price always stored internally. Markup applied at display/API response time only — never persisted.

fuel_price_views table (audit trail)​

Every time a marked-up price is shown, the real price and applied markup are logged here for margin tracking and dispute resolution.


Schema Fields Required (Future)​

Fields to add to users when implementing full role system:

FieldPurposePhase
samsara_driver_idLinks Driver/OwnerOperator to Samsara record for data scopingPhase 9
samsara_vehicle_idLinks OwnerOperator to their specific truckPhase 8
company_idFK to companies tablePhase 8

The JWT/session token must carry companyId once multitenancy is live so every API call can scope queries without an extra DB lookup.


Implementation Order​

PhaseWhat gets addedPrerequisite
Roadmap Phase 1SUPERADMIN and READONLYPermission adjustments on existing requireAuth() — no schema changes
Roadmap Phase 8company_id scoping + OWNER_OPERATOR + fuel_pricing_rulesRequires companies table (Better Auth migration)
Roadmap Phase 9DRIVER with simplified portalRequires Samsara driver ID linking + multitenancy