To create new job templates, you create a CSV file with the appropriate information. This article guides you through the various formats and fields to use for a successful CSV upload.
Because there is a vast range of data that can be included in a job template, the data in the CSV is split into sections and subsections. This article gives an overview of the main sections first. Click on the section name in the table to drill down into the subsections.
When you have created and uploaded a new template, you can edit the template from Settings → Templates → Job template. For more information about editing existing job templates, see the editing job templates article.
CSV file format
All valid CSV files are supported, with values in single quotation marks and comma separated. The data in the file is split into subsections. For example, data relating to the job
fields are kept separate by appending job:
to the front of the header. So job:data
specifies custom data in the job
field, while stop:data
specifies custom data in the stop
field.
You can append additional tags using colons. For example, the size_limit
attribute requires a minnimum and maximum value, which you can specify using job:attribute_requirement:size_limit:min
and job:attribute_requirement:size_limit:max
headers.
Columns and headers
The column names in the job template CSV form the mandatory first row file which identifies how to interpret the data presented in the subsequent rows. Each column should begin with a header value, such as stop:address
. All other rows in the column specifies inputs to the matching job template field, such as the address for that stop.
The column names are formed by joining attributes related to the type of data with the colon (:) symbol. For example, columns starting with job:
refers to data related to the job
section, such as the job:data
column which refers to custom data related to the job. Similarly, columns starting with stop:
refers to data related to the stop
section, such as the stop:data
column which refers to custom data related to the stop.
Make sure your uploaded CSV does not have duplicate columns with the same header. If you import a file with duplicate headers, it could return an error, or you might find that the first column is uploaded, but all subsequent columns are ignored.
All headers must be in lowercase and underscore-separated, meaning a multi-word field name is spaced out using _
characters. For example, for a field called Example Reference
, you would use example_reference
.
Empty columns, and columns that do not have a header are ignored. Additionally, columns with an empty or unrecognised column name are also ignored.
Rows
The data in each row, after the columns or headers, specifies the details of a single job template. When rows share the same value for the id
or ext_ref
column, this indicates that the the information belongs to the same job template with multiple stop details.
You can optionally specify details of a single stop belonging to the job template in each row by providing values for the stop section columns. If the CSV contains no stop section columns or all of the stop section columns have empty values for the row, the job template is created with no stop details.
You can specify multiple stops for the same job template by specifying multiple rows with the same job template id
or ext_ref
column. The stop columns of each row are used to create individual stops for the job template in the order specified in the CSV. The values of the first row of each group of job template rows are used for all other fields.
There are some columns which require a special data format. Columns that include lists expect a comma separated list of IDs or references. Some columns are able to accept JSON data. You can provide this in a string which parses to JSON.
Sections
The data in the CSV is split into subsections. This table gives an overview of the main sections. Click the section to drill down into the subsections.
Section | Column Prefix | Example | Purpose |
|
| Attribute requirements for created Jobs. | |
|
| Driver preferences and rules for created Jobs. | |
|
| Information for created Jobs. | |
|
| Custom data for created Jobs. | |
No prefix |
| Job Template related information. | |
|
| Information related to Stops for created Jobs. | |
|
| Capacity costs of Stop for created Jobs. | |
|
| Custom data of Stops for created Jobs. | |
|
| Vehicle preferences and rules for created Jobs. | |
|
| Vehicle type preferences and rules for created Jobs. |
Attribute requirements
The attribute requirement column names have three components, for example attribute_requirement:is_heavy_vehicle:expected
The prefix:
attribute_requirement:
The Attribute external reference or ID that the requirement applies to:
is_heavy_vehicle
The parameter:
:expected
You can specify multiple sets of columns to indicate attribute requirements for different attributes.
Column | Requirement | Accepted values | Example | Comments |
| Optional. Must not be specified if a value is specified for:
|
|
| Sets the value requirement for a boolean-type Attribute. |
| Optional. Must not be specified if a value is specified for:
| Number |
| Sets the maximum value requirement for a range-type Attribute. |
| Optional. Must not be specified if a value is specified for:
| Number |
| Sets the minimum value requirement for a range-type Attribute. |
| Optional. If specified, a value must be specified for at least one of the following columns:
|
|
| If set to |
Driver rules
Driver Rule column names have two components, for example driver:allowed_ids
The prefix:
driver:
The parameter:
allowed_ids
Column | Requirement | Accepted values | Example | Comments |
| Optional. Referenced Driver must not overlap with a value specified for:
| External references of existing Drivers, delimited by comma ( |
| Sets the allowed Drivers for created Jobs |
| Optional. Referenced Driver must not overlap with a value specified for:
| IDs of existing Drivers, delimited by comma ( |
| Sets the allowed Drivers for created Jobs |
Job
Job column names have two components, for example job:name
The prefix:
job:
The parameter:
name
Column | Requirement | Accepted values | Example | Comments |
| Required | Text |
| Display name of Job Template and its created Jobs. |
| Optional. Must not be specified if a value is specified for:
| External reference of an existing Priority |
| Sets the Priority for created Jobs. |
| Optional. Must not be specified if a value is specified for:
| ID of an existing Priority |
| Sets the Priority for created Jobs. |
Job custom data
Job custom data column names have two components, for example
job:data:[custom-data]
The prefix:
job:data:
The custom data key or key path:
[custom-data]
For single level keys, replace with a text value:
key
For multi level keys, replace with a text values delimited by a colon (
:
):nested:path:key
You can specify multiple sets of columns to indicate different job custom data.
Column | Requirement | Accepted values | Example | Comments |
| Optional. A unique value must be specified for For multi-level | Text |
| Custom data for created Jobs |
Job template
Job template columns have no special formatting requirements.
Column | Requirement | Accepted values | Example | Comments |
| Required | Text complying with the accepted external reference format: |
| External reference of Job Template. |
| Optional | Text |
| Icon to display for Job Template when pinned. See list of valid icons. |
| Optional. Required when referencing an existing Job Template. | Text |
| System generated ID of Job Template. Used to identify existing Job Templates for the |
| Optional. |
|
| Indicates whether the Job Template should be included in a separate convenience shortlist when creating a new Job. A maximum of eight (8) Job Templates can be pinned. |
Stop
Stop CSV column names have two components, for example
stop:action_ext_ref
The prefix:
stop:
The parameter:
action_ext_ref
You can create a job template with more than one stop:
Create more than one row with valid
stop:...
data.Ensure that the
id
orext_ref
field is the same between all matching rows.Stops are created in the order they are listed in. For example, if your template specifies a job with a pickup and a dropoff, with the pickup coming first, put the row with the pickup stop data before the row with the dropoff stop data.
Column | Requirement | Accepted values | Example | Comments |
| Optional. Must not be specified if a value is specified for
| External reference of an existing Action. |
| Sets the Action of the Stop for created Jobs. |
| Required. Must not be specified if a value is specified for:
| Text |
| Sets the address component of the Stop location for created Jobs. |
| Optional. Must not be specified if a value is specified for:
| ID of an existing Action |
| Sets the Action of the Stop for created Jobs. |
| Optional. |
|
| If set to |
| Optional |
|
| If set to |
| Optional. Required if a value is specified for:
| Number. |
| Sets the radius (in metres) of the Autocomplete Rule condition. |
| Optional. Mandatory if a value is specified for any of the following columns in the row:
|
|
| Sets the type of activity of the Autocomplete Rule condition:
|
| Optional | Text |
| Sets the business name of the Stop recipient for created Jobs. |
| Optional | Text | Sets the email address of the Stop recipient for created Jobs. | |
| Optional | Text |
| Sets the contact name of the Stop recipient for created Jobs. |
| Optiona | Valid phone number starting with the international country code (e.g. |
| Sets the contact phone number of the Stop recipient for created Jobs. |
| Optional. Required if a value is specified for:
Must not be specified if a value is specified for:
| Text |
| Sets the country component of the Stop location for created Jobs. |
| Optional | Number |
| Sets the latitude component of the Stop location for created Jobs. |
| Optional. Required if a value is specified for:
Must not be specified if a value is specified for:
| Text |
| Sets the locality component of the Stop location for created Jobs. |
| Optional | Number |
| Sets the longitude component of the Stop location for created Jobs. |
| Optional | External reference of existing Location Group. |
| Sets the Location Group of the Stop for created Jobs. |
| Optional | ID of existing Location Group. |
| Sets the Location Group of the Stop for created Jobs. |
| Optional. Must not be specified if a value is specified for:
| External reference of existing Location. |
| Sets the Location of the Stop for created Jobs. |
| Optional. Must not be specified if a value is specified for:
| ID of existing Location. |
| Sets the Location of the Stop for created Jobs. |
| Optional | Number |
| Sets the location time, in seconds, of the Stop for created Jobs. |
| Optional. Required if a value is specified for:
Must not be specified if a value is specified for:
| Text |
| Sets the postal code component of the Stop location for created Jobs. |
| Optional | Number |
| Sets the service time, in seconds, of the Stop for created Jobs. |
| Optional Required if a value is specified for:
Must not be specified if a value is specified for:
| Text |
| Sets the state component of the Stop location for created Jobs. |
| Optional | 24 hour time format |
| Sets the earliest time that the Stop activity should be conducted for created Jobs. |
| Optional | 24 hour time format |
| Sets the latest time that the Stop activity should be conducted for created Jobs. |
| Optional |
|
| If set to |
Stop capacity costs
Stop capacity costs column names have three components, for example stop:capacity_cost:capacity_ext_ref:weight
The prefix:
stop:capacity_cost:
The type of Capacity identifier that the cost applies to:
capacity_ext_ref:
The Capacity identifier that the cost applies to:
weight
You can specify multiple sets of columns to indicate capacity costs for different capacities.
Column | Requirement | Accepted values | Example | Comments |
| Optional. Must not be specified if a value is specified for:
| Number |
| Sets the Capacity Cost of the Stop for the specified Capacity for created Jobs. |
| Must NOT be specified if a value is specified for any of the following columns in the row:
| Number |
| Sets the Capacity Cost of the Stop for the specified Capacity for created Jobs. |
Stop custom data
Stop custom data column names have two components, for example stop:data:[custom-data]
The prefix:
stop:data:
The custom data key or key path:
[custom-data]
For single level keys, replace with a text value:
key
For multi level keys, replace with a text values delimited by a colon (
:
):nested:path:key
You can specify multiple sets of columns to indicate different Stop custom data.
Column | Requirement | Accepted values | Example | Comments |
| Optional. A unique value must be specified for For multi-level | Text |
| Custom data of Stop for created Jobs. |
Vehicle rules
Vehicle Rule column names have two components, for example vehicle_rule:allowed_ids
The prefix:
vehicle_rule:
The parameter:
allowed_ids
Column | Requirement | Accepted values | Example | Comments |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| External references of existing Vehicles, delimited by comma ( |
| Sets the allowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| IDs of existing Vehicles, delimited by comma ( |
| Sets the allowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| External references of existing Vehicles, delimited by comma ( |
| Sets the disallowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| IDs of existing Vehicles, delimited by comma ( |
| Sets the disallowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| External references of existing Vehicles, delimited by comma ( |
| Sets the dispreferred Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| IDs of existing Vehicles, delimited by comma ( |
| Sets the dispreferred Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| External references of existing Vehicles, delimited by comma ( |
| Sets the preferred Vehicles for created Jobs. |
| Optional. Referenced Vehicle must not overlap with a value specified for:
| IDs of existing Vehicles, delimited by comma ( |
| Sets the preferred Vehicles for created Jobs. |
Vehicle type rules
Vehicle type rule column names have two components, for example vehicle_type_rule:allowed_ids
The prefix:
vehicle_type_rule:
The parameter:
allowed_ids
Column | Requirement | Accepted values | Example | Comments |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| External references of existing Vehicle Types, delimited by comma ( |
| Sets the allowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| IDs of existing Vehicle Types, delimited by comma ( |
| Sets the allowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| External references of existing Vehicle Types, delimited by comma ( |
| Sets the disallowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| IDs of existing Vehicle Types, delimited by comma ( |
| Sets the disallowed Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| External references of existing Vehicles, delimited by comma ( |
| Sets the dispreferred Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| IDs of existing Vehicle Types, delimited by comma ( |
| Sets the dispreferred Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| External references of existing Vehicle Types, delimited by comma ( |
| Sets the preferred Vehicles for created Jobs. |
| Optional. Referenced Vehicle Type must not overlap with a value specified for:
| IDs of existing Vehicle Types, delimited by comma ( |
| Sets the preferred Vehicles for created Jobs. |
Supported icon values
address-book
address-card
align-justify
anchor
angles-down
angles-left
angles-right
angles-up
asterisk
bag-shopping
ban
barcode
bell
bicycle
binoculars
bolt
bookmark
box-archive
briefcase
building
building-columns
calculator
calendar
calendar-check
calendar-xmark
certificate
chart-area
chart-column
clipboard
clone
comment-dots
compass
cube
ear-listen
envelope
face-smile
flag
hashtag
heart
house
inbox
info
leaf
link
magnifying-glass
map-pin
note
paperclip
phone
podcast
recycle
scale-balanced
share-nodes
signal
signs-post
star
tag
temperature-full
tree
trophy
truck
truck-medical
up-down-left-right
user
users
wheelchair
wrench