Create orders

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

📘

Finding your workspaceId

You can find the workspaceId by logging into Routific, selecting the Workspace you'd like to create orders for, and look at the url.

For example, in this url https://beta.routific.com/workspace/650603/routes the workspaceId is 650603.


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"
    }
]

The body of the payload accepts an array of order entities, where each order entity consists of following properties.

FieldsTypeDescription
nameStringName of the Order
locations (required)Location objectEither 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.
phoneStringUsed for SMS notifications or calling from the app
emailStringUsed for email notifications
durationNumberTime spent at location in seconds (including parking)
loadNumberWorks in conjunction with "capacity" parameter. Use your own unit.
instructionsStringDelivery instructions for your drivers will be displayed on the app
timeWindowsTimeWindow objectThe time window of delivery. We'll support multiple time-windows in the future, hence an array.
customerOrderNumberStringAn 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.

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",
    "routificOrderNumber": "ORD-12356",
    "createdOn": "2025-03-12T16:07:07.135Z",
    "uuid": "6a8e071a-4ee0-470b-982e-b24ed1d1b90c",
    "workspaceId": 693240,
    "status": "not_scheduled"
  }
]

Description of attributes returned in the response payload:

FieldsTypeDescription
nameStringCustomer name for the order
locationsLocation objectAddress and coordinates of the delivery address. If the lat/lng was adjusted on the Routific UI, this will fetch the latest pin location.
phoneStringPhone number of the customer
emailStringEmail of the customer
durationNumberExpected time spend at location. This is the input, not the actual time spent. For actual durations, you can Fetch route timelines.
loadNumberA number used to account for how much of a route's capacity is utilized by the order
instructionsStringDelivery instructions for the order, such buzzer number, etc.
timeWindowsTimeWindow objectA time range within which the order must of serviced.
createdOnStringDateTime field of when the order was created in Routific's system
workspaceIdIntegerThe ID of the workspace associated with the order.
uuidStringAn internal ID used to identify an order within Routific's system
customerOrderNumberStringThe external ID or customer order number.
routificOrderNumberStringThe internal Routific order number (as displayed in the UI).
statusStringThe current status of the order. Possible values: not_scheduled, scheduled, delivered, missed.