Dispatch software for NEMT fleets

Turn today's NEMT ride requests into one working route.

Routeness takes the day's pickups and assembles a feasible, mobility-matched, on-time route for the vehicles the day needs — the plan your dispatcher currently rebuilds by hand in a spreadsheet, before the first pickup.

Built multi-tenant from day one — every request is scoped to one company's data, on every query.
The problem

Every route starts as a flat list.

Pickup windows, return legs, wheelchair vans, ambulatory seats, a driver on a different shift than usual. Someone has to turn that into a route order that actually works, by hand, before the first pickup.

Before — the spreadsheet

Rebuilt manually, every morning, reconciled against whoever's actually on shift.

After — the route plan
  • R. Alvarez7:10a · WCV
  • T. Nakamura7:52a · AMB
  • P. Whitfield8:35a · STR
  • D. Okafor9:14a · WCV
  • M. Bui9:48a · AMB

Sequenced and mobility-matched automatically — anything that can't be placed is flagged for a dispatcher to assign by hand, never dropped silently.

How it resolves

The same fields a dispatcher already checks by eye.

Checked automatically for every ride, every time the plan is regenerated.

Mobility

Vehicle match

A wheelchair van isn't an ambulatory seat. Every ride is placed only on a vehicle configured to support it.

Shift

Driver window

Placed inside a driver's actual working hours for that day — including a one-off early finish, late start, or a shift changed for that day only.

Distance

Real drive time

Trip times come from real road routing, with traffic predicted for the hour the ride actually runs — not a straight-line estimate.

Zones

Zones & exclusions

A driver limited to one service area, or a rider who shouldn't ride with a specific driver — a roster setting, or a column on the day's schedule — is enforced automatically, every time the plan is regenerated, never left to a manual check.

Priority

Core team filled first, hours capped

Your main drivers get their full shift filled before backup or lower-priority drivers are called in — and a hard cap on hours worked keeps any one driver's day from running unbounded.

Idle time

No driver left waiting nearby

The plan keeps improving after it's first built — routes are re-checked and rides shifted between drivers to close long idle gaps, not assigned once and left alone.

Timing

A ride home keeps its exact time

A return-home pickup is held to its own booked time, not a rough window near it — the same standard a fixed appointment already gets.

9 7

In one real fleet's data, the number of drivers working more than 8 hours in a single day fell from 9 to 7 — once duty hours were actually measured, not just ride counts.

The rest of the day

Runs the whole day, not just the math.

The route plan is the center of the page, not the whole of it — the parts around it are what a dispatcher actually touches most.

Import

Upload and correct

Upload the day's schedule as a CSV. Made a mistake? Re-upload the same file — rows matching an existing ride update in place instead of duplicating.

Adjust

Change a ride without starting over

Add a late request, fix a pickup time, or move a ride to a different driver by hand. It commits immediately, and the rest of the day's plan stays exactly as it was.

Map

See the line

Open any driver's route on a map to check a stop order before committing to it, not just as a list of times.

Quality

Know when an estimate is a guess

Every trip time is flagged for whether it came from real, traffic-aware routing or a straight-line fallback — so you always know which times are worth double-checking.

Export

Finalize and hand it out

Lock the plan once it's right, then export it as CSV or XLSX — including which vehicle ran each ride, its real mileage, and any driver a rider shouldn't be paired with.

Security & multi-tenancy

Built to keep one company's data to itself.

Routeness was designed multi-tenant from the start, not retrofitted for it — every fleet's roster and rides are isolated at the data layer.

Tenant isolation

Every request scopes automatically to one company's data — enforced on every query, not left to per-query discipline, with a dedicated regression test.

Role-gated access

Dispatchers see the day's routes; roster and team management stay behind an admin-only role.

Never a silent drop

A ride the optimizer can't place outright is retried against every driver's own route before it's ever flagged for a dispatcher to assign by hand — it never simply disappears from the day.

Your team, your access

An admin invites teammates into your account directly from the app, with the right role from day one.

Where we are today: Routeness runs the whole dispatch day around one route plan — import, optimize, adjust, finalize, export — with a dispatcher in control at every step, not replaced by it. It's still one product built around that one workflow, not a platform yet; we're expanding it deliberately from here.
Before you try it

What dispatchers actually ask first.

The questions that come up before a fleet hands over tomorrow's board.

What happens if I need to change something after the plan is finalized?

Finalizing locks the plan so nothing shifts underneath an export. Un-finalize it first — one click — make the change, then finalize again.

How do I find out if a placement is wrong?

The same checks a dispatcher already makes by eye — mobility match, shift window, real drive time — run automatically before you ever see the plan. Anything the optimizer can't place with confidence is flagged for you to assign by hand, not guessed at.

Does this replace me, or just the rebuilding?

Just the rebuilding. Routeness assembles the first pass of the route; you review it on a map, adjust anything by hand, and decide when it's ready to finalize.

Does it work on a phone or tablet?

Yes. The route view is built to be checked and adjusted from a phone or tablet, not just a desktop — every stop's address stays fully visible instead of hiding behind a hover-only tooltip, since a touch screen has no hover at all.

What happens to a ride nobody can place?

It's never dropped. If no driver or vehicle can take it, it's flagged for you to assign by hand instead of disappearing from the day's plan.

Stop rebuilding the board by hand.

Bring a day of your schedule — de-identified is fine. We'll show you the route it becomes.