### GET /v1/demo-data Source: https://app.timefold.ai/openapis/field-service-routing/v1 API endpoint for GET /v1/demo-data ```markdown ### Responses #### 200 - List of available demo datasets - Array of DemoMetaData #### 401 - Missing or invalid API key Missing or invalid API key #### 403 - API key used with this call does not have access to the operation API key used with this call does not have access to the operation #### 429 - Too many requests or other policy violations **ErrorInfo** - **id** (string) - **code** (string) - **message** (string) - **details** (string) ### Example Usage ```bash curl -X GET "/api/models/field-service-routing/v1/demo-data" ``` ``` -------------------------------- ### GET /v1/demo-data/{demoDataId} Source: https://app.timefold.ai/openapis/field-service-routing/v1 API endpoint for GET /v1/demo-data/{demoDataId} ```markdown ### Parameters - **demoDataId** (string, path, required): ID of the demo dataset from the list of available datasets ### Responses #### 200 - Demo data as a dataset **ModelRequestRoutePlanInputRoutePlanConfigOverrides** - **config** (object) - **run** (object) - **name** (string): Optional name to be given to the dataset. If not provided, the name will be generated. - **termination** (object) - **spentLimit** (string (duration)) (example: "P1D") - **unimprovedSpentLimit** (string (duration)) (example: "P1D") - **stepCountLimit** (integer (int32)): Maximum solver step count. The solver will stop solving after a pre-determined amount of steps. Use when you require results independently of the hardware resources performance. Use this termination if you want to benchmark your models, not recommended for production use. If set, unimprovedSpentLimit must be empty. Warning: using this option will disable the default diminished returns termination which is recommended for most use cases. (example: 1000) - **slidingWindowDuration** (string (duration)) (example: "P1D") - **minimumImprovementRatio** (number (double)): Minimum ratio between current and initial improvement before the diminished returns termination kicks in. Must be strictly positive. Defaults to 0.0001 when omitted. Only takes effect when diminished returns is active (i.e. unimprovedSpentLimit and stepCountLimit are both empty). (example: 0.0001) - **maxThreadCount** (integer (int32)): Optional maximum number of threads to be used for solving. - **tags** (array (string)): Optional tags to be assigned to the dataset. - **model** (object) - **overrides** (object) - **maxSoftShiftEndTimeWeight** (integer (int64)) - **maxSoftLastVisitDepartureTimeWeight** (integer (int64)) - **maxSoftShiftTravelTimeWeight** (integer (int64)) - **maxSoftVisitsPerShiftWeight** (integer (int64)) - **minimizeTravelTimeWeight** (integer (int64)) - **minimizeTravelDistanceWeight** (integer (int64)) - **preferGroupingColocatedVisitsWeight** (integer (int64)) - **preferVisitsScheduledToEarliestDayWeight** (integer (int64)) - **preferSchedulingOptionalVisitsWeight** (integer (int64)) - **minimizeVisitCompletionRiskWeight** (integer (int64)) - **minimizeUnnecessarySkillsWeight** (integer (int64)) - **balanceTimeUtilizationWeight** (integer (int64)) - **preferVisitVehicleMatchPreferredVehiclesWeight** (integer (int64)) - **minimizeShiftCostsWeight** (integer (int64)) - **maximizeTechnicianRatingWeight** (integer (int64)) - **latestSlaEndTimeWeight** (integer (int64)) - **preferSchedulingEarlierBasedOnSlaWeight** (integer (int64)) - **preferredVisitTimeWindowWeight** (integer (int64)) - **visitCompletionRiskMinimalTimeToShiftEnd** (string (duration)) (example: "P1D") - **visitCompletionRiskMinimalPriority** (string): The minimal priority level for considering the visit completion risk. - **travelTimeAdjustment** (object) - **multiplier** (number (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.0` to make the travel time longer). - **extraTime** (string (duration)) (example: "P1D") - **priorityWeights** (array (PriorityConfiguration)) Array items: - **priority** (string) (required): Name of the priority. - **weight** (integer (int64)) (required): Weight associated with the priority. - **assignment** (string (MANDATORY|OPTIONAL|AUTO)): Defines the visit assignment type associated with this priority: MANDATORY or OPTIONAL. When not provided, it defaults to AUTO, which derives the type from whether the visit can be scheduled outside the current planning period. ("MANDATORY"|"OPTIONAL"|"AUTO") - **defaultTechnicianRating** (number (double)): The default technician rating used for technicians without a rating. - **minimizeWaitingTimeWeight** (integer (int64)) - **minimizeVisitsOutsidePreferredArea** (integer (int64)) - **maximizeProfitWeight** (integer (int64)) - **durationAddedForFirstVisitOnLocation** (string (duration)) (example: "P1D") - **defaultAssignmentType** (string (AUTO|MANDATORY)): The assignment type used for the built-in priorities 1-10. The default is AUTO, but it can be set to MANDATORY. ("AUTO"|"MANDATORY") - **defaultDependencyAssignmentType** (string (DISALLOW_TO_BLOCK_FOLLOWING|ALLOW_TO_BLOCK_FOLLOWING)) ("DISALLOW_TO_BLOCK_FOLLOWING"|"ALLOW_TO_BLOCK_FOLLOWING") - **preferConsecutiveGroupWeight** (integer (int64)) - **resourcesConfiguration** (object) - **memory** (number (double)) - **labels** (object) - **mapsConfiguration** (object) - **provider** (string) - **location** (string) - **maxDistanceFromRoad** (number (double)) - **transportType** (string) - **modelInput** (object) (required) - **locationSetName** (string): The optional name of the set of locations contained in this plan, used for referencing a pre-calculated location time/distance matrix to speed up processing. If specified, all locations in the model must be a subset of the referenced pre-calculated location set. If unspecified, a new time/distance matrix will be calculated for the request. - **vehicles** (array (Vehicle)): The list of all vehicles along with their shifts that are part of this vehicle routing plan. Array items: - **id** (string) (required): The unique identifier of the vehicle. - **vehicleType** (string (VAN)): The type of the vehicle (VAN, ... ). ("VAN") - **shifts** (array (VehicleShift)) (required): The list of vehicle shifts assigned to this vehicle. Array items: - **id** (string) (required): The unique identifier of this vehicle shift. - **startLocation** (array (number (double))) (required): The location coordinates where the vehicle starts its shift (it travels to the first visit from there). (example: [40.5044403760272,-76.37894009358867]) - **endLocation** (array (number (double))): The location coordinates where the vehicle ends its shift (it travels there from the last visit). Defaults to the start location when omitted. (example: [40.5044403760272,-76.37894009358867]) - **minStartTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **minFirstVisitArrivalTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **maxSoftLastVisitDepartureTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **maxLastVisitDepartureTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **maxSoftEndTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **maxEndTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **maxTravelTimePerVisit** (string (duration)) (example: "P1D") - **maxTravelTime** (string (duration)) (example: "P1D") - **maxSoftTravelTime** (string (duration)) (example: "P1D") - **maxVisits** (integer (int32)): The maximum number of visits allowed per shift (hard). - **maxSoftVisits** (integer (int32)): The maximum number of visits allowed per shift (soft). - **skills** (array (SkillDefinition)): An array of skills this vehicle shift provides. Array items: - **name** (string) (required): The unique name of the skill. - **level** (integer (int32)): The positive number representing the level of this skill (the higher the better). If the level is null, the default value will be assumed. - **multiplier** (number (float)): The float number to multiply a visit service duration part corresponding to this skill. If this skill should not affect matching visit service duration at all (i.e. excluded from averaging), provide null. - **tags** (array (string)): An array of names of tags this vehicle shift provides. - **requiredBreaks** (array (Break)): An array of breaks affecting this vehicle shift. Array items: - **temporarySkillSets** (array (TemporarySkillSet)): An array of skills that are valid/applicable only within specified time intervals. Array items: - **start** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **end** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **skills** (array (SkillDefinition)) (required): The array of skills that are valid only in the related time interval. Array items: - **temporaryTagSets** (array (TemporaryTagSet)): An array of tags that are valid/applicable only within specified time intervals. Array items: - **start** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **end** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **tags** (array (string)) (required): The array of tags that are valid only in the related time interval. - **movableOccupationRatioThreshold** (number (double)): Influences the ratio between movable and non-movable visits to assign to this vehicle shift. - **cost** (object) - **fixedCost** (number): The fixed part of the cost is applied always. - **rates** (array (Rate)): The list of rates defining the cost per time-unit for a specific duration measured from the previous rate end or the vehicle shift start (if there is no previous rate). Array items: - **duration** (string (duration)) (required) (example: "P1D") - **activationCost** (number): The cost applied once this rate is activated. - **costPerUnit** (number): The cost per unit (minute/hour/..) associated with this rate. - **unit** (string (MINUTE|HOUR)): The time unit for specifying the cost. ("MINUTE"|"HOUR") - **travelTimeAdjustment** (object) - **pinNextVisitDuringFreeze** (string (ALWAYS|NEVER)): Defines how to handle the next visit of a vehicle that is between two visits at the freeze time: ALWAYS: If a vehicle is between two visits at the freeze time, always pin the visit it is traveling to, in addition to all visits that are completed, or started. In other words, all visits that are completed, started or departed to are pinned. This is the safest option to use in terms of not disrupting ongoing work. NEVER: If a vehicle is between two visits at the freeze time, never pin the visit it is traveling to, in addition to all visits that are completed, or started. In other words, all visits that are completed or started are pinned. This is the least safe option to use in terms of not disrupting ongoing work, but giving the user complete control of the following visit pinning. ("ALWAYS"|"NEVER") - **pinned** (boolean): Determines if the whole itinerary of this vehicle shift is pinned. Will be set automatically for shifts with maxEndTime before the freezeTime. - **itinerary** (array (InputItineraryItem)): The array of itinerary items (visits and breaks) assigned to this vehicle shift. Array items: - **id** (string) (required): The unique identifier of the input itinerary item. - **kind** (string (VISIT|BREAK)) (required) ("VISIT"|"BREAK") - **startServiceTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **pin** (boolean): Determines whether this visit is pinned and if its start service time and assignment to a shift's itinerary must not be changed. Requires "startServiceTime" to be present and within the time boundaries of its visit and shift. In case multiple visits on an itinerary are pinned, they need to be chronologically sorted by their "startServiceTime". - **actualArrivalTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **actualStartServiceTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **actualDepartureTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **historicalTimeUtilized** (string (duration)) (example: "P1D") - **historicalTimeCapacity** (string (duration)) (example: "P1D") - **technicianRating** (number (double)): The rating of a technician based on a metric chosen by the user. The higher the value, the better the rating. - **requiredArea** (object) - **preferredArea** (object) - **linkedShifts** (array (LinkedShift)): The list of linked shifts assigned to this vehicle. A linked shift is formed by linking two or more individual vehicle shifts and can be used as an alternative to scheduling every individual shift. This feature is in preview and might be a subject to change. Array items: - **id** (string) (required): The identifier of this shift link. This will be the id of the new shift that combines the linked shifts. - **shifts** (array (ShiftLink)) (required): The list of shifts that are linked. Array items: - **id** (string) (required): The identifier of this shift link segment. - **fromShiftId** (string) (required): The ID of the shift this link starts from. - **toShiftId** (string) (required): The ID of the shift this link transitions to. - **maxTravelTimePerVisit** (string (duration)) (example: "P1D") - **maxTravelTime** (string (duration)) (example: "P1D") - **maxSoftTravelTime** (string (duration)) (example: "P1D") - **maxVisits** (integer (int32)): The maximum number of visits allowed per shift (hard). - **maxSoftVisits** (integer (int32)): The maximum number of visits allowed per shift (soft). - **skills** (array (SkillDefinition)): An array of skills this linked shift provides. Array items: - **tags** (array (string)): An array of names of tags this linked shift provides. - **requiredBreaks** (array (Break)): An array of breaks affecting this linked shift. Array items: - **temporarySkillSets** (array (TemporarySkillSet)): An array of skills that are valid/applicable only within specified time intervals. Array items: - **temporaryTagSets** (array (TemporaryTagSet)): An array of tags that are valid/applicable only within specified time intervals. Array items: - **movableOccupationRatioThreshold** (number (double)): Influences the ratio between movable and non-movable visits to assign to this linked shift. - **cost** (object) - **travelTimeAdjustment** (object) - **pinNextVisitDuringFreeze** (string (ALWAYS|NEVER)): Defines how to handle the next visit of a vehicle that is between two visits at the freeze time: ALWAYS: If a vehicle is between two visits at the freeze time, always pin the visit it is traveling to, in addition to all visits that are completed, or started. In other words, all visits that are completed, started or departed to are pinned. This is the safest option to use in terms of not disrupting ongoing work. NEVER: If a vehicle is between two visits at the freeze time, never pin the visit it is traveling to, in addition to all visits that are completed, or started. In other words, all visits that are completed or started are pinned. This is the least safe option to use in terms of not disrupting ongoing work, but giving the user complete control of the following visit pinning. ("ALWAYS"|"NEVER") - **pinned** (boolean): Determines if the whole itinerary of this linked shift is pinned. Will be set automatically for linked shifts where the maxEndTime of all contained shifts is before the freezeTime. - **itinerary** (array (InputItineraryItem)): The array of itinerary items (visits and breaks) assigned to this linked shift. Array items: - **visits** (array (Visit)): The list of all customer visits which are not a part of a visit group. Array items: - **id** (string) (required): A unique identifier of the visit. - **name** (string): The name of the visit, if omitted, id is used. - **location** (array (number (double))) (required): The location coordinates of this visit. (example: [40.5044403760272,-76.37894009358867]) - **timeWindows** (array (TimeWindow)): The array of time windows during which a vehicle shift may perform the service job for this visit. Array items: - **minStartTime** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **maxStartTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **maxEndTime** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **serviceDuration** (string (duration)) (required) (example: "P1D") - **serviceDurationBreakdown** (array (ServiceDurationPart)): The breakdown of serviceDuration value by individual skills. The sum of all durations in the breakdown must not be greater than serviceDuration. Array items: - **skill** (string) (required): The skill name that this part of the visit service duration refers to. - **duration** (string) (required): The part (ISO 8601 duration) of visit service duration corresponding to the related skill. The total sum of all durations in the breakdown must not be greater than visit.serviceDuration, but can be less, allowing for a part of the service duration to stay uncategorized. - **serviceDurationAdjustment** (string (duration)) (example: "P1D") - **durationAddedForFirstVisitOnLocation** (string (duration)) (example: "P1D") - **requiredSkills** (array (SkillRequirement)): An array of skills required by this visit. Only vehicle shifts providing all skills (level >= minLevel) can be assigned. Array items: - **name** (string) (required): The name of the required skill. - **minLevel** (integer (int32)): The positive number representing the minimum required level of this skill. When any skill definition, regardless its level, can match this requirement, provide null. - **requiredTags** (array (string)): An array of names of tags required by this visit. Only vehicle shifts providing all tags can be assigned. - **requiredVehicles** (array (string)): The array of vehicle ids that are allowed to be assigned to this visit. If empty, any vehicle is allowed to be assigned. - **prohibitedVehicles** (array (string)): The array of vehicle ids that are prohibited from being assigned to this visit. If empty, no vehicle is prohibited from being assigned. - **priority** (string): The priority of assigning this visit. - **visitDependencies** (array (VisitDependency)): The array of visits which this visit depends on. Array items: - **id** (string) (required): A unique string identifier of this visit dependency. - **precedingVisit** (string) (required): The ID of the preceding visit (the visit which this visit depends on). - **minDelay** (string (duration)) (example: "P1D") - **minDelayTo** (object) - **minStartDateAdjuster** (string (SAME_DAY|NEXT_DAY|NEXT_MONTH|NEXT_MONDAY|NEXT_TUESDAY|NEXT_WEDNESDAY|NEXT_THURSDAY|NEXT_FRIDAY|NEXT_SATURDAY|NEXT_SUNDAY|NEXT_WORKING_DAY)) (required) ("SAME_DAY"|"NEXT_DAY"|"NEXT_MONTH"|"NEXT_MONDAY"|"NEXT_TUESDAY"|"NEXT_WEDNESDAY"|"NEXT_THURSDAY"|"NEXT_FRIDAY"|"NEXT_SATURDAY"|"NEXT_SUNDAY"|"NEXT_WORKING_DAY") - **minStartDateAdjusterIncrement** (integer (int32)): The increment which determines how many times minStartDateAdjuster is applied. - **minStartTime** (string (local-time)) (example: "13:45:30.123456789") - **timezone** (string (timezone-id)): The optional region-based TZDB identifier of the timezone which rules apply to the minStartDateAdjuster and minStartTime combination. If omitted, the zone offset of the source date time for the adjustment is kept - if DST changes need to be handled, the timezone must be supplied. (example: "Europe/Brussels") - **maxDelay** (string (duration)) (example: "P1D") - **maxDelayTo** (object) - **maxStartDateAdjuster** (string (SAME_DAY|NEXT_DAY|NEXT_MONTH|NEXT_MONDAY|NEXT_TUESDAY|NEXT_WEDNESDAY|NEXT_THURSDAY|NEXT_FRIDAY|NEXT_SATURDAY|NEXT_SUNDAY|NEXT_WORKING_DAY)) (required) ("SAME_DAY"|"NEXT_DAY"|"NEXT_MONTH"|"NEXT_MONDAY"|"NEXT_TUESDAY"|"NEXT_WEDNESDAY"|"NEXT_THURSDAY"|"NEXT_FRIDAY"|"NEXT_SATURDAY"|"NEXT_SUNDAY"|"NEXT_WORKING_DAY") - **maxStartDateAdjusterIncrement** (integer (int32)): The increment which determines how many times maxStartDateAdjuster is applied. - **maxStartTime** (string (local-time)) (example: "13:45:30.123456789") - **timezone** (string (timezone-id)): The optional region-based TZDB identifier of the timezone which rules apply to the maxStartDateAdjuster and maxStartTime combination. If omitted, the zone offset of the source date time for the adjustment is kept - if DST changes need to be handled, the timezone must be supplied. (example: "Europe/Brussels") - **coordination** (string (NONE|SAME_VEHICLE)): The additional coordination requirement between this visit and the preceding visit. ("NONE"|"SAME_VEHICLE") - **assignmentType** (string (DISALLOW_TO_BLOCK_FOLLOWING|ALLOW_TO_BLOCK_FOLLOWING)): The additional constraints on assigning the preceding visit based on this visit: When set to 'DISALLOW_TO_BLOCK_FOLLOWING', the preceding visit is not assigned if it would prevent this visit from being assigned. When set to 'ALLOW_TO_BLOCK_FOLLOWING', the preceding visit can be assigned despite preventing this visit from being assigned. The default is taken from 'config.model.overrides.defaultDependencyAssignmentType'. ("DISALLOW_TO_BLOCK_FOLLOWING"|"ALLOW_TO_BLOCK_FOLLOWING") - **pinningRequested** (boolean): Determines if the user requested to pin this particular visit (must be already assigned). - **minStartTravelTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **preferredVehicles** (array (string)): The array of vehicle ids that are preferred for this visit. If empty, no preferences on vehicles exist. Only one of preferredVehicles and preferredVehiclesWeights can be set. - **preferredVehiclesWeights** (array (PreferredVehicle)): The array of vehicle ids and preference weights (see PreferredVehicle) that are preferred for this visit. If empty, no weighted preferences on vehicles exist. Only one of preferredVehicles and preferredVehiclesWeights can be set. Array items: - **id** (string) (required): The identifier of the preferred vehicle. - **weight** (integer (int64)): The weight of this vehicle preference. - **latestSlaEndTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **preferredTimeWindows** (array (TimeWindow)): The array of preferred time windows during which a vehicle shift may perform the service job for this visit. Array items: - **preferredConsecutiveGroupId** (string): The id of the preferred consecutive group this visit belongs to. The solver prefers to schedule all visits sharing the same preferredConsecutiveGroupId consecutively on the same vehicle shift (only breaks may appear between them). - **exclusions** (array (VisitExclusionItem)): The array of visits that cannot be assigned together with this visit. Exclusions are mutual and automatically enforced in both directions. This feature is in preview and might be a subject to change. Array items: - **id** (string) (required): The unique identifier of the item that is being excluded. - **type** (string (VISIT)) (required): The type of the excluded item. Currently only ("VISIT") is supported ("VISIT") - **profit** (object) - **fixedProfit** (number): A fixed amount of profit associated with completing this visit. - **visitGroups** (array (VisitGroup)): The list of all customer visit groups, i.e. visits serviced by multiple vehicles. Array items: - **id** (string) (required): A unique string identifier of this visit group. - **alignment** (string (START|END)): Alignment of visits in the visit group. ("START"|"END") - **serviceDurationStrategy** (string (INDIVIDUAL|BEST_PROFICIENCY)): The strategy to calculate the service duration of the visits in this visit group. ("INDIVIDUAL"|"BEST_PROFICIENCY") - **visits** (array (Visit)) (required): The array of visits that form together this visit group (at least two visits are required). Array items: - **skills** (array (string)): The list of all skill names defined for this plan (for validation purposes). A skill can be assigned to a vehicle shift and a visit, the resulting plan then can be penalized when the required and provided skills or skill levels do not match. - **tags** (array (Tag)): The list of all tags defined for this plan (for validation purposes). A tag can be assigned to a vehicle shift and a visit, the resulting plan then can be penalized when the required and provided tags do not match. Array items: - **name** (string) (required): The unique name of the tag. - **planningWindow** (object) - **startDate** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **endDate** (string (date-time)) (required) (example: "2022-03-10T12:15:50-04:00") - **freezeDeparturesBeforeTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **freezeTime** (string (date-time)) (example: "2022-03-10T12:15:50-04:00") - **pinNextVisitDuringFreeze** (string (ALWAYS|NEVER)): Determines if a visit which a vehicle might be traveling to at the freeze time is pinned automatically or not. ("ALWAYS"|"NEVER") - **dateAdjusterConfiguration** (object): Configuration for date adjusters. - **workingDays** (array (DayOfWeek)): Working days to be used together with the NEXT_WORKING_DAY adjuster. Defaults to Monday through Friday if omitted. (example: ["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"]) #### 401 - Missing or invalid API key Missing or invalid API key #### 403 - API key used with this call does not have access to the operation API key used with this call does not have access to the operation #### 404 - In case the given demo data does not exist #### 429 - Too many requests or other policy violations **ErrorInfo** - **id** (string) - **code** (string) - **message** (string) - **details** (string) ### Example Usage ```bash curl -X GET "/api/models/field-service-routing/v1/demo-data/{demoDataId}" ``` ``` -------------------------------- ### GET /v1/route-plans Source: https://app.timefold.ai/openapis/field-service-routing/v1 API endpoint for GET /v1/route-plans ```markdown ### Parameters - **page** (integer (int32), query, optional) - **size** (integer (int32), query, optional) ### Responses #### 200 - Returns scheduling with given identifier - Array of Metadata #### 401 - Missing or invalid API key Missing or invalid API key #### 403 - API key used with this call does not have access to the operation API key used with this call does not have access to the operation #### 404 - In case request given schedule does not exist **ErrorInfo** - **id** (string) - **code** (string) - **message** (string) - **details** (string) #### 429 - Too many requests or other policy violations **ErrorInfo** - **id** (string) - **code** (string) - **message** (string) - **details** (string) #### 500 - In case of processing errors **ErrorInfo** - **id** (string) - **code** (string) - **message** (string) - **details** (string) ### Example Usage ```bash curl -X GET "/api/models/field-service-routing/v1/route-plans?page=0&size=100" ``` ```