Skip to main content
A profit-first pickup & delivery playbook for pet hotels: route-batching heuristics, per-stop margin and courier SLAs

A profit-first pickup & delivery playbook for pet hotels: route-batching heuristics, per-stop margin and courier SLAs

How to run pet transport without bleeding margin on empty miles and blown time windows

Most pet hotels add pickup and delivery because a client asked for it, then price it off gut feel — "twenty bucks each way sounds fair" — and never revisit the math. Two years later the service is running, clients love it, and nobody can actually tell you whether it makes money or quietly eats an hour of drive time per booking that should've gone to kennel work.

That's the core problem with pet hotel pickup and delivery logistics: it feels like a nice add-on, but it behaves like a second business bolted onto your first one. It has its own labor cost, its own capacity ceiling, and its own way of wrecking throughput when someone books a 7pm dropoff across town on a Friday.

This post covers the decision rules that keep transport profitable — how to batch routes, how to price by time window, how to calculate per-stop margin so you know which trips to decline, and what to put in a courier agreement so a third-party driver doesn't blow up your check-in flow.

The per-stop margin number nobody calculates

Before anything else, you need one number: what a single stop actually costs you. Not the round trip. The stop.

When you think in round trips, every pickup looks like "drive there, drive back, done." But you're almost never moving one dog at a time. You're running a loop with three or four stops, and the whole point of getting good at this is fitting more stops into the same drive time. So you cost the loop, then divide by stops.

Cost componentTypical rangeNotes
Driver labor$18–$26/hr loadedInclude the drive back to base, not just stop-to-stop
Vehicle (fuel + wear)$0.55–$0.70/mileDon't skip maintenance and tires — vans get beat up
Loading/handling per stop4–8 minLeashing, crating, waiver check at the door
Admin/coordination2–5 min/stopConfirmations, texts, "we're 10 min out"

Picture a real loop: four pickups, about 34 miles total, an hour and forty minutes door-to-door including the return leg. Driver at $22/hr comes to roughly $37. Mileage at $0.62 is about $21. Call handling and admin another $10 spread across the four stops. That's around $68 for the loop — about $17 per stop — before the dog ever sleeps in your building.

If you're charging $20 a stop, you're making three dollars on transport. And that assumes the loop stays full. One cancellation drops it to three stops, and your per-stop cost jumps to roughly $23. Now you're losing money to be nice.

The insight most owners miss: your transport margin is almost entirely a function of stop density, not price. You can't out-price a bad route. You have to fill the loop.

Route-batching heuristics that hold up on a busy Friday

You don't need routing software with a PhD behind it. You need a handful of rules your front desk can apply without thinking hard — because they'll be applying them under pressure.

The batching rules that actually work in a small operation:

  1. Cluster by zone, not by request order. Draw 3–4 zones around your facility on an actual map. Every pickup gets tagged to a zone at booking. You run zones, not individual addresses.
  2. Set a minimum viable loop. Below three stops, a loop shouldn't run at your standard price. Two-stop loops are either surcharged or pushed to a different time slot to wait for a third.
  3. Batch by window, then by geography. Group all the "morning" requests first, then sequence by zone. Don't let a single 6:30am request drag a driver out for one dog when the rest of that zone wants 9am.
  4. Cap the loop length. Past about 90 minutes a loop starts stealing from kennel labor and on-time reliability drops. Split long loops into two rather than running one monster route.
  5. Hold a flex slot. Keep one late-morning and one late-afternoon window loosely open so you can absorb the inevitable "can you grab Bella too?" without re-planning everything.

Keep a printed zone map at the front desk so bookings can be tagged to zones quickly during the call.

A quick visual of the batching workflow can help the desk apply the rules under pressure.

Process diagram

A pattern worth naming: the trips that kill you aren't the far ones, they're the lonely ones. A 22-mile stop that sits near two other pickups is fine. A 6-mile stop with nothing around it and a tight window is a margin sinkhole because the driver eats the whole loop for one animal.

The fix isn't refusing lonely stops — it's pricing them into a zone or nudging the client's time window so they fold into a loop that's already running.

Time-window pricing that protects throughput

Flat pricing is where transport quietly breaks your day. If a 5pm Friday dropoff costs the same as a 10am Tuesday pickup, everyone picks the convenient slot — and your convenient slots are exactly when your kennel team is buried in check-ins and turnovers.

  1. Green windows (mid-morning, mid-afternoon, weekday)

    base price. These fold into loops easily and don't collide with intake rushes.

  2. Yellow windows (early morning, weekend daytime)

    +$8–$12. More demand, tighter loops.

  3. Red windows (evenings, peak Friday/Sunday, holidays)

    +$18–$30, or restricted to members only. These land right on top of your busiest desk hours.

The point isn't to gouge anyone. It's to make the real cost visible so clients self-select. What tends to happen once you price red windows honestly is that roughly a third of clients shift themselves into green or yellow slots because the convenience wasn't worth the premium. That demand shift often does more for your operational day than any staffing change.

Holiday transport deserves its own rules entirely. The same surge logic in the holiday chaos surge staffing calculator applies to driver hours, not just kennel staff. If you're not budgeting driver capacity into your peak model, transport becomes the thing that quietly blows your holiday margin while everyone's watching the kennel numbers.

Staff assignment: who drives, and what breaks when they do

