Don't just make deliveries, become a delivery entrepreneur

Ever think you should be starting a delivery business rather than just making deliveries for someone else? Or are you just looking for a business idea that will cost almost nothing to get up and running? In this article I’m going to show you how to set up a tech-enabled delivery business. 

With a few tweaks you could use a similar approach to build an on-demand (uber of x) service for handyman, tradesmen, taxis, mowing, babysitting, car washing or whatever.

If you work through all the steps in this article you'll be ready to go and get your first client today: 

Total Time Taken:      45 minutes

Total Money Spent $0

 

How is this going to work?

I'm going to show you a setup for an outsource delivery business for restaurants or other small businesses. We're going to give the client a cost-effective on-demand delivery service that you can scale up rapidly with world-class tech. We'll create a request form for each client and connect the orders directly to a team of drivers using their smartphones, and give the end customer live driver tracking just like they get from all the big tech players. 

Here's the tech plan: 

  1. The client gets a custom web form to submit a delivery request 

  2. A delivery is automatically created in the system and offered to all your drivers

  3. You can keep an eye on the location of your drivers and deliveries from any browser

  4. You download the jobs report weekly to calculate driver pay and restaurant fees

 

Let’s build it!

 

Part 1: Make a delivery request form in Jotform

 

  1. Go to http://jotform.com and create an account

  2. Click “New Form” and import from https://form.jotform.co/72552747471866 

  3. Change the logo and title (and mess with the form however you like)

  4. Set the pickup details

  5. Set the phone number validation

  6. Get a Google API key from here and paste it into the Auto Address Picker

  7. Link the Thank You page back to your form


 

Part 2: Create a Spatula account

 

  1. Go to https://spatula.io and create an account

  2. Go through the welcome steps, making sure to add yourself as a driver for testing the driver app later

 

Part 3: Link your form to Spatula with Zapier

  1. Go to http://zapier.com and create a trial account

  2. Click “Make a Zap”

  3. Select Webhook as the trigger

  4. Copy the webhook URL

  5. Go to the Jotform we set up earlier, go to Settings, Integrations, search for Webhook and paste in the URL you copied from Zapier

  6. Switch the Jotform to preview mode and submit a demo we can use for testing

  7. Head back to Zapier and go to ‘Test this step’. Run the test and make sure your Jotform submission came through properly.

 

Part 4:  Organise the data

Before we can create the delivery job, we need to use some tools in Zapier to get a few more bits of data. 

  1. Get the current time

    • Add an action, select Formatter by Zapier

    • Select Date/Time

    • On the template page, select Format from the transform dropdown list

    • In the input field we want the current time, so copy and paste this: {{zap_meta_utc_iso}}

    • Select your timezone in the To Timezone, and leave the rest of the fields as default

  2. Get the lat/long of the delivery address

    1. Add an action, select Code

    2. Select “Run Javascript”

    3. For “Input Data”, type address in the left hand box and copy and paste this into the right:

      {{26275343__rawRequest__q11_deliveryAddress}}

      you could also find this by choosing the webhook data from the list and finding the address field but copy/paste is quicker

    4. Next you’ll need to copy and paste some code into the box. The code you need is below, but you need to make sure you copy and paste the Google API key in first (keeping the ‘ on each side)

 

var key = 'Google API Key';
var address = {};

input.address.split(/[\n\r]+/).forEach(function(line) {
    var parts = line.split(': ');
    address[parts[0].toLowerCase().replace(/\s+/g, '')] = parts[1];
});

var __x = {
    streetname: 'Maple Avenue',
    housenumber: '746',
    city: 'Glenside',
    state: 'PA',
    postalcode: '19038'
};

var formattedAddress = [
    address.housenumber,
    address.streetname,
    address.city,
    address.state,
    address.postalcode
].join(' ');

fetch(
    'https://maps.googleapis.com/maps/api/geocode/json?key=' +
        key +
        '&address=' +
        encodeURIComponent(formattedAddress)
)
.then(function(res) {
    return res.json();
})
.then(function(body) {
    callback(null, {
        address: formattedAddress,
        geocodeResult: body.results[0].geometry.location
    });
})
.catch(callback);

 

Ok  scary-looking code part complete. Now test that step and make sure that Zapier is able to convert the sample data you put in earlier into a lat/long and a nice looking address, and it's onto the last tech step...

 

Part 5: Create the Delivery in Spatula

Now we're going to create the job in Spatula to send it to your drivers.

  1. First you'll need access to the Spatula integration for Zapier. Click this link to get access to Spatula and click “Accept Invitation”. Then open up the Zap we've been working on and refresh the page to make sure Spatula is available as an option.
     
  2. Add another action and select Spatula, click next until you get to connecting your account
  3. If you aren’t already logged into Spatula, do that first and then click the “Connect an Account” button.

  4. A popup page will open up and prompt you to let Zapier talk to your Spatula account. Just click accept and this step is done

  5. Edit your new job template. Here's how to find the right parameters to put in:

 

