Fetch scheduled solution

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

FieldTypeDescription
actionUuidStringIdentifies this scheduling run request. Use it to poll for status and to fetch the solution
actionNameStringThe action performed. Always schedule for this endpoint
statusStringThe status of the scheduling run. Always finished when a solution is available.
routesArrayThe 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.
ordersArrayAll orders that were in scope for this scheduling run — both scheduled and unscheduled. See the orders table below.

Response fields - route object

FieldTypeDescription
uuidStringThe route's unique identifier.
nameStringThe route's display name as it appears in Routific.
driverObjectThe driver assigned to this route, as {name}. null if no driver is assigned.
timelineObjectThe 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.
dateStringThe date this route runs, in YYYY-MM-DD format.
statusStringThe route's current status. Possible values: planned, published, executing, completed.
workingTimeInSecondsIntegerTotal planned working time for this route in seconds, from leaving the start location to reaching the end location.
distanceInKilometersIntegerTotal planned driving distance for this route in kilometers.
ordersCountIntegerNumber of orders scheduled onto this route.
capacityUsedIntegerTotal load units consumed by the orders on this route. Comparable to the route's capacity setting.
workspaceUuidStringThe 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 TypeDescription
leaving_start_locationThe driver leaves the start location.
idlingThe driver is waiting at a location before a time window opens.
pausedThe driver is on a break.
delivering_stopThe driver arrives at a location to fulfill one or more orders.
reaching_end_locationThe driver arrives at the end location.

FieldTypeDescription
typeStringThe entry type. One of the values in the table above.
stopUuidStringInternal identifier for this stop in the route plan.
departureTimeStringWhen the driver leaves the start location.
plannedArrivalTimeStringWhen the driver is planned to arrive at this stop.
plannedDepartureTimeStringWhen the driver is planned to leave this stop.
distanceFromPreviousStopInKilometersIntegerDriving distance from the previous stop to this one, in kilometers. 0 for the first entry.
ordersArrayThe orders to be fulfilled at this stop.
orders.uuidStringThe order's unique identifier.
orders.statusStringThe order's current status at the time this solution was fetched. Typically scheduled.
orders.customerOrderNumberStringYour own order reference number, as submitted when the order was created.
orders.uriStringPath 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.

FieldTypeDescription
uuidStringThe order's unique identifier in Routific.
nameStringThe order's display name.
emailStringCustomer email address, if provided.
phoneStringCustomer phone number, if provided.
loadIntegerThe order's load in capacity units. Compared against the route's capacity setting during scheduling.
durationIntegerService time at the delivery location, in seconds.
instructionsStringDelivery instructions shown to the driver.
createdOnStringWhen the order was created, in ISO 8601 format.
isScheduledBooleantrue if the order was placed on a route. false if the order is unscheduled.
isCompletedBooleantrue if the order has been marked as delivered or missed.
uuidStringThe order's unique identifier.
customerOrderNumberStringYour own order reference, as submitted at creation.
routificOrderNumberStringA Routific-generated order reference prefixed with ORD-.
deliveryDateStringThe date this order is to be delivered, in YYYY-MM-DD format.
locationsArrayOrder's service address/location.
locations.addressStringThe delivery address as a human-readable string.
locations.latitudeIntegerGeocoded latitude of the delivery location.
locations.longitudeIntegerGeocoded longitude of the delivery location.
locations.timezoneStringIANA timezone identifier for the delivery location. Used to resolve time windows to absolute times.
locations.statusStringThe geocoding status of this location. Validated means the address was resolved to coordinates successfully.
timeWindowsArrayTime windows within which the order must be delivered. Each window has startTime and endTime in HH:MM format.
tagsString arrayTags applied to the order. Used to match orders to routes with compatible tags.
statusStringThe order's delivery status. Possible values: not_scheduled, scheduled, delivered, missed.
workspaceUuidStringThe uuid of the workspace this order belongs to.