Docs
  • Solver
  • Models
    • Field Service Routing
    • Employee Shift Scheduling
  • Platform
Try models
  • Field Service Routing
  • User guide
  • Configuration overrides

Field Service Routing

    • Introduction
    • Getting started with field service routing
    • User guide
      • User guide
      • Terms
      • Planning AI concepts
      • Constraints
      • Understanding the API
      • Planning window
      • Model configuration
      • Configuration overrides
      • Time zones and daylight-saving time (DST)
      • Routing with Timefold’s maps service
      • Validation
      • Model response
      • Key performance indicators (KPIs)
      • Metrics and optimization goals
    • Vehicle resource constraints
      • Vehicle resource constraints
      • Shift hours and overtime
      • Lunch breaks and personal appointments
      • Fairness
      • Route optimization
      • Technician coverage area
      • Technician costs
      • Technician ratings
    • Visit service constraints
      • Visit service constraints
      • Time windows and opening hours
      • Skills
      • Visit dependencies
      • Visit requirements
      • Multi-vehicle visits
      • Movable visits and multi-day schedules
      • Priority visits and optional visits
      • Visit service level agreement (SLA)
    • Recommendations
      • Recommendations
      • Visit time window recommendations
      • Visit group time window recommendations
    • Real-time planning
      • Real-time planning
      • Real-time planning: extended visit
      • Real-time planning: reassignment
      • Real-time planning: emergency visit
      • Real-time planning: no show
      • Real-time planning: technician ill
      • Real-time planning: pinning visits
    • Real-time planning (preview)
      • Real-time planning (preview)
      • Real-time planning: extended visit (preview)
      • Real-time planning: reassignment (preview)
      • Real-time planning: emergency visit (preview)
      • Real-time planning: no show (Preview)
      • Real-time planning: technician ill (Preview)
      • Real-time planning: pinning visits (preview)
    • Scenarios
      • Long-running visits
    • Changelog
    • Upgrade to the latest version
    • Feature requests

Configuration overrides

Contains additional constraint parameters, influencing whether these constraints trigger and how much they impact the solution’s score.

Id Format Description Example

defaultTechnicianRating

double

A default technician rating that should be used for the Maximize technician rating (soft) constraint. If no default is given and no technician rating is provided, the default value of 0.0 is used.

3.2

priorityWeights

array of PriorityConfiguration objects

An override for the priority weights. This allows for custom priorities to be set. When using this feature, no default exists, so every Visit must define a priority.

[ { priority: "NORMAL_1", weight: 30 }, { priority: "NORMAL_2", weight: 35 }, { priority: "HIGH_1", weight: 60 } ]

travelTimeAdjustment

object

An optional Travel Time Adjustment to compensate for longer travel times due to high traffic (multiplier) or difficult parking (extra constant time).

{"multiplier": 1.5, "extraTime": "PT10M" }

visitCompletionRiskMinimalPriority

string

A minimal priority of a visit to consider it for the risk evaluation.

"10"

visitCompletionRiskMinimalTimeToShiftEnd

string (ISO 8601 duration)

A length of the time window between the visit departure time and the vehicle shift end. If a visit ends in this time window, its completion is considered risky.

"PT1H"

1. Travel Time Adjustment

Travel time adjustment can be defined to implement a "buffer" allowing for unexpected traffic delays or long parking time when travelling.

The travel time adjustment is configured as a function for every route between any two locations as follows:

adjustedTravelTime = multiplier * mapTravelTime + extraTime,

where:

  • mapTravelTime is the travel time obtained from a map service,

  • multiplier and extraTime are the travel time adjustment attributes described below.

Id Required Format Description Example

extraTime

false

string (ISO 8601 duration)

The additional time to add to the original travel time obtained from a map service. Must be positive or zero duration.

The default value is "PT0S" (zero duration).

"PT5M" - to add extra 5 minutes to every route travel time

multiplier

false

float

The coefficient to multiply the original travel time obtained from a map service with. Must be greater than zero (typically will be greater than 1 to make the travel time longer).

The default value is 1.0.

1.1 to achieve 10 % longer travel times

2. PriorityConfiguration

The priorityConfiguration objects require a "priority" (format: string) and a "weight" (format: int) to be set. The "priority" field will serve as the name for the priority override and the "weight" field indicates the magnitude of impact it will have. A priorityConfiguration with "weight": 50 will have an impact 5 times the size than that of a priority with "weight": 10. This means that the solver deems 1 unassigned visit with the higher priority weight equal to 5 unassigned visits with the lower priority weight.

[
{
  "priority": "E",
  "weight": 1
},
{
  "priority": "D",
  "weight": 10
},
{
  "priority": "C",
  "weight": 15
},
{
  "priority": "B",
  "weight": 50
},
{
  "priority": "A",
  "weight": 1000
}
]

Next

  • See the full API spec or try the online API.

  • Learn more about field service routing from our YouTube playlist.

  • Learn about configuration parameters and profiles.

  • © 2025 Timefold BV
  • Timefold.ai
  • Documentation
  • Changelog
  • Send feedback
  • Privacy
  • Legal
    • Light mode
    • Dark mode
    • System default