Sort every site into priority tiers by what a late clear costs: hospital and care access first, then contract car parks (parking lots) with opening times, then everything else. Give each tier a clear-by time, work out how many trucks those deadlines need, and sequence stops inside them. ChatGPT checks the clock; a map tool supplies drive times.
Shortest-route tools shorten the drive, not the wait at the hospital door. Left alone, an optimiser will clear a retail lot first if that saves six minutes of driving. So the order comes from your tiers, the drive times come from a map tool, and ChatGPT does the arithmetic and the what-ifs, which you still check by hand. Every figure below is illustrative; swap in your own from last storm's log.
Why the shortest drive can put the hospital second
Take two stops and a depot. The retail lot takes 45 minutes to clear and sits five minutes from the depot. The hospital entrance takes 70 minutes and sits 18 minutes out, with 12 minutes between the two sites. Roll at 02:00 and the two possible orders play out like this.
| Order | Driving | Hospital finished | Retail lot finished |
|---|---|---|---|
| Retail lot first, then hospital | 17 minutes (5 + 12) | 04:12 | 02:50 |
| Hospital first, then retail lot | 30 minutes (18 + 12) | 03:28 | 04:25 |
The first order wins on driving by 13 minutes and misses a 04:00 hospital deadline by 12. Anything that scores total drive time will choose it. A tier rule makes the second order the only acceptable one, and those 13 extra minutes of driving are simply what the promise costs. Better to know that figure before you sign a contract than at 03:40 on the night.
Four tiers, each with a clear-by time you can defend
A tier answers one question: what happens if this site is late? The table sets out four tiers that every later example uses. They are an illustration, not an industry standard. Your real ones come from your contracts, and where a contract is silent the clear-by time is a promise you are making to yourself, so make it one you can keep.
| Tier | Typical sites | Clear-by (counted from roll-out) | Repeat visits |
|---|---|---|---|
| 1 | Hospital emergency entrances and ambulance bays, care homes, urgent care | Within 2 hours | Again at every further 2 inches (5 cm) until the snow stops |
| 2 | Contract sites with opening times: supermarkets, schools, pharmacies, clinics, offices | By 06:00, or an hour before opening if that is earlier | Again at every further 4 inches (10 cm) |
| 3 | Standard commercial: retail units, depots, church car parks | By 10:00 | One clean-up after the snow stops |
| 4 | Overflow and low-use: self-storage, spare car parks, church halls | Within 24 hours | One visit |
To place a borderline site, ask four questions. Who is hurt if it is late: patients, staff, customers or nobody? Does the contract name a time or a penalty? Is there a second way in, such as another entrance? How many hours a day is it open? ChatGPT can propose a tier from your notes, which is a quick way to find sites you have under-rated, but the tier is your decision.
A short illustration of that exchange. You paste: "Dental surgery, opens 08:00, one small car park, two disabled bays by the door." It suggests Tier 2, because the opening time is the deadline, and adds that the disabled bays should be flagged "clear first" in the crew notes. That second point is the useful one. You would not have put it in the sheet, and the driver needs it.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowThe site sheet ChatGPT works from
One row per site, one column per fact the plan needs. Give each site a short code instead of a client name; the key stays in your own file, which also keeps customer details out of the chat. On a consumer plan, check the data-controls setting that stops chats being used for model training. Business plans do not train on your content by default.
| ID | Tier | Site (generic) | On-site min | Clear-by | Crew note |
|---|---|---|---|---|---|
| H-01 | 1 | Hospital emergency entrance and ambulance bay | 70 | 04:00 | Bay must stay clear; salt first |
| H-02 | 1 | Hospital staff car park | 60 | 04:00 | Shift change at 07:00 |
| C-01 | 1 | Care home drive and car park | 35 | 04:00 | Minibus bay by the side door |
| S-01 | 2 | Supermarket A, large lot | 95 | 06:00 | Trolley shelters; push to north edge |
| K-01 | 2 | Primary school | 40 | 06:00 | Gate code on job card; keep drop-off lane clear |
| D-01 | 2 | Dental surgery | 20 | 06:00 | Two disabled bays first |
| R-03 | 3 | Retail unit and loading bay | 50 | 10:00 | Delivery lorries from 08:00 |
| N-02 | 4 | Self-storage overflow lot | 40 | Next day | Pile at back fence |
Take "on-site min" from the minutes your trucks spent last storm, salting included, not from a guess at the lot's size. Add a column for the cluster (north, east and so on) once you have mapped the sites. If you build the sheet in Google Sheets, ready-made prompts for working in it are in this Google Sheets tutorial.
Truck count: the earliest deadline sets the fleet
Take a contractor with 24 sites across the four tiers: 4 in Tier 1, 8 in Tier 2, 8 in Tier 3 and 4 in Tier 4. The sheet gives 1,145 minutes of on-site work. Last storm's log shows about 10 minutes per stop going on driving and salt reloads, so the working figure is 1,145 + 240 = 1,385 minutes, or 23.1 truck-hours. The snow reaches the 2-inch (5 cm) trigger at 01:30 and the trucks roll at 02:00.
Three trucks look fine against the total: 23.1 hours split three ways is 7.7 hours each. The deadlines say otherwise. For each deadline, add up the work that must be finished by then and divide by what a truck can really deliver in that window. A sensible planning rule is 85% of the window, because something always slips.
| Deadline | Sites due | Work with 10-min allowance | Window from 02:00 | Trucks needed at 85% |
|---|---|---|---|---|
| Tier 1, 04:00 | 4 | 235 min | 120 min | 2.3, so 3 |
| Tiers 1 and 2, 06:00 | 12 | 770 min | 240 min | 3.8, so 4 |
| Tiers 1 to 3, 10:00 | 20 | 1,180 min | 480 min | 2.9, so 3 |
| All tiers, 02:00 next day | 24 | 1,385 min | 1,440 min | 1.1, so 2 |
The formula is work minutes divided by (window minutes x 0.85), rounded up. The 06:00 line sets the fleet at four trucks, even though most of the job is Tier 3 and 4 work that two trucks could finish. Early deadlines, not total workload, decide how many trucks you need on the road at 02:00. Tier 1 shows a second limit: the longest site (80 minutes with allowance) and the two-hour window mean the two hospital sites cannot share a truck.
Here is the 4-truck plan for Tiers 1 and 2, with every finish time worked out by hand.
| Truck | Stops in order (finish time) | Last Tier 2 stop done |
|---|---|---|
| A | H-01 (03:20), K-01 (04:10), O-01 (05:30) | 05:30 |
| B | H-02 (03:10), S-02 (04:45), P-01 (05:25), D-01 (05:55) | 05:55 |
| C | C-01 (02:45), U-01 (03:25), S-01 (05:10) | 05:10 |
| D | O-02 (03:10), K-02 (04:15) | 04:15 |
Every Tier 1 site is finished by 03:25, and every Tier 2 site by 05:55. Truck B has five minutes spare, which is why the plan is not finished yet. Truck D is free from 04:15 and starts the Tier 3 sites. If you own only three trucks, you have three honest options: hire a fourth with a driver for four hours (a subcontractor at, say, $110 an hour with a four-hour minimum would cost $440 a storm, a figure to replace with a real quote), roll earlier, or renegotiate the Tier 2 clear-by times. Price each against what losing that contract would cost.
Plan the pushes, not just the first one
A push is one visit to one site. The table above plans a single push per site, which only holds if the snow stops soon after the trigger. A storm that keeps falling multiplies the visits to Tier 1 and 2. Using the repeat rules from the tier table (Tier 1 every 2 inches, Tier 2 every 4, Tiers 3 and 4 once at the end), the same 24 sites need this much work as the storm grows.
| Storm total | Pushes: Tier 1 / 2 / 3 / 4 | Truck-hours | Hours per truck with 4 trucks |
|---|---|---|---|
| 2 inches (5 cm) | 1 / 1 / 1 / 1 | 23.1 | 5.8 |
| 4 inches (10 cm) | 2 / 1 / 1 / 1 | 27.0 | 6.8 |
| 6 inches (15 cm) | 3 / 2 / 1 / 1 | 39.8 | 10.0 |
| 8 inches (20 cm) | 4 / 2 / 1 / 1 | 43.8 | 10.9 |
| 12 inches (30 cm) | 6 / 3 / 1 / 1 | 60.5 | 15.1 |
Read the last column against your shift cap. The business in the example caps a shift at 12 hours, so the 6-inch storm already needs relief drivers, and the 12-inch storm is impossible with four trucks and one crew each. Pick a design storm, here the 6-inch one, and decide in advance what slips when a bigger one arrives. Tier 4 goes first, then Tier 3, each with a text to the client explaining when to expect the visit. Writing that order down on a calm day is far easier than choosing it at 05:00 with the phone ringing. The same thinking applies to night work in general, as in this look at pricing winter call-outs and night runs.
Prompt: turn the sheet into truck routes
Paste the sheet as plain CSV text under a prompt that fixes the rules. The wording below makes three choices on purpose: it states the allowance, it tells ChatGPT not to invent drive times, and it asks for the late sites to be listed rather than hoping it will mention them.
You are helping a snow ploughing contractor plan routes. Rules:
- Roll-out is 02:00. Clear-by times: Tier 1 by 04:00, Tier 2 by 06:00,
Tier 3 by 10:00, Tier 4 by 02:00 the next day.
- Every stop takes on_site_min plus 10 minutes for driving and salt reloads.
- I have 3 trucks (A, B, C). A truck works at most 12 hours.
- Never put a lower-tier site ahead of a higher-tier site on one truck.
- If you need a drive time that is not in the sheet, ask me. Do not estimate.
Task: assign every site to a truck and order each truck's stops. For every
stop show start and finish clock times. Then list every site that misses its
clear-by time and by how many minutes. Show the sums for the busiest truck.
List every assumption you made.
id,tier,on_site_min,cluster,note
H-01,1,70,N,bay must stay clear
H-02,1,60,E,shift change 07:00
C-01,1,35,W,minibus bay
(remaining sites)
A first answer can look like the block below. It is an illustrative reply from a 3-truck run of Tiers 1 and 2 only.
Truck A: H-01 02:00-03:10 | S-01 03:10-04:45 | D-01 04:45-05:05 | P-01 05:05-05:35
Truck B: H-02 02:00-03:00 | S-02 03:00-04:25 | O-02 04:25-05:25
Truck C: C-01 02:00-02:35 | U-01 02:35-03:05 | K-01 03:05-03:45 |
K-02 03:45-04:40 | O-01 04:40-05:50
Sites missing their clear-by time: none. Last Tier 2 site finishes 05:50.
It reads well and it is wrong. Five things to catch.
- The 10-minute allowance is missing. Across 12 stops that is 120 minutes of work the plan has quietly dropped.
- Re-add it and truck A's last stop, P-01, finishes at 06:15, which is 15 minutes late. Truck C's O-01 finishes at 06:40, 40 minutes late. Truck B, at 05:55, squeaks through.
- The three trucks are balanced on on-site minutes (215, 205 and 230), but truck C has five stops and truck A four, so the real clocks are not balanced at all. Stops cost time as well as minutes.
- "None missing" was stated without any sums shown. Insist on the sums for the busiest truck, and check that one yourself.
- It did not say which clusters the trucks drive between, so you cannot tell whether the order makes geographic sense.
Models are patchy at long chains of addition, a problem covered in this tutorial on why AI is bad at maths. Ask for the totals as spreadsheet formulas, or paste the stops into your own sheet and let it add them. Then re-run with four trucks and compare.
What the map tool has to supply
ChatGPT has no reliable view of live traffic or your actual roads, so the drive times between your sites have to come from somewhere else. There are three sources, in rising order of cost.
- Your own last storm. Crew-app timestamps or a GPS log show the real drive time between sites, including the bad-road crawl that a map's normal-conditions estimate misses. This is the cheapest source and, for the legs you drove, the best.
- A free map for the picture. Google My Maps lets you import a sheet of addresses as pins, with a layer per tier so Tier 1 is red and Tier 4 is grey. It shows clusters and outliers at a glance. It does not sequence a shift for you, and Google's import limits are on its help page, though a few dozen sites is a small file.
- A route planner that understands priorities. For ordinary landscaping rounds, this tutorial on route planning for landscaping crews covers the basics. For storm work, OptimoRoute's pricing page lists Lite at $35.10 per driver per month billed annually and Pro at $44.10, and its features list describes orders carrying "priorities, time windows, job durations". The page does not say which plan includes those, so ask before you pay; four trucks at the Lite rate would be $140.40 a month. Route4Me's pricing page lists "Customer Priorities" and "Time Windows" in its comparison table, with plans from $199 a month, and does not say whether that is per driver or per account.
If you already run Jobber, note what its route optimisation does. Its help article says it reorders only visits with no fixed start or end time, for up to seven days at once, runs from the website by an admin (not in the app), and is available on Connect, Grow and Plus. It describes no priority setting. So set the tier order yourself, and optimise only inside a tier, never across tiers. Snow-specific platforms are covered in the snow removal software tutorial.
Check the plan against last storm before you trust it
A plan that has never met a real storm is a guess with tidy formatting. Take last storm's log and put the planned minutes next to the actual ones for a handful of sites. Illustrative figures:
| Site | Planned min | Actual min | Gap |
|---|---|---|---|
| H-01 | 70 | 84 | +14 |
| S-01 | 95 | 118 | +23 |
| S-02 | 85 | 92 | +7 |
| O-01 | 70 | 66 | -4 |
| K-01 | 40 | 52 | +12 |
| R-03 | 50 | 61 | +11 |
| Total | 410 | 473 | +63 (15%) |
The sites ran 15% over. Scale the Tier 1 and 2 on-site minutes by 1.15 (650 becomes 747) and the work due by 06:00 rises from 770 to 867 minutes. Four trucks at 85% of a 240-minute window deliver 816, so the plan is now short. Truck B's last stop, D-01, would finish at 06:25 instead of 05:55. Two cheap fixes follow. Move the dental surgery to truck D, which has about 90 minutes spare before 06:00. And cut the 30-minute lag between the trigger and the wheels turning by loading and fuelling the evening before: with a 270-minute window the same four trucks deliver 918, which covers 867.
Look for patterns in the gaps, not just the total. If every supermarket lot runs over, the cause may be where the snow is piled, not the lot size, and you can fix that in the crew note. If the hospital ran over because of parked cars, that is a conversation with the site manager. If you have no logs at all, plan the next storm anyway and have each driver note start and finish times on a card; one storm of data beats any amount of guessing.
Re-plan when a truck drops out at 03:30
Storms break the plan, so decide how you will re-plan before one does. Say truck C loses a hydraulic hose after U-01 at 03:25, with S-01, the large supermarket lot, still to do. Give ChatGPT the current state, not the original problem.
Truck C is out of action as of 03:25. Done so far: all Tier 1 sites and O-02.
Truck D is on K-02 and will finish at 04:15. Trucks A and B are on schedule.
Still to do: S-01 (Tier 2, 95 min plus 10, clear-by 06:00) and all Tier 3
and 4 sites. Keep every completed or started stop where it is. Reassign only
unstarted stops. Show new finish times and flag any clear-by miss. Do not
move Tier 1 repeat visits.
A sound answer puts S-01 on truck D at 04:15, finishing at exactly 06:00 with no slack. Your check is whether that is acceptable. Probably it is, if you phone the store manager and promise the main entrance lane first, then the full lot. Notice that the useful output was a decision with a cost attached, not a new schedule. Whatever ChatGPT proposes, the person on the radio decides.
Decisions that stay out of the chat window
Some calls should never be delegated to a prompt. When to roll is yours: the trigger depth comes from the contract and a measurement from a named source, and a contract guide from NEXT Insurance makes the point that naming a weather station in the contract avoids arguments about how deep the snow really was. Driver fatigue and shift caps are yours. So are site hazards that no sheet captures: a kerb hidden under drifts, a new bollard, a car left on the ramp. Put what you learn in the crew note after every storm.
Finally, keep the tier promise and the contract in step. If the plan only works with four trucks at 85%, the clear-by times in your contracts should be ones four trucks can keep, which is the subject of the snow removal contract tutorial. A route plan is only as honest as the promises it is built to meet.
Questions plough contractors ask about route planning
How many sites can one plough truck cover in a storm?
There is no honest universal number. Add each site's on-site minutes plus a drive and reload allowance, then divide by the hours in the shift. In the example above, 24 sites took about 23 truck-hours, roughly six sites a truck over a night. Your own last-storm log gives the real figure.
Do I need paid route software or will a spreadsheet do?
If each truck has a handful of stops and the order rarely changes, a spreadsheet and a free map are enough. Pay for a planner when you re-plan during storms or juggle time windows. Check that it supports priorities and time windows on your plan before you pay.
Can ChatGPT decide when we start ploughing?
No. The trigger comes from the contract and a measured depth from a named source, and the roll-out call is yours. ChatGPT cannot see snow on the ground or live traffic. Use it for the plan, the arithmetic and the what-ifs, then confirm the numbers yourself.
What if two hospital entrances are far apart?
Give each its own truck. Tier 1 sites with the same deadline cannot share a truck unless their combined time and drive fit inside it. If that needs more trucks than you own, line up a subcontractor for storm nights or change the promise before the next contract.
Further reads
- How to Price Snow Removal: Per-Push, Seasonal or Hourly, Tested With AI — Price per-push, seasonal and hourly work so tier promises pay for themselves.
- AI Job Scheduling and Dispatch for Trades and Field Service Teams — General scheduling and dispatch logic for teams that are not on snow.
- AI Route Planning for Small Delivery Fleets and Mobile Teams — How route planners treat time windows and drive times for small fleets.
- Heating Oil Delivery Software: Route Winter Top-Ups With AI Help — Another winter-night routing job with run-out priorities.
- Winter Work for Landscapers: Plan Off-Season Services With AI — Fill the winter calendar around ploughing for a landscaping firm.
- Junk Hauling Software: Dispatch Trucks and Time Windows With AI — A worked look at time windows in dispatch software.
- Bin Cleaning Business: Route Pricing and Subscription Reminders With AI — Price a bin cleaning route by stop density, structure per-bin plans, send reminders and reschedule for weather, with worked numbers and AI prompts.
- Can AI Handle Pest Control Route Optimisation for Quarterly Customers? — How to cluster quarterly pest control visits by area with AI, then check the drive-time saving with a real routing tool.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Jobber help centre (route optimisation in the new schedule), OptimoRoute pricing and features pages, Route4Me pricing page, NEXT Insurance snow removal contract guide, checked 1 November 2026. All site names, times and counts in the examples are illustrative.