Plan Schema
Type Aliases
Plan
Ƭ Plan: Object
The plan data. All plans in the API will have this format.
Description
A plan is a collection of stops and drivers that when optimized will produce routes. A plan can be optimized multiple times and each optimization will produce a set of routes. A plan can also be distributed to drivers, which will produce a set of routes that are associated with drivers.
You cannot edit a plan after it has been optimized or distributed in the current version of the API. You can, however, edit a plan and its stops before it has been optimized or distributed. You can also edit a plan after it has been distributed if you are using the Web UI.
For your convenience you can check if a plan is writable by using the
writable
property before attempting to edit it.
Example
{
"id": "plans/zeOCJaJCzZhpKVCVAC9o",
"title": "Tue, Nov 22 Route 1",
"starts": {
"day": 22,
"month": 11,
"year": 2022,
},
"drivers": [
{
"id": "drivers/w8ZaNn3e5ZA8EQSABtca",
"name": null,
"email": "verygooddriver@getcircuit.com",
"phoneNumber": null
}
],
"routes": [
"routes/gjaqksJIa26qGPzsgBXT",
],
"depot": null,
"optimization": 'optimized',
"distributed": true,
"writable": false,
}
Type declaration
Name | Type | Description |
---|---|---|
id | PlanId | This plan's unique identifier in the API. this can be used directly in the URL to operate on this plan. |
title | string | The name of the plan. This is a human-readable name that is displayed in the UI. |
starts | Date | The day this plan starts at. |
drivers | Driver [] | The drivers that are part of this plan. See Driver |
depot | DepotId | null | The depot that this plan is for. See Depot |
routes | RouteId [] | The routes this plan has. Note that you cannot operate on routes directly via the API in this version. |
optimization | "creating" | "editing" | "preview" | "optimized" | "optimizing" | null | The current optimization state of the plan.
|
distributed | boolean | Whether the plan was distributed to drivers. |
writable | boolean | Whether this plan can be edited via the API or not. After some actions, a plan becomes read-only, always check this property before attempting to edit a plan via the API. |
PlanId
Ƭ PlanId: `plans/${string}`
A plan id is a string that is unique for a plan. It is used to identify the plan in the API.
Example
"plans/0xBYy4MYt4piMCSQEsts"
Date
Ƭ Date: Object
A Date is an object representing a day in the year.
Example
{
"year": 2023,
"month": 2,
"day": 1
}
Type declaration
Name | Type |
---|---|
year | number |
month | number |
day | number |