Driver

Delivery driver — works assigned deliveries on the mobile API.

2 min read

Driver

Summary. A delivery driver who belongs to a delivery company. They work only the deliveries assigned to them, almost entirely through the mobile API under /api/v1/driver/deliveries (the whole group is gated by update delivery-status).

What you can do

Deliveries (mobile API)

  • List the deliveries assigned to you — GET /api/v1/driver/deliveries (view orders).
  • View a delivery's detail — GET /api/v1/driver/deliveries/{order}.
  • Start a delivery — POST /api/v1/driver/deliveries/{order}/start (update delivery-status).
  • Mark deliveredPOST /api/v1/driver/deliveries/{order}/delivered.
  • Mark failedPOST /api/v1/driver/deliveries/{order}/failed.

Tracking & feedback

  • Post GPS location during delivery — POST /api/v1/driver/deliveries/{order}/location (rate-limited via throttle:driver-location).
  • Submit a delivery reviewPOST /api/v1/driver/deliveries/{order}/review.

What you cannot do

  • Cannot see orders that are not assigned to them.
  • Cannot approve/reject orders or reassign them — they only progress delivery status.
  • No access to admin screens, products, inventory, wallet, or company management.

Data scope

Assigned orders only. A driver sees a delivery only when they are the assigned driver on that order — e.g. order #123 appears in their list only after the delivery company admin assigns it to them.

Permissions

Exact list (synced in SaasRoleSeeder): view orders, update delivery-status — two permissions. GPS posting and review submission ride on the same delivery authorization.

How this role is assigned

Created by their delivery company admin (who holds manage own-company-users). The driver then signs in to the mobile app to receive and complete assigned deliveries.

See roles/delivery-company-admin (assigns orders to drivers) and roles/delivery-company-staff.