Docs
  • Solver
  • Models
    • Field Service Routing
    • Employee Shift Scheduling
    • Pick-up and Delivery Routing
  • Platform
Try models
  • Field Service Routing
  • User guide
  • Key performance indicators (KPIs)

Field Service Routing

    • Introduction
    • Getting started: Hello world
    • User guide
      • Terms
      • Planning AI concepts
      • Constraints
      • Understanding the API
      • Demo datasets
      • 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
      • Shift hours and overtime
      • Lunch breaks and personal appointments
      • Fairness
      • Route optimization
      • Technician costs
      • Technician ratings
    • Visit service constraints
      • Time windows and opening hours
      • Skills
      • Visit dependencies
      • Visit requirements, area affinity, and tags
      • Multi-vehicle visits
      • Movable visits and multi-day schedules
      • Priority visits and optional visits
      • Visit service level agreement (SLA)
    • Recommendations
      • Visit time window recommendations
      • Visit group time window recommendations
    • 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: 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

Key performance indicators (KPIs)

The key performance indicators (KPIs) of the entire route plan. These top-level metrics provide an overview of the route plan quality.

Id Format Description Example

assignedMandatoryVisits

integer

The number of mandatory visits assigned in this schedule.

10

assignedOptionalVisits

integer

The number of optional visits assigned in this schedule.

10

averageTravelDistanceMetersPerVisit

integer

The average distance per visit (rounded to whole meters) each of the vehicles will travel in this schedule.

2000

averageTravelTimePerVisit

string (ISO 8601 duration)

The average travel time (defined in the ISO 8601 format) per assigned visit of all vehicles in the schedule. Rounded to seconds.

"PT15M"

totalActivatedVehicles

integer

The number of vehicles used in this schedule.

10

totalAssignedVisits

integer

The number of visits assigned in this schedule.

10

totalOvertime

string (ISO 8601 duration)

The amount of overtime required for this schedule.

The amount of overtime for the schedule is the sum of each vehicle shift overtime.

The total overtime is null when all shifts have both maxSoftEndTime and maxSoftLastVisitDepartureTime set to null (no overtime rules are defined).

PT1H10M

totalTechnicianCosts

number (BigDecimal)

The total costs of all technicians (if defined) in the plan.

Null when there is no vehicle shift with costs defined.

"1000.5"

totalTravelDistanceMeters

integer

The total travel distance by the vehicle shift in meters summed for all vehicle shifts.

25000

totalTravelTime

string (ISO 8601 duration)

The total travel time by all the vehicle shifts.

"PT2H15M"

totalUnassignedVisits

integer

The number of visits that could not be assigned a vehicle in this schedule.

10

travelDistanceBetweenVisitsMeters

integer

The total travel distance in meters between visits excluding the distances from the start location to the first visit and from the last visit to the end location, summed for all vehicle shifts.

20000

travelDistanceFromLastVisitToEndLocationMeters

integer

The travel distance from the last visit to the end location in meters summed for all vehicle shifts.

2000

travelDistanceFromStartLocationToFirstVisitMeters

integer

The travel distance from the start location to the first visit in meters summed for all vehicle shifts.

3000

travelTimeBetweenVisits

string (ISO 8601 duration)

The total travel time between visits excluding the travel time from the start location to the first visit and the travel time from the last visit to the end location, summed for all vehicle shifts.

"PT2H"

travelTimeFromLastVisitToEndLocation

string (ISO 8601 duration)

The travel time from the last visit to the end location summed for all vehicle shifts.

"PT5M"

travelTimeFromStartLocationToFirstVisit

string (ISO 8601 duration)

The travel time from the start location to the first visit summed for all vehicle shifts.

"PT10M"

unassignedMandatoryVisits

integer

The number of mandatory visits that could not be assigned a vehicle in this schedule.

10

unassignedOptionalVisits

integer

The number of optional visits that could not be assigned a vehicle in this schedule.

10

workingTimeFairnessPercentage

percentage

Describes how balanced a solution is in terms of time worked of technicians. The higher the percentage is, the more balanced the time worked is distributed among technicians.

"95.98"

Next

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

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

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