Skip to content

What is the Scheduled Routes API?

~4 min read · Getting started

The Scheduled Routes API is a REST interface to the Advanced Travel Oracle optimization engine — the same engine that powers the Scheduled Routes app. You describe a transportation problem and it returns an optimized plan.

The core idea

You send one JSON document — the problem — and receive another — the solution.

You provide (the problem) You get back (the solution)
Fleet — your vehicles, their shifts, capacities, skills, and limits Routes — which stops each vehicle makes, in what order
Jobs — the pickups and deliveries to perform ETAs — arrival time at every stop
Objective — what "best" means (fastest, fewest vehicles, balanced) Statistics — distance, hours, vehicles used
Configuration — units, polylines, constraints Unassigned — anything that couldn't be placed, with reasons

Key concepts

  • Fleet & vehicles — each vehicle has one or more shifts (start/end time and location, optional breaks), one or more named capacities (e.g. parcels, weight, seats), and optional skills and limits.
  • Jobs & tasks — a job groups the work at hand. Each job has pickups and/or deliveries, and each of those is a task with a location, optional time windows, service duration, demand, and skills.
  • Objective — the goal the engine optimizes toward. Three built-ins plus custom strategies.
  • Asynchronous solve — you submit, then poll for the result. See How optimization works.

What it is not

  • It is not a map/geocoding service — send coordinates ([lat, lng]), not street addresses.
  • It is not stateful in the app sense — each request is a self-contained problem. (Re-optimization is just a new problem that includes current positions and progress.)

Naming

The product is Scheduled Routes. The optimization engine inside it is the Advanced Travel Oracle. You'll see both names; they refer to the same capability.

Related: Quickstart · How optimization works · The Problem object