Create new orders in your Routific workspace
A POST request to the /orders endpoint allows you to upload an array of orders into Routific under a specific workspace.
Request URL
post https://api.plan.routific.com/v2/orders?workspaceUuid={workspaceUuid}
Sample Request Payload
[
{
"name": "Metro",
"locations":
[
{
"address": "510 W 8th Ave, Vancouver, BC V5Z 1C5",
"latitude": 49.26413,
"longitude": -123.11499
}
],
"phone": "+16043215582",
"email": "[email protected]",
"duration": 600, // in seconds
"load": 1,
"instructions": "Deliver at loading bay at the back of the building.",
"timeWindows":
[
{
"startTime": "9:00",
"endTime": "10:00"
}
],
"customerOrderNumber": "external-1",
"deliveryDate": "2026-08-01",
"tags":
[
"refrigerated"
],
"packages":
[
{
"barcode": "ref-10000"
}
]
}
]
The body of the payload accepts an array of order entities, where each order entity consists of following properties.
| Fields | Type | Description |
|---|---|---|
| name | String | Name of the Order |
| locations (required) | Location object | Either an address or latitude/longitude is required. When only an address is given, we will geocode it for you. When both address and lat/lng are given, we will use the lat/lng location but display the address as given. |
| phone | String | Used for SMS notifications or calling from the app |
| String | Used for email notifications | |
| duration | Number | Time spent at location in seconds (including parking) |
| load | Number | Works in conjunction with "capacity" parameter. Use your own unit. |
| instructions | String | Delivery instructions for your drivers will be displayed on the app |
| timeWindows | TimeWindow object | The time window of delivery. We'll support multiple time-windows in the future, hence an array. |
| customerOrderNumber | String | An external ID that you can provide to make referencing easier, both in the UI and when you pull the data out of the Routific platform. |
| deliveryDate | Date | The date you plan to execute the order in YYYY-MM-DD format. This field helps organize and filter orders by day within Routific, making it easier to schedule specific orders for specific dates. |
| packages | Packages object | Barcodes for packages that need to be delivered or picked up at the order's location. |
| tags | String array | Tags can be used to restrict or bind an order to particular route or vehicle. For example, if an order has tags of ["A","B"] it can be served by a route with tags "A" or "B". If none of the routes tags match the order's tag, the order will be left unserved. Orders without a tag can be served by any route with or without a tag attached to them. |
Sample Response Payload
[
{
"name": "Metro",
"locations":
[
{
"address": "510 W 8th Ave, Vancouver, BC V5Z 1C5",
"status": "Geocoding"
}
],
"phone": "16043215582",
"email": "[email protected]",
"duration": 600,
"load": 1,
"instructions": "Deliver at loading bay at the back of the building.",
"timeWindows":
[
{
"startTime": "09:00",
"endTime": "10:00"
}
],
"customerOrderNumber": "external-1",
"tags":
[
"refrigerated"
],
"routificOrderNumber": "ORD-12356",
"createdOn": "2025-03-12T16:07:07.135Z",
"uuid": "6a8e071a-4ee0-470b-982e-b24ed1d1b90c",
"workspaceId": 693240,
"status": "not_scheduled",
"packages":
[
{
"barcode": "ref-10000"
}
]
}
]
Description of attributes returned in the response payload:
| Fields | Type | Description |
|---|---|---|
| name | String | Customer name for the order |
| locations | Location object | Address and coordinates of the delivery address. If the lat/lng was adjusted on the Routific UI, this will fetch the latest pin location. |
| phone | String | Phone number of the customer |
| String | Email of the customer | |
| duration | Number | Expected time spend at location. This is the input, not the actual time spent. For actual durations, you can Fetch route timelines. |
| load | Number | A number used to account for how much of a route's capacity is utilized by the order |
| instructions | String | Delivery instructions for the order, such buzzer number, etc. |
| timeWindows | TimeWindow object | A time range within which the order must of serviced. |
| createdOn | String | DateTime field of when the order was created in Routific's system |
| workspaceId | Integer | The ID of the workspace associated with the order. |
| uuid | String | An internal ID used to identify an order within Routific's system |
| customerOrderNumber | String | The external ID or customer order number. |
| routificOrderNumber | String | The internal Routific order number (as displayed in the UI). |
| status | String | The current status of the order. Possible values: not_scheduled, scheduled, delivered, missed. |
| deliveryDate | Date | The date you plan to execute the order in YYYY-MM-DD format. This field helps organize and filter orders by day within Routific, making it easier to schedule specific orders for specific dates |
| packages | Packages object | Barcodes for packages that need to be delivered or picked up at the order's location. |
| tags | String array | Tags can be used to restrict or bind an order to particular route or vehicle. For example, if an order has tags of ["A","B"] it can be served by a route with tags "A" or "B". If none of the routes tags match the order's tag, the order will be left unserved. Orders without a tag can be served by any route with or without a tag attached to them |

