Grocery hosting where the delivery slot is the product.
Customers are not choosing between shops. They are choosing between a Thursday evening slot and no slot, and once it is full the order cannot happen at all.
Capacity, not catalogue.
The scarce thing is not stock. It is how many baskets a van can carry on Thursday evening.
A slot that holds exactly its capacity
Two customers taking the last Thursday slot at once is a delivery you cannot make. Slot allocation is serialised so the second one is told it is gone rather than accepted.
Stock that expires on a real timetable
Perishable availability changes through the day as the shop sells and receives. Figures are refreshed on a short cycle rather than cached until tomorrow.
Postcode checked before the basket fills
Discovering at checkout that you do not deliver to an address wastes the customer's twenty minutes. The zone check happens at the front rather than the end.
Substitutions recorded against the order
When an item is out, the picked alternative and the price difference both have to be reflected. That is an order amendment, not a note.
Two ordering peaks, every day
Baskets are built at lunchtime and in the evening. Capacity follows that rhythm rather than a flat daily figure.
Selling something you cannot deliver.
An oversold delivery slot is worse than an out-of-stock product. The customer has arranged their evening around it, and there is no substitute for a van that is already full.
- Slot allocation serialised against capacity
- Perishable stock refreshed on a short cycle
- Delivery zone validated before the basket
- Substitutions applied as order amendments
The last slot on a Thursday.
The measurement is two customers reaching for the same remaining slot simultaneously, because that is the moment the system either holds or oversells.
What we change for grocery delivery
The constrained resource is delivery capacity rather than inventory, and everything follows from that.
| Setting | What we do | Why |
|---|---|---|
| Slot allocation | Serialised so capacity cannot be exceeded | Two shoppers accepting the last slot simultaneously produces a delivery that physically cannot be made, and neither customer did anything wrong. |
| Perishable availability | Refreshed on a short cycle with affected pages purged | Fresh stock changes through the trading day, so a figure cached overnight sells things the shop no longer has by mid-morning. |
| Delivery zone validation | Performed before the basket is built | Finding out at checkout that the address is outside the area wastes twenty minutes of the customer's time and loses the order entirely. |
| Substitution handling | Recorded as an amendment with the price difference | A picked alternative changes what was bought and what is owed, so treating it as a note leaves the order and the charge disagreeing. |
| Daily peaks | Capacity planned for lunchtime and evening ordering | Baskets are built in two windows each day, and a flat average describes neither of them. |
Simple, transparent pricing.
Every plan includes free migration, daily backups, SSL and 24/7 support.
- 1 WordPress site
- 10 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Support tickets
- 5 WordPress sites
- 50 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Priority support tickets
- 20 WordPress sites
- 200 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Dedicated support
Questions, answered.
How do you stop a delivery slot being oversold?
How often should perishable stock update?
When should I check the delivery postcode?
How are substitutions handled?
Only sell slots you can fill.
Move the store across. Migration is free, delivery zones included.