Delivery persons are ordinary WordPress users with the Delivery Person role. They log in to your storefront like a customer and manage their assigned orders from My Account → Deliveries — no admin access, no dashboard.
Creating a delivery person
The plugin registers the role automatically; you never have to create it.
- Users → Add New.
- Fill in the details and pick Delivery Person in the Role dropdown.
- Add New User.
To convert an existing user, edit them and change the role. A user can only hold one role here — someone who is both a shop manager and a driver should have a separate driver account, because the driver screens key off the Delivery Person role.
What the role can do
The role has exactly two capabilities: read (so they can log in and use My Account) and manage_delivery (the plugin’s own capability for updating a delivery). It grants no WordPress admin capabilities.
A driver can:
- see the list of orders assigned to them, and nothing else;
- open an assigned delivery and see the customer’s name, delivery address, phone, email and items;
- change the delivery status of an order they are assigned to.
A driver cannot:
- see or search other drivers’ orders;
- see any WooCommerce admin screen, customer list or order list;
- see payment details. (With Pro, the order total and payment method can be shown deliberately — useful for cash on delivery — but it is off by default.)
Every frontend action re-checks, server-side, that the user is either the assigned delivery person for that order or someone with the manage_delivery capability.
The driver dashboard (free)
Logged-in delivery persons get a Deliveries item in the My Account menu, placed right after Dashboard. It lists their assigned orders in a table with these columns:
| Column | Contents |
|---|---|
| Order | Order number, linked to the single-delivery view |
| Customer | Customer name |
| Date Assigned | When the order was assigned to this driver |
| Delivery Status | Processing, Out for Delivery or Delivered |
| Actions | Open the delivery |
Opening one shows the delivery details, the timeline, and two checkboxes — Mark as Out for Delivery and Mark as Delivered — that save instantly over AJAX and stamp the time on the order.
The free list shows deliveries on orders in the Processing and Completed statuses. Developers can widen that with the
dman_my_account_my_deliveries_queryfilter; Pro widens it already.
The driver app (Pro)
With Delivery Manager Pro active, the same Deliveries page is replaced by a mobile-first interface built for use on a phone at the door:
- Tabs — Today, Active, Completed and Failed, so a driver sees the run they’re on rather than everything they’ve ever delivered.
- Search — by order number or customer name, across all their deliveries.
- On-duty toggle — one tap to go on or off duty. Off-duty drivers are skipped by automatic assignment.
- Today’s stats — active deliveries, delivered today, failed today.
- Delivery cards — address, status badge, time slot, and Open / Navigate / Call buttons.
- The single-delivery view — a “Deliver to” panel with the address and customer note, the items (if you allow it), Navigate / Call / WhatsApp deep links, the notes thread, the timeline, and the proof-of-delivery panel once captured.
- Status dialog — instead of checkboxes, the driver picks the next status and confirms in a dialog that collects a note (required for failed and returned deliveries, if you’ve set that), the recipient’s name, a photo and a signature, according to your proof-of-delivery settings.
- Working pagination — Pro fixes the free plugin’s single-page listing.
Deep links need no API keys: Navigate opens Google Maps directions to the delivery address, Call uses a tel: link, and WhatsApp opens a chat with the customer’s number and a prefilled message.
Pro profile fields
With Pro, editing a Delivery Person user shows a Delivery Person section:
| Field | What it does |
|---|---|
| Phone | Shown to the store, and to customers if you enable it in the tracking/customer view settings. Falls back to the user’s billing phone. |
| Vehicle | Free text, shown on the dispatch board and order metabox. |
| Availability (On duty) | Only on-duty drivers are eligible for automatic assignment. Drivers can also toggle this themselves from My Account. |
| Max active deliveries | Capacity. 0 means unlimited; automatic assignment skips a driver once their active count reaches the limit. |
| Zones | Which delivery zones this person covers. Zones can also be edited from the zone side. |
Controlling what drivers see (Pro)
Under WooCommerce → Delivery Manager → General → Delivery Person View, you decide what appears on the driver’s screens:
- Customer phone (enables the Call and WhatsApp buttons) — on by default
- Customer email — on by default
- Order items — on by default
- Order total and payment method (for cash on delivery) — off by default
This section includes two workflow switches: capture the driver’s browser location with each status change, and require a note for failed and returned deliveries.