Dispatch software for NEMT fleets

Turn today's 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 or late start.

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 treated as a hard rule, not a suggestion.

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.

Export

Finalize and hand it out

Lock the plan once it's right, then export it as CSV or XLSX for however drivers actually receive their schedule today.

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.

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 is flagged for a dispatcher to assign by hand — it never simply disappears from the day.

Your team, your access

An admin invites dispatchers and other admins directly from the app, with the right role from day one.

Where we are today: route optimization is the one problem Routeness solves — everything else on this page exists to serve that one workflow. It's the first piece of a platform we're expanding aggressively from here.

Stop rebuilding the board by hand.

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