Skip to content

Developer portal

Data formats

Start with the fields your team already knows. These guides show what to send for schedules, routes, and staffing jobs before you touch the live API.

Scheduling inputs

Send the work that must happen, how long it takes, who performs it, and the rules that cannot break.

tasks[].id

Short identifier for the work item.

Example: foundation

tasks[].duration

Estimated effort in whole planning units.

Example: 3

tasks[].crew

Crew or resource assigned to the task.

Example: Crew B

constraints[]

Dependencies or blocked windows the final plan must satisfy.

Example: framing must happen after foundation

Measurement template columns

task_id, duration, crew, depends_on, notes

Routing inputs

Send the stops to visit, vehicle capacity or shift limits, and any delivery windows that matter.

stops[].id

Stop identifier or customer reference.

Example: hospital

stops[].serviceWindow

Time window the stop must respect.

Example: 08:30-10:00

vehicles[].capacity

How much the route can carry.

Example: 12

constraints[]

Operational rules like stop ordering or service timing.

Example: retail-hub after 11:30

Measurement template columns

stop_id, window_start, window_end, vehicle_id, notes

Allocation inputs

Send the shifts to cover, the people available, and the skill or fatigue rules you need to preserve.

shifts[].id

Shift name or identifier.

Example: night

staff[].skills

Capabilities or certifications for each person.

Example: ["operator", "lead"]

staff[].maxHours

Work-hour ceiling to protect coverage quality.

Example: 40

constraints[]

Rules like coverage minimums or no-back-to-back shifts.

Example: No back-to-back night and morning shifts

Measurement template columns

person, skill, availability, max_hours, notes