A Building 8 product

Route optimisation built for the hard case.

GoLoop's automated fleet optimisation engine saves hours of manual planning while minimising road time and maximising on-time rates. Send it your fleet and your jobs; get back an optimised manifest in seconds.

Powered by Google OR-Tools · first solutions in under 30 seconds

The problem

Manual route planning doesn't scale.

Even 5 drivers and 50 deliveries produce billions of possible route combinations. No whiteboard, spreadsheet or experienced planner can search that space before the vans need to leave.

  • Wasted kilometres on routes that double back
  • Missed time windows and falling on-time rates
  • Overloaded drivers and expensive overtime
  • No way to re-plan when urgent jobs land mid-morning
“I want to see why it's taking my drivers so long to complete their routes. We're averaging 70% completion per day.”
Courier company operations manager

The difference

The same day, planned twice.

Planned by hand

Planned by GoLoop

Fewer kilometresMore on-time arrivalsPlanning time: seconds, not hours

Illustrative comparison — same fleet, same jobs, different planner.

How it works

Three steps from raw jobs to a driver-ready manifest.

01

Describe your day

Fleet, drivers, jobs and time windows, as simple structured data — JSON via API, or through your existing systems.

02

GoLoop solves

Powered by Google OR-Tools, the same optimisation technology used in production at Google. First solutions in under 30 seconds.

03

Get your manifest

Per-vehicle route sequences, arrival and departure windows, driver breaks scheduled, road-accurate travel times.

Differentiators

Built for the hard case.

Cold chain, done properly

Refrigerated consignments only go on refrigerated vehicles. A hard constraint, not a preference.

Equipment & driver matching

Tail-lift required? Specific qualified driver? GoLoop only assigns vehicles that genuinely fit the job.

Site-level rules

Some docks refuse large vehicles or only admit named drivers. GoLoop encodes rules per location.

Mid-day re-optimisation

Urgent jobs at 11am? GoLoop re-plans around your drivers' live progress. Completed stops stay locked; the new plan picks up from where each driver actually is.

Most routing tools are built for the simple case. The hard case is where the real money is lost — and that's what GoLoop is built for.

Warm start

Urgent jobs at 11am? Already handled.

  1. 07:00

    Manifest goes live

    Drivers leave the depot with the morning plan on their devices.

  2. 09:40

    Deliveries under way

    Completed stops lock in as drivers progress through their routes.

  3. 11:04

    Two urgent consignments land

    A customer calls; the day just changed.

  4. 11:05

    GoLoop re-plans, live

    The new plan starts from where each driver actually is. Completed stops untouched, no vehicle swaps mid-route, drivers just see their next stop update.

Re-optimisation in around a minute — without disrupting a single completed stop.

Capabilities

Multi-vehicle routing
Pickup-and-delivery pairing
Soft & hard time windows
Weight, volume & count capacities
Mandatory vs optional jobs with priority tiers
Driver break scheduling
Toll avoidance profiles
Arbitrary start/end locations
Road-accurate distances

For developers

API-first.

Any platform that can send JSON can use GoLoop. One endpoint, explicit constraints, a manifest you can hand straight to a driver app.

RESTJSON in / JSON outNo SDK requiredIdempotent solves
Request
POST /solve
{
  "vehicles": [
    {
      "id": "VAN-114",
      "start": "DEPOT-SYDNEY",
      "shift": ["07:00", "16:30"],
      "containers": [
        { "type": "refrigerated", "capacity_kg": 900 }
      ],
      "equipment": ["tail_lift"]
    }
  ],
  "jobs": [
    {
      "id": "CONS-8842",
      "location": [-33.8688, 151.2093],
      "weight_kg": 240,
      "requires": ["refrigerated"],
      "window": ["09:00", "11:00"]
    },
    {
      "id": "CONS-8843",
      "location": [-33.9173, 151.0326],
      "weight_kg": 120,
      "window": ["10:30", "14:00"],
      "priority": "optional"
    }
  ]
}
Response
200 OK
{
  "status": "feasible",
  "solve_ms": 8410,
  "routes": [
    {
      "vehicle": "VAN-114",
      "distance_km": 84.3,
      "stops": [
        { "job": "CONS-8842", "arrive": "09:12", "depart": "09:27" },
        { "type": "break", "arrive": "11:45", "depart": "12:15" },
        { "job": "CONS-8843", "arrive": "12:52", "depart": "13:04" }
      ]
    }
  ],
  "unassigned": []
}

Planning still done by hand? Let's fix that.

We're onboarding a small number of fleets and platforms. Tell us a little about your operation and we'll be in touch.

No spam. We'll only use your details to discuss GoLoop.