When a job is performed at the same location as another job, durationSquash ensures that the 2nd job' service time is reduced to this value. Example: duration=600 and durationSquash=30 means that the 2nd job will only take 30 seconds to perform.
plannedDate
date
false
Fixed date on which this job is already planned and should hence be taken into account in the planning.
plannedResource
string
false
Name of the resource to which this job is already planned and should hence be taken into account in the next planning.
plannedArrival
date-time
false
Planned arrival time The second of day at which the job is planned to complete. The difference with the actual arrival time is scaled in the score with plannedWeight.
hard
boolean
false
In the case of partial planning, this indicates whether this job should be integrated into the planning or not.
hardWeight
integer
false
In the case of partial planning, this indicates the weight of this job.
padding
integer
false
Padding time (in seconds) before and after the job.
allowedResources
[string]
false
Resources that are allowed to be assigned to this job.
load
[int]
false
The load of the job expressed as list of integer values
TimeWindow
A time window is a time period in which a job can be performed.
Name
Type
Required
Description
from
date-time
true
Date time start of window
to
date-time
true
Date time end of window
weight
integer
false
Weight constraint modifier
hard
boolean
false
Hard constraint violation of DateWindow
Tag
Name
Type
Required
Description
name
string
true
Tag restriction name which can force some Jobs to be scheduled by Resources with the same tag
hard
boolean
false
Hard or soft constraint.
weight
integer
false
Value of the weight. This will be on the same level as travel time in the case of soft constraint.
Location
Name
Type
Required
Description
latitude
number
true
Latitude (WGS84)
longitude
number
true
Longitude (WGS84)
Resource
A resource is a vehicle or person that can perform jobs.
This means a 30 minute break somewhere between 12:00 and 12:45 on 10 March 2022.
Weights
Weights are modifiers for the objective function. They are used to influence the score calculation on the soft level.
Everything is compared with Travel Time (in seconds).
Name
Type
Description
priorityWeight
integer
Weight modifier for job.priority that ensures that priority jobs are scheduled. Note that this does not make sure that they are scheduled sooner.
workloadSpreadWeight
integer
Weight modifier for service time per vehicle day.
travelTimeWeight
integer
Weight modifier for travel time.
plannedWeight
integer
Weight modifier for planned vehicle and planned date requirement.
asapWeight
integer
Weight modifier scheduling jobs as soon (on day basis) as possible.
minimizeResourcesWeight
integer
Weight modifier when selecting a resource to have at least 1 job assigned. When minimizeResourcesWeight is set to 1800 then it means that only having a detour of half an hour would start to trigger having an extra resource.
If you do not need to assign every job to a vehicle, then set partialPlanning: true.
minimizeResources
boolean¦null
Minimise the vehicle useage or minimise total travel time. Two different objective functions. Can be extra enforced with minimizeResourcesWeight.
traffic
number(double)¦null
Modifier to travel time for traffic. If you want actual traffic information, use HERE or TomTom map integration.
polylines
boolean¦null
Let our map server calculate the actual polylines for connecting the visits. Processing will take longer.
fairWorkloadPerTrip
boolean¦null
If true, the workload (service time) will be spread over all vehicles and all days. (interacts with Weights.workloadSpreadWeight and options.workloadSensitivity)
fairWorkloadPerResource
boolean¦null
If true, the workload (service time) will be spread over all days of one vehicle. (interacts with Weights.workloadSpreadWeight and options.workloadSensitivity)
snapUnit
integer(int32)¦null
The smallest steps in arrival time to which results will be snapped. The snapping policy is round-up and is used at runtime, implying it influences the score calculation. Unless a post-calculation feature such as job padding is used, any calculated arrival time in [391, 395] with a snapUnit of 5 will yield 395. Fallback value for Options.use_snapUnit_for_waitRange.