Dispatch

The board that matches every job to a crew, a van and the shortest drive.

  • OpenAPI
  • Webhooks
$curl api.vanroster.example/v1/crews

Any Fleet or Region API key

At a glance

Crews per board
Up to 400
Skills per job
Up to 12
Re-plan
One drag, both phones
Customer texts
A window, then a departure
API
REST and JSON, with webhooks
Base address
api.vanroster.example/v1
Data regions
EU or US

What Dispatch does

Eight jobs, done by the board.

Match

Skills on every job

A job names its skills. Only crews that hold all of them can take it.

Order

Drive order

Each crew list runs in drive order, recomputed when a job moves.

Swap

One-drag swaps

Move a job between crews or depots. Both phones update.

Warn

Overtime warnings

A day past 10 hours turns amber before it is saved.

Notify

Customer windows

One text with a 30-minute window, one when the van leaves.

Track

Van positions

Each van reports its position every minute while a job is open.

Close

Job sign-off

Crews close a job with a photo count, a note and a signature.

Export

Every record out

Crews, jobs and the log export as CSV or JSON.

POST/v1/crews/{crew}/outRe-plan a sick day
Request
curl -X POST https://api.vanroster.example/v1/crews/b-2/out \
  -H "Authorization: Bearer $VANROSTER_KEY" \
  -d '{ "day": "2026-10-13", "replan": true }'
Events202 Accepted
  1. 07:41:02crew.outB-2Crew B-2 marked out for 13 Oct
  2. 07:41:03job.reassignedJ-1182Boiler service moved to crew C-3, 6 min drive
  3. 07:41:03job.reassignedJ-1190Gas leak check moved to crew D-4, licence checked
  4. 07:41:04customer.textedJ-1182New window 11:30-12:30 sent
  5. 07:41:04customer.textedJ-1190New window 13:00-14:00 sent

Where it runs

Office, van, agent and API.

The office board

Drag jobs between crews and depots.

Board · depot North
CREW JOBS HOURS A-1 3 7 h 10 C-3 4 8 h 05 D-4 4 9 h 50 E-5 2 4 h 30 No crew past 10 hours

The crew phone

One list, in drive order.

Crew C-3 · today
1 Panel upgrade 08:00 22 min 2 Boiler service 11:30 6 min 3 Smoke alarms 14:00 9 min Next: 4 Ridge Rd, gate code on file

Your agent

Questions about the day, in words.

Ask an agent

Which crews finish before 15:00 today, and which jobs could they take?

Your systems

Jobs in from your booking form.

POST/v1/jobs
Requestapplication/json
{ "skills": ["gas"], "window": "13:00-14:00" }
Response201 Created
{ "id": "J-1204", "crew": null }

The Dispatch API

Six routes run the board.

Fleet and Region plans include the API. Each route answers JSON under /v1.

  • GET/v1/crews

    Every crew, with its skills, van and depot

  • GET/v1/jobs?day={day}

    One day of jobs, by crew, in drive order

  • POST/v1/jobs

    Add a job with its window and skills

  • POST/v1/jobs/{job}/assign

    Assign a job; refused when a skill is missing

  • POST/v1/crews/{crew}/out

    Mark a crew out and re-plan its jobs

  • POST/v1/webhooks

    Receive an event for every change on the board

Each key belongs to one depot or to the whole account. Keys rotate from the office board.

Paste into your agent

Read the Vanroster API at https://api.vanroster.example/v1 with my key.

List tomorrow’s jobs that need a gas licence and have no crew yet.

For each one, name the nearest crew that holds the licence and its drive time.

Ask me before you assign any of them.