You’ve actually got quite a lot of flexibility for how you want the job to look in Spatula once you feel confident in manipulating the Zap template, but here’s a setup that will definitely work to get you started!

 

Name:
FORM ID__rawRequest__q13_customerName - STEP3 ID__address

Task Names: (you need to click the plus to get two tasks)
FORM ID__rawRequest__q16_pickupTask
FORM ID__username

Task Latitude: (you need to click the plus to get two tasks)
FORM ID__rawRequest__q17_pickupLatitude
STEP3 ID__geocodeResult__lat

Task Longitude: (you need to click the plus to get two tasks)
FORM ID__rawRequest__q18_pickupLongitude
STEP3 ID__geocodeResult__lng

Task Addresses: (you need to click the plus to get two tasks)
FORM ID__rawRequest__q19_pickupAddress
STEP3 ID__address

Customer Name:
FORM ID__rawRequest__q13_customerName

Customer Phone:
+1 FORM ID__rawRequest__q5_phoneNumber__full

note that if you’re not in the US, you should replace +1 with your country code. The point is it needs to be in international format, so depending what format you made the input in Jotform you need to finish the format here in Zapier

DeliverBy
26275344__output +FORM ID__rawRequest__q6_preparationTime minutes

Property Names
Cash to Collect
Tip
Delivery Instructions

Property Value
FORM ID__rawRequest__q8_cashTo
FORM ID__rawRequest__q10_prepaidTip
FORM ID__rawRequest__q12_deliveryInstructions

 

Once you’ve copy and pasted all those fields in, you should be able to run the test and create your demo job in Spatula. If it’s successful - turn on the Zap!

 

Part 5: Test it out!

Now for the fun part - go back to Jotform and go to the Publish page. Grab the link and copy it into your browser. This is the live version of the form. Later you can mess with embedding the form in a website, or just hosting it on a special domain, but in the meanwhile the form itself will do just fine.

Make sure you are logged into the Spatula Go driver app - if you haven’t got it already, go to https://spatula.app.link/go on your phone and download the driver app. Assuming you made yourself a driver during setup you can log in using the same email and password you used to sign up for Spatula.

Now submit a new delivery request in your form. Assuming you've got everything set up right, you'll automatically create a job in Spatula. If you look in the web portal you should see the job on the map and you should also automatically get a notification on your phone offering you the delivery in Spatula Go.

Getting into Detail about using Spatula

We're going to leave the Spatula tech there for now, but if you can't wait to keep diving into the ins and outs of the setup, here's some further videos to watch

Spatula Go intro video - how to complete the job as a driver and send your live tracking links to the customer.

Update branding - how to set up a custom SMS template and a branded Dominos-style driver tracker page for the end user

Adding new drivers - to get your team all set up

 

Part 6: Tech done. Let's business…

im-late-for-business.jpg

 

Ok, you’ve got your setup ready! Now you need drivers and clients. Work out a deal that works for you, your customers and your drivers and go and get them! Just don't fall into the trap of being too cheap or you won't be able to deliver.

 

Winning Customers

Some things to consider as you are looking for customers:

  1. Target customers that are as close together as possible! The smaller the geographic area, the more deliveries each driver can do per hour, and the more efficient they will be and the more competitive your pricing can be while still making a profit.

  2. Try to start by doing deliveries at fixed times of the week for them as a starting point - especially as you are getting started. You want to try to create an economy of scale and you want to provide a great service - so don’t spread yourself too thin when you are getting going.

  3. Help your clients work out how they are going to send you the jobs. An iPad on a stand works great, but they could use a laptop, phone, whatever - just make sure they know what to do.

  4. Each time you add a new client, you will need to create them their own special Jotform by cloning the one we created earlier and changing the pickup details.

 

Recruiting Drivers

Some things to consider as you are looking for drivers:

  1. Start by driving yourself - not only will you get to keep a few extra bucks while you're getting things going but you need to understand how the tech works so you can coach your team.

  2. Reliability and quality trumps price, so be picky - if you can find drivers that you can count on to be punctual and professional it’s worth paying them a bit more

  3. Subcontractor or casual staff? Both can work. It's tempting to go down the subcontractor path, in the footsteps of many massive companies that have come before you. However, I think you should give serious consideration to putting together a dependable team that you pay well and pay fair. Your reputation as a team is going to be the the foundation of your success.

If you've got comments and questions please feel free to leave them below. Happy delivering.