The postcode gets them close. The pin gets them there.

PizzaPilot is a WooCommerce plugin for pizzerias that take their own orders and do their own deliveries.

It keeps orders inside your delivery area, stops everyone booking the same slot, and records exactly where the food is meant to go.

Works with block and classic checkout. HPOS-safe. Over 11,000 orders taken in my own kitchen.

A delivery route drawn on a street map, with the destination pin dropped on the building and the three-word address sits.rents.rails shown on a card beneath it.

Three things that go wrong on a Friday night

You take an order you can’t deliver.

Someone twelve miles out orders four pizzas. Nobody notices until the driver’s halfway there, or until you’re on the phone refunding it.

The driver can’t find the house.

A farm track with no number. A flat above a shop. Three roads with the same name in the same postcode. Twenty minutes gone and the pizza’s cold.

Everything lands in the same slot.

Sixty pizzas booked for seven o’clock, because nothing stopped anyone choosing it. The oven does what the oven does, and the last twelve orders are an hour late.

None of these are ordering problems. They’re delivery problems, and most WooCommerce plugins stop at the checkout button.

Three steps, and then it runs itself

Step 1

Set your area

Your postcode, your radius. Anyone outside it is offered collection instead of a failed order - you keep the sale.

Step 2

Customers pick a slot

Real slots with real limits. When a slot is full it disappears, so you never oversell the oven.

Step 3

The order records where it’s going

Not a rough postcode - the exact pin the customer dropped on a map, and a three-word address for the places postcodes can’t reach. It’s on the order, in the order list and in your emails.

Your customer drops a pin. You get a three-word address.

This is the part nobody else does.

At checkout, PizzaPilot Pro shows the customer a map. They drop a pin on their actual front door - not the middle of their postcode, not the nearest main road. The plugin checks that pin against your delivery radius before the order goes through, so an out-of-area order never becomes your problem.

It also captures a What3Words address for that exact spot. Every three metres on earth has one. When your driver is looking at a row of unnumbered cottages at half nine at night, three words beats a postcode every time.

The pin, the coordinates and the three-word address all land on the WooCommerce order, so whoever’s dispatching can see them without leaving the order screen.

Start free. Upgrade when you need to.

The free version isn’t a demo. It runs a small pizzeria perfectly well.

FeatureFreePro
Same-day time slotsYesYes
Delivery radius check (UK postcodes)YesYes
Kitchen order viewYesYes
Block and classic checkoutYesYes
Delivery-checker block for any pageYesYes
Future-date orderingNoYes
Custom slot times and bulk generationNoYes
Slot capacity limitsNoYes
Map pin and What3Words at checkoutNoYes
Worldwide geocodingNoYes
Email supportNoYes

Over 11,000 orders since April 2020

CasaGees is mine. We make pizza in our own kitchen and deliver it round the local area, and this is the system that takes every order. It has done since the first one, in April 2020. WooCommerce says we’re past eleven thousand of them.

A normal week is about 30 pizzas out on a Thursday, 90 on a Friday and 60 on a Saturday. Not enormous. But enough that when something’s wrong you find out within the hour, and enough that a slot filling up is a real problem rather than a theoretical one.

Every feature in this plugin exists because I hit the problem myself, usually mid-service, and needed it fixed by the following Friday. Real problems, real solutions. Nothing in here was designed in a spec document by someone who’s never had a driver ring up lost.

Built by someone who has to answer the phone

I’m Elliott. I build WordPress plugins and themes in Cheltenham and I contribute to WordPress core. I was also a chef before any of that, and I’ve made pizza all my life.

Then in March 2020 the country shut and everybody stayed in. My wife and I had an oven and I knew what to do with it, so we thought we’d give it a go. First order went out in April.

The deliveries were done by our kids on bikes, which worked right up until it didn’t. Once we got properly busy, pocket money stopped covering it and we took on local drivers instead. Six years on it’s a business with staff and eleven thousand orders behind it, still cooked in our own kitchen.

Nobody sold me an ordering system, so I wrote one. When the checkout breaks on a Friday night there’s nobody to escalate it to. I fix it, then I go back to the oven.

It does mean I’m my own biggest customer, which is a conflict of interest I’m entirely comfortable with. It also means this plugin has never had a feature built to fill a comparison table.

Why bother releasing it?

During lockdown I watched a lot of WordPress developers doing the same job at once: taking a client with a brochure site and turning it into an ordering system in a fortnight, because the client’s takings had gone to zero overnight. Everyone was solving the same problem separately, and mostly badly, because nobody had done it before and there was no time to learn.

I had the advantage of solving it for myself, slowly, over years, with a real kitchen telling me when I’d got it wrong. This is that, packaged up.

What it doesn’t do

It isn’t a restaurant platform. No table booking, no EPOS, no stock control, no loyalty scheme. There are good products for those and this isn’t trying to be one.

It’s a delivery plugin for WooCommerce, and it’s opinionated about being good at that.

Try the free one first

Same code underneath. If it does what you need, keep it and don’t pay us anything.