Retrieve the full plan produced by a scheduling run
Once a scheduling run has finished, a GET request to this endpoint returns the entire plan in one response: every route with its driver and timeline, and every order with its current state. Use this when you need the full picture — for building a dispatch dashboard, reconciling orders, or feeding downstream systems.
Request URL
Request Payload
//none
Heavily rate limited
This endpoint is limited to 5 requests per minute. Poll the schedule status endpoint instead, and call this once the run has finished.
Requesting the solution before the run completes returns 409 SOLUTION_NOT_READY
Response Payload
{
"actionUuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"actionName": "schedule",
"status": "finished",
"routes": [
{
"uuid": "246612f0-f160-4649-bb16-292ebaa43555",
"name": "Van 1",
"driver": {
"name": "John Doe"
},
"timeline": {
"uri": "/v2/routes/246612f0-f160-4649-bb16-292ebaa43555/timeline",
"events": [
{
"type": "leaving_start_location",
"departureTime": "2026-07-27T09:00:00-07:00",
"distanceFromPreviousStopInKilometers": 0,
"stopUuid": "38b2988d-4a51-5880-88d2-747add91633e"
},
{
"type": "idling",
"plannedDepartureTime": "2026-07-27T11:30:00-07:00",
"stopUuid": "0622881d-1ace-5a72-96b6-238fb186ce49"
},
{
"type": "paused",
"plannedDepartureTime": "2026-07-27T11:45:00-07:00",
"stopUuid": "33a0dddf-9850-5bc5-8714-f75257203e7d"
},
{
"type": "idling",
"plannedDepartureTime": "2026-07-27T12:00:00-07:00",
"stopUuid": "0622881d-1ace-5a72-96b6-238fb186ce49"
},
{
"type": "delivering_stop",
"distanceFromPreviousStopInKilometers": 0.8,
"plannedArrivalTime": "2026-07-27T12:00:00-07:00",
"plannedDepartureTime": "2026-07-27T12:00:10-07:00",
"stopUuid": "4d3ae272-f712-4ec2-80ee-3f229bdd53a4",
"orders": [
{
"uuid": "6a8e071a-4ee0-470b-982e-b24ed1d1b90c",
"status": "scheduled",
"customerOrderNumber": "SO-2231",
"uri": "/v2/orders/6a8e071a-4ee0-470b-982e-b24ed1d1b90c"
}
]
},
{
"type": "reaching_end_location",
"distanceFromPreviousStopInKilometers": 0.925,
"plannedArrivalTime": "2026-07-27T12:03:21-07:00",
"stopUuid": "1d9c1f1f-623c-515d-96ed-6ddc390e5a41"
}
]
},
"date": "2026-07-27",
"status": "planned",
"workingTimeInSeconds": 11001,
"distanceInKilometers": 1.725,
"ordersCount": 1,
"capacityUsed": 4,
"workspaceUuid": "4d043395-95b9-431c-a3f4-5bb0faa26363"
}
],
"orders": [
{
"name": "Order #1042",
"load": 600,
"duration": 20,
"instructions": "leave at front door",
"createdOn": "2026-07-27T16:58:51.339Z",
"isScheduled": false,
"isCompleted": false,
"uuid": "9b3f2c44-1d7e-4a90-b3c1-8f2e6a91d445",
"customerOrderNumber": "SO-2232",
"routificOrderNumber": "ORD-50011",
"deliveryDate": "2026-07-27",
"locations": [
{
"address": "BC Museum, Vancouver",
"latitude": 48.420317,
"longitude": -123.367613,
"timezone": "America/Vancouver",
"status": "Validated"
}
],
"timeWindows": [
{
"startTime": "10:00",
"endTime": "11:00"
}
],
"tags": [
"fridge"
],
"status": "not_scheduled",
"workspaceUuid": "4d043395-95b9-431c-a3f4-5bb0faa26363"
},
{
"name": "Order #1043",
"email": "[email protected]",
"phone": "16045550123",
"load": 4,
"duration": 10,
"instructions": "Ring twice",
"createdOn": "2026-07-27T16:58:51.338Z",
"isScheduled": true,
"isCompleted": false,
"uuid": "6a8e071a-4ee0-470b-982e-b24ed1d1b90c",
"displayOrderId": "1042",
"customerOrderNumber": "SO-2231",
"routificOrderNumber": "ORD-50010",
"deliveryDate": "2026-07-27",
"locations": [
{
"address": "800 Robson St, Vancouver",
"latitude": 49.2827,
"longitude": -123.1207,
"timezone": "America/Vancouver",
"status": "Validated"
}
],
"timeWindows": [
{
"startTime": "12:00",
"endTime": "16:00"
}
],
"tags": [
"fridge"
],
"status": "scheduled",
"workspaceUuid": "4d043395-95b9-431c-a3f4-5bb0faa26363"
}
]
}
Response fields - top level
| Field | Type | Description |
|---|---|---|
| actionUuid | String | Identifies this scheduling run request. Use it to poll for status and to fetch the solution |
| actionName | String | The action performed. Always schedule for this endpoint |
| status | String | The status of the scheduling run. Always finished when a solution is available. |
| routes | Array | The routes that were part of this scheduling run. Each object contains the route's configuration, driver, stats, and full timeline. See the routes table below. |
| orders | Array | All orders that were in scope for this scheduling run — both scheduled and unscheduled. See the orders table below. |
Response fields - route object
| Field | Type | Description |
|---|---|---|
| uuid | String | The route's unique identifier. |
| name | String | The route's display name as it appears in Routific. |
| driver | Object | The driver assigned to this route, as {name}. null if no driver is assigned. |
| timeline | Object | The route's planned timeline. Contains a uri pointing to the standalone timeline endpoint, and an entries array of typed timeline events. See the timeline events section below. |
| date | String | The date this route runs, in YYYY-MM-DD format. |
| status | String | The route's current status. Possible values: planned, published, executing, completed. |
| workingTimeInSeconds | Integer | Total planned working time for this route in seconds, from leaving the start location to reaching the end location. |
| distanceInKilometers | Integer | Total planned driving distance for this route in kilometers. |
| ordersCount | Integer | Number of orders scheduled onto this route. |
| capacityUsed | Integer | Total load units consumed by the orders on this route. Comparable to the route's capacity setting. |
| workspaceUuid | String | The uuid of the workspace this route belongs to. |
Response fields — timeline events
Each entry in routes[].timeline.events has a type field that determines which other fields are present. All timestamps are ISO 8601 with a UTC offset.
| Event Type | Description |
|---|---|
leaving_start_location | The driver leaves the start location. |
idling | The driver is waiting at a location before a time window opens. |
paused | The driver is on a break. |
delivering_stop | The driver arrives at a location to fulfill one or more orders. |
reaching_end_location | The driver arrives at the end location. |
| Field | Type | Description |
|---|---|---|
| type | String | The entry type. One of the values in the table above. |
| stopUuid | String | Internal identifier for this stop in the route plan. |
| departureTime | String | When the driver leaves the start location. |
| plannedArrivalTime | String | When the driver is planned to arrive at this stop. |
| plannedDepartureTime | String | When the driver is planned to leave this stop. |
| distanceFromPreviousStopInKilometers | Integer | Driving distance from the previous stop to this one, in kilometers. 0 for the first entry. |
| orders | Array | The orders to be fulfilled at this stop. |
| orders.uuid | String | The order's unique identifier. |
| orders.status | String | The order's current status at the time this solution was fetched. Typically scheduled. |
| orders.customerOrderNumber | String | Your own order reference number, as submitted when the order was created. |
| orders.uri | String | Path to the full order object on the orders endpoint. |
Response fields — order object
The orders array at the top level returns the full order object for every order in scope, whether scheduled or not.
| Field | Type | Description |
|---|---|---|
| uuid | String | The order's unique identifier in Routific. |
| name | String | The order's display name. |
| String | Customer email address, if provided. | |
| phone | String | Customer phone number, if provided. |
| load | Integer | The order's load in capacity units. Compared against the route's capacity setting during scheduling. |
| duration | Integer | Service time at the delivery location, in seconds. |
| instructions | String | Delivery instructions shown to the driver. |
| createdOn | String | When the order was created, in ISO 8601 format. |
| isScheduled | Boolean | true if the order was placed on a route. false if the order is unscheduled. |
| isCompleted | Boolean | true if the order has been marked as delivered or missed. |
| uuid | String | The order's unique identifier. |
| customerOrderNumber | String | Your own order reference, as submitted at creation. |
| routificOrderNumber | String | A Routific-generated order reference prefixed with ORD-. |
| deliveryDate | String | The date this order is to be delivered, in YYYY-MM-DD format. |
| locations | Array | Order's service address/location. |
| locations.address | String | The delivery address as a human-readable string. |
| locations.latitude | Integer | Geocoded latitude of the delivery location. |
| locations.longitude | Integer | Geocoded longitude of the delivery location. |
| locations.timezone | String | IANA timezone identifier for the delivery location. Used to resolve time windows to absolute times. |
| locations.status | String | The geocoding status of this location. Validated means the address was resolved to coordinates successfully. |
| timeWindows | Array | Time windows within which the order must be delivered. Each window has startTime and endTime in HH:MM format. |
| tags | String array | Tags applied to the order. Used to match orders to routes with compatible tags. |
| status | String | The order's delivery status. Possible values: not_scheduled, scheduled, delivered, missed. |
| workspaceUuid | String | The uuid of the workspace this order belongs to. |

