NextRouteNextRoute

Checklists

Create checklist templates, assign them to routes or stops, and review driver-submitted responses.

Checklists

Checklists let you standardize and track quality control across your routes. Define templates with required items, assign them to routes or individual stops, and review the completed responses from your drivers.

Checklist Types

NextRoute supports two types of checklists:

TypeScopeWhen it's used
Per-routeEntire routeDriver completes once per route (e.g., vehicle inspection, start-of-day checks)
Per-stopIndividual stopDriver completes at each stop (e.g., service quality, property condition)

Creating a Checklist Template

From the Dashboard

  1. Go to Settings > Checklists
  2. Click Create Template
  3. Enter a name (e.g., "Pre-trip Vehicle Inspection")
  4. Select the type — per-route or per-stop
  5. Add checklist items:
    • Each item has a label (e.g., "Tire pressure checked")
    • Items can be checkboxes, text fields, or photo uploads
  6. Save the template

Template Scope

Templates can be scoped in two ways:

  • Tenant-specific — created by your account, visible only to your team
  • Vertical defaults — provided by the industry vertical template (e.g., waste management checklists). These are shared across all tenants in the same vertical.

When listing templates, both tenant-specific and vertical-default templates are shown. Vertical templates cannot be edited, but you can create your own custom versions.

Filtering by Type

You can filter templates by type when fetching them. This is useful when showing only per-route templates at route start and only per-stop templates at each stop.

Assigning Checklists

Checklists are currently assigned at the configuration level:

  • Per-route checklists are associated with the route when the driver starts it
  • Per-stop checklists are presented to the driver when they arrive at each stop

The mobile app automatically shows the appropriate checklists based on the template type and the current context (starting a route vs. completing a stop).

Completing a Checklist (Driver Flow)

Per-Route Checklist

  1. Driver taps Start Route in the mobile app
  2. If a per-route checklist is configured, it appears before the first stop
  3. The driver works through each item, checking boxes, adding notes, or taking photos
  4. Taps Submit to save the response
  5. The route begins

Per-Stop Checklist

  1. Driver arrives at a stop
  2. The checklist appears alongside the stop completion form
  3. The driver fills in each item
  4. Items that fail criteria can be flagged for review
  5. Taps Complete to save the checklist response and mark the stop done

Flagged Items

When a checklist item fails (e.g., a tire is below safe pressure, a bin is damaged), the driver can flag it. Flagged items are stored separately in flagged_items_json and can be filtered in reports to quickly surface issues that need attention.

Reviewing Checklist Responses

From the Dashboard

  1. Go to Routes and select a completed route
  2. Open the route detail view
  3. Checklist responses are shown for the route and each individual stop
  4. Flagged items are highlighted for quick review

Filtering Responses

You can filter checklist responses by:

  • Route — see all responses for a specific route
  • Stop — see the response for a specific stop
  • Template — see all responses using a specific checklist template

API Reference

List checklist templates

curl "https://api.nextroute.app/api/checklists/templates?type=per_stop" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (200):

{
  "data": [
    {
      "id": "tmpl_abc123",
      "name": "Stop Quality Check",
      "type": "per_stop",
      "tenant_id": "ten_xyz",
      "vertical_id": null,
      "items": [
        { "label": "Bin placed at curb", "type": "checkbox" },
        { "label": "Lid closed properly", "type": "checkbox" },
        { "label": "Area clean after service", "type": "checkbox" },
        { "label": "Notes", "type": "text" }
      ]
    }
  ]
}

Get a single template

curl "https://api.nextroute.app/api/checklists/templates/tmpl_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN"

Submit a checklist response

curl -X POST "https://api.nextroute.app/api/checklists/route_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": "tmpl_abc123",
    "stop_id": "stop_xyz789",
    "responses_json": {
      "Bin placed at curb": true,
      "Lid closed properly": true,
      "Area clean after service": false,
      "Notes": "Debris near bin, customer notified"
    },
    "flagged_items_json": ["Area clean after service"]
  }'

Response (201):

{
  "id": "resp_new456",
  "tenant_id": "ten_xyz",
  "template_id": "tmpl_abc123",
  "route_id": "route_abc123",
  "stop_id": "stop_xyz789",
  "user_id": "usr_driver1",
  "responses_json": "{...}",
  "flagged_items_json": "[\"Area clean after service\"]",
  "completed_at": "2026-03-24T14:30:00Z"
}

List checklist responses

curl "https://api.nextroute.app/api/checklists/responses?route_id=route_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (200):

{
  "data": [
    {
      "id": "resp_new456",
      "template_name": "Stop Quality Check",
      "template_type": "per_stop",
      "route_id": "route_abc123",
      "stop_id": "stop_xyz789",
      "responses": {
        "Bin placed at curb": true,
        "Lid closed properly": true,
        "Area clean after service": false,
        "Notes": "Debris near bin, customer notified"
      },
      "flagged_items": ["Area clean after service"],
      "completed_at": "2026-03-24T14:30:00Z"
    }
  ]
}

Best Practices

  1. Keep checklists short — 3-7 items is ideal. Drivers are more likely to complete shorter checklists accurately.
  2. Use per-route for vehicle inspections — items like tire pressure, fluid levels, and equipment checks belong at the route level.
  3. Use per-stop for service quality — items specific to the service performed at each property.
  4. Review flagged items daily — set up a routine to check flagged items and address issues before they escalate.
  5. Use vertical defaults as a starting point — customize them with items specific to your operation.