A mistake that hides in plain sight: pulling a kennel tech to cover a loop and treating it as free labor because they were "on shift anyway."

They weren't free. Every hour someone's in the van is an hour not spent on cleaning, feeding, or check-ins. When a tech disappears for a 90-minute loop during morning turnover, someone covers their tasks or those tasks slip. That's how a transport service you thought was profitable ends up quietly funded by deferred kennel work you never tracked.

Two staffing models tend to work for pet hotels:

Dedicated driver (for higher volume). Once you're running more than roughly 15–20 loops a week, a part-time dedicated driver almost always beats pulling floor staff. A floor tech's real cost during peak hours is much higher than their wage when you account for what their absence causes downstream. A dedicated driver at a flat part-time rate has no downstream cost on the floor.

Assignment templates (for lower volume). If you're not at that volume yet, protect the floor with hard rules: never assign transport to whoever's running the morning turnover, always name a backup, and block transport assignments during your two heaviest intake windows. Write these into the roster as fixed constraints — not judgment calls made at 7am when everyone's already scattered.

Transport interacts with your other capacity-eaters the same way grooming does. If you've worked through the grooming capacity model for pet hotels, apply the same logic here: an add-on is only profitable when it stops competing with your core operation for the same bodies at the same hours.

Courier SLA language when you outsource driving

Plenty of pet hotels hand transport to a third-party courier or a gig driver. It can work. But a vague arrangement is how you end up with a stranger holding a leash and no accountability when a dog gets loose or a dropoff arrives 40 minutes late during your check-in rush.

Your courier agreement needs to protect three things: the animal, your schedule, and your liability. Skip the filler and put real operational teeth in it.

  1. On-time definition. Spell out the window ("within the agreed 30-minute slot"), not "promptly." Define what counts as late and what happens when it is.
  2. Handling standard. Two points of leash/crate security at all times, no unattended animals in the vehicle, temperature rules for the van. Specific, checkable behaviors.
  3. Communication SLA. Driver confirms departure and sends an ETA. If they're running past the window, they notify your desk before the window closes, not after.
  4. Incident reporting. Any injury, escape attempt, or accident gets reported within a set number of minutes with photos. Non-negotiable.
  5. Insurance and liability split. Who's covered while the dog is in the van? Get this in writing before the first loop, not after the first claim.
  6. Throughput protection. The courier hits your scheduled windows. If they want to batch their own way, fine — as long as dropoffs land inside the slots your desk is staffed for.

The clause owners skip most often is the communication SLA. A late driver is annoying. A late driver who doesn't tell you they're late is what backs up your lobby, because your front desk keeps a check-in slot open for a dog that isn't coming when they think it is.

A real scenario

A mid-size pet hotel — around 60 kennels, roughly 300–340 stays a month — had been running pickup/delivery at a flat $18 each way for two years. The owner assumed it was a small profit center. It wasn't.

When they finally costed it out by loop, transport was running close to breakeven, and about a quarter of loops were losing money on single-dog runs into far zones during evening windows. On top of that, kennel techs were getting pulled mid-turnover to drive three or four times a week, pushing cleaning behind and occasionally forcing late check-ins.

They changed three things: zone-based batching with a three-stop minimum, time-window pricing that surcharged evenings and weekend peaks, and a part-time driver for the busy stretch instead of raiding the floor.

Within about two months, transport moved from roughly breakeven to a modest but real contributor — somewhere in the range of a few hundred dollars of clean monthly margin. The revenue jump wasn't dramatic. The operational change was: kennel work stopped slipping, and evening lobby chaos mostly disappeared once the pricing pushed dropoffs out of the peak window.

When transport makes sense — and when it doesn't

When it's worth running:

  1. You have enough client density in a few zones to build three-plus-stop loops consistently.
  2. Your service area is compact enough that loops stay under roughly 90 minutes.
  3. You can price by time window without losing your whole client base.
  4. You've got either dedicated driver capacity or genuine floor slack during green windows.

When it's a bad idea:

  1. Your clients are spread thin and most loops would be one or two dogs.
  2. You're already short-staffed on the floor during the exact hours people want pickups.
  3. You can't price windows differently, so everyone piles into your worst slots.

Who should skip it entirely: a hotel that's routinely maxed on kennel labor. If you can't reliably clean and check in on time already, adding transport just moves your bottleneck into a van and makes it harder to see. Fix the floor first.

The rules to walk away with

Pickup and delivery isn't hard to run — it's hard to run profitably, and the difference is entirely in the decision rules you set before the first loop goes out.

Cost by the stop, not the trip. Batch by zone and window so loops stay full. Price hard windows honestly so demand shifts toward the times you can actually absorb. Protect floor labor with hard assignment constraints. And if you outsource, put real operational teeth in the courier agreement so a late or careless driver doesn't back up your lobby or drop liability in your lap.

Do those things and transport stops being a favor you do for clients at your own expense. It becomes a service with a known cost, a known margin, and a place in your operation that doesn't fight the rest of your team for the same people at the same hours.

Do those things and transport stops being a favor you do for clients at your own expense. It becomes a service with a known cost, a known margin, and a place in your operation that doesn't fight the rest of your team for the same people at the same hours.

Built for Pet Hotels Tailored features for pet boarding and care operations
Save Time Simplify bookings, staff shifts, and daily workflows
Delight Clients Provide seamless booking and communication experiences
Grow Revenue Increase repeat stays and optimize kennel utilization