Skip to content

Routes

A route is an ordered list of stops — each stop references a voter — plus a canvasser assignment and a target time window. Routes belong to your organization and are shareable as a CSV or a Google Maps link.

The route detail view: a street map of the route on the left, and a stop-by-stop itinerary with per-voter cards on the right.

Opening a route shows its street map alongside a stop-by-stop itinerary. Individual voter details are blurred here for privacy.

The default route builder is engagement-aware:

  1. Filter voters in the selected geography (precinct, LD, or lassoed cluster).
  2. Rank by score — Super Voters and Hot tier first.
  3. Thread a walking path using the haversine distance between consecutive stops.
  4. Cap at a target door count (default 12 per route).

A route is a block, not a shift: the routes in the field average about 11 doors and under an hour, and many turfs are covered by dozens of them. When a lasso selects more than one route’s worth, the split orders the whole selection geographically first and then cuts contiguous, evenly-sized blocks — so each route is a walk, not a scattering of high scorers. Ranking by score applies within a route.

The result: a canvasser’s highest-value doors come first, and the walking path is short enough to finish in a single shift.

For multi-canvasser planning, the optimizer takes a candidate voter set and constraints (max stops per turf, geographic bounds, required precincts) and returns one or more optimized turfs — each turf is a ranked set of stops that can become a route. Its coverage view shows how much of your organization’s universe is covered by current routes.

Use the optimizer when:

  • You need to balance multiple canvassers across the same neighborhood.
  • You want to weight by a non-default signal (narrative tag, recent AAR feedback).
  • You are experimenting with route shape (linear vs. loop vs. radial).

See Build a route for the end-to-end workflow.

stateDiagram-v2
    [*] --> Draft: route created
    Draft --> Assigned: coordinator assigns
    Assigned --> InProgress: shift opened on mobile
    InProgress --> Complete: all stops logged or shift closed
    Complete --> [*]

Once a route is In progress, the canvasser logs an outcome at each stop. That’s the route-driven path — walking a planned sequence, one entry per door. For free-canvassing off-route (a doorbell on the way to the car, an unplanned door), the canvasser logs the door against the shift instead.

Both paths use the same six outcomes — Talked, Not home, Refused, Moved, Come back, Do not contact — and stamp a timestamp, the shift, and (when the phone shares its location) GPS coordinates on every entry. See Canvass lifecycle for the full outcome semantics.

A completed or in-progress route can be exported as a CSV for offline reference or handoff to Google Maps. The CSV is Google Maps-ready — the address column pastes directly into the “Add destination” field, and the column order preserves the route’s stop sequence.