Delivery Businesses & WooCommerce
We’ve all seen the rise of grocery delivery services – the tides are changing, and where we used to enjoy trips across town, consumers are now looking for ways to have things brought to us.
And that’s where delivery businesses in the food industry (hello, Pizza) come into play.
Studies indicate that 10% of consumers use food delivery services at least once a week, and that’s just one service business that offers delivery.
Restaurant and grocery stores not only offer delivery for their customers, but place orders and have items delivered to them on a weekly basis, too.
So this same plugin can power the restaurant’s online delivery management, and also power the restaurant’s food vendors who deliver truck loads of fresh produce every week.
And while upwards of $4B dollars was spent ordering food delivery in 2015, we cannot overlook the multi-billion dollar cannabis industry that offer delivery services and need an easy way to manage drivers and track orders.
With industries this large, there’s no reason for WooCommerce to not have a delivery driver system for businesses who need them.
Since I couldn’t find anything remotely useful available, I decided to build it myself.
How the plugin works
Now that we’ve covered some of the reasons behind building the plugin and the markets that it serves, let’s jump into how it actually works!
Delivery Drivers WooCommerce Settings
First things first, once you’ve installed & activated the plugin, you’re going to want to head over to the Settings page.
You can find the Delivery Drivers settings by going to WooCommerce -> Settings -> Delivery Drivers
.

The settings page allows you to add your Google Maps API key which is required in order for the map to display on your driver’s dashboard.
You can also add your dispatch phone number, which then adds a contact button on the order page in your drivers dashboard.
Adding this contact info lets your drivers easily connect to your dispatch center with any questions they have about the order.
Adding new delivery driver users
Delivery drivers will be added in your WordPress dashboard the same way that you would add a new subscriber, customer, administrator etc.
First, you’ll go to Users -> Add New
.
From this page you can add in the drivers name, email address, username, and so on.
The part that you’ll want to focus on when adding a new Delivery Driver is the user role section of the Add User page.

Assigning a driver to each order
Once you’ve taken care of the settings page, it’s time to start assigning a driver to your order.
In your dashboard, go to WooCommerce -> Orders
and then edit any of your orders, which will bring up a screen like the image below.

In the Delivery Driver box on the right side of the screen, you’ll see a list of every user in your website with the Driver role that you can choose from.
Then, on the left side of the screen where the Status: is currently Processing
, you can change the status to Driver Assigned
.
the DDAS extends built in features and adds in a few new ones of it’s own.
Auto-assign Drivers
The DDWC Pro plugin adds a few new options to the Delivery Drivers tab in your WooCommerce settings.
First, there is a setting that – when checked – will auto-assign drivers when an order is submitted by a customer.
This saves you precious time by streamlining the delivery process and giving you the ability to spend time on other areas of your business.

Let Drivers Claim Orders
DDWC Pro adds an Unclaimed Orders
section at the bottom of the Driver Dashboard.
When drivers click the “view” button, they are taken to a separate page and with a table of unclaimed orders.
The table displays the date each order was placed, the total dollar amount of the order and the city each order needs to be delivered to.
From this page, the driver can click “claim” button which then assigns them to the order, allows review of the full order details, and removes it from the Unclaimed Orders
table.

Accept Driver Applications
There is also a checkbox setting to override the “Unauthorized Access” message in the free version that gets displayed on the Driver Dashboard
for users who are not designated as Drivers.
This setting – when checked – will give non-drivers the ability to apply to become a driver.

The contact button within the new content for this page will link to the administrator’s email address by default, but you can select any page on your website within the settings to link the button to.
That means you can use the contact form plugin of your choice to create a separate page for users to apply to become a driver, gathering any details you’d like in the process.
SMS Communications
The DDWC Pro plugin integrates with Twilio for SMS capabilities, and you can choose this option in the admin settings to replace the email communications.

Email Communications
The DDWC Pro plugin adds in email communications at various stages, and all emails are editable through the WooCommerce Email templates system.
Let’s look at when emails get sent, and who they’re sent to!
Driver gets an email when they’re assigned an order
In DDWC Pro, the driver assigned to an order will receive an email to let them know they’ve got a new order to deliver.

Customer gets an email when order is out for delivery
The Pro plugin adds in functionality that will send an email to your customer when the Driver assigned to the order marks it as Out for Delivery
.
This email informs the customer of the order number and lets them know the driver is on the way with their order.

Administrator gets an email when an order is delivered
When your driver drops off the customers order, the free version of the plugin allows the driver to mark an order as Completed
.
Now with the Pro version, when the driver marks an order as Completed, the website administrator will receive an email letting them know that the order has been delivered.

Driver REST API endpoint for WooCommerce Orders
The Delivery Drivers for WooCommerce Pro plugin includes a new ‘driver’ endpoint to the WooCommerce Orders REST API data, making it easy to include driver data in your mobile apps.

Drivers Capabilities
Now that we’ve covered how the administrator of the website can work with the Delivery Drivers for WooCommerce plugin, let’s see what capabilities are given to your drivers.
Views from the Driver dashboard
On the front end of your website, the plugin adds a new “Delivery Drivers” tab to the WooCommerce My Account page, as seen below.

When the driver clicks to view the Delivery Drivers page, they are given a table view of each order that’s been assigned to them.
These details include the order ID number, the date of the order, it’s current status and the total cost for the order.
The order ID links to a separate page for your driver to further manage the order.
Order status management by your drivers
Once your driver clicks the ID number they’d like to view order details for, they are displayed with another page, like in the screenshot below.

This page shows basic order details, along with a list of items in the order, the delivery address and Google map of the location, plus order status management.
Order Status management
Under the map is where your driver can change the order status. The default option is to change the order status from Driver Assigned
to Out for Delivery
.
Once they’ve clicked the button to mark the order as Out for Delivery
, the status option changes to allow the driver to mark the order as Complete
after they’ve made the delivery.
The goal is to give your driver the ability to manage the order status themselves and free up your time to spend it elsewhere on the business – or hell, maybe even take some time off ?