Synchronous Suggest
Changed onSynchronous suggest operation for low latency results.
Exactly one job in jobs may be left unassigned - that is the job being suggested. Every other job must carry initialResource (and normally initialArrival) to describe the schedule the new job is inserted into. Alternatively, one whole job relation may be unassigned, in which case every job named by that relation is left without initialResource. Any other combination is rejected.
Note that initialArrival is a sequencing hint, not a pin: the solver re-times already assigned jobs as early as the shift allows. Use windows on a job to hold a committed time.
Request
- Base URLhttps://api.solvice.io
- URLhttps://api.solvice.io/v2/vrp/sync/suggest
- AuthAPI key in header Authorization
Query parameters
Request body
Example request
{
"jobs": [
{
"name": "1",
"duration": 3600,
"initialResource": "1",
"initialArrival": "2023-01-13T09:00:00"
},
{
"name": "2",
"duration": 3600
}
],
"resources": [
{
"name": "1",
"shifts": [
{
"from": "2023-01-13T08:00:00",
"to": "2023-01-13T17:00:00"
}
]
}
]
}Response
Suggestions
Example response
{
"id": "0000-00000-00000-0000",
"status": "SOLVED",
"score": {
"hardScore": 0,
"mediumScore": 0,
"softScore": -12345,
"feasible": true
},
"trips": [
{
"resource": "vehicle-1",
"date": "2023-01-13T00:00:00Z",
"departureTime": "2023-01-13T08:00:00Z",
"visits": [
{
"job": "Job-1",
"arrival": "2023-01-13T08:30:00Z",
"serviceTime": 600,
"travelTime": 1800,
"distance": 15000,
"location": {
"latitude": 51.0543,
"longitude": 3.7174
},
"waitTime": 0
}
],
"waitTime": 0,
"travelTime": 3600,
"distance": 30000,
"workTime": 4200,
"serviceTime": 600,
"occupancy": 0.47
}
],
"totalWaitTimeInSeconds": 0,
"totalTravelTimeInSeconds": 3600,
"totalTravelDistanceInMeters": 30000,
"totalServiceTimeInSeconds": 600,
"occupancy": 0.47,
"workloadFairness": 0.95,
"unserved": [],
"suggestions": [],
"messages": [
"Solution found in 2.5 seconds"
]
}Changes
- breaking
the
queryrequest parametermillisbecame required - breaking
added the pattern
^(?!.*\$\{)[^<>"';\\\x00]*$to the request propertyjobs/items/initialResource - breaking
added the pattern
^(?!.*\$\{)[^<>"';\\\x00]*$to the request propertyjobs/items/plannedResource - breaking
added the pattern
^(?!.*\$\{)[^<>"';\\\x00]*$to the request propertyjobs/items/proficiency/items/resource - breaking
added the pattern
^(?!.*\$\{)[^<>"';\\\x00]*$to the request propertyrelations/items/resource - breaking
the response property
became optional for the status - warning
the
//request property's maxLength was set to255 - warning
the
//request property's maxLength was set to255 - warning
the
////request property's maxLength was set to255 - warning
the
//request property's maxLength was set to255 - warning
changed the pattern of the request property
//from^(?!.*\$\{)[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\\x00]*$ - warning
changed the pattern of the request property
////from^(?!.*\$\{)[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\\x00]*$ - warning
changed the pattern of the request property
////from^(?!.*\$\{)[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\\x00]*$ - warning
changed the pattern of the request property
//from^(?!.*\$\{)[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\\x00]*$ - warning
removed the optional property
////from the response with the status - warning
removed the optional property
from the response with the status - warning
added the new
DEPOT_CAPACITYenum value to the//////response property for the response status - warning
added the new
DEPOT_COSTenum value to the//////response property for the response status - warning
added the new
DEPOT_TIME_WINDOWenum value to the//////response property for the response status - warning
added the new
END_DEPOTenum value to the//////response property for the response status - warning
added the new
LOAD_COMPATIBILITYenum value to the//////response property for the response status - warning
added the new
MAX_DRIVE_DISTANCEenum value to the//////response property for the response status - warning
added the new
SAME_DAYenum value to the//////response property for the response status - info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
// - info
added the new optional request property
- info
added the new optional request property
///// - info
added the new optional request property
////////// - info
added the new optional request property
////////// - info
added the new optional request property
////////// - info
added the new optional request property
///// - info
added the new optional request property
// - info
added the new optional request property
//// - info
added the new optional request property
//// - info
added the new optional request property
//// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
added the new optional request property
///// - info
the request property
//became optional - info
added the new
DUTYenum value to the request property////// - info
added the new
TOMTOM_REAL_TIMEenum value to the request property///////// - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
////to the response with the status - info
added the optional property
////to the response with the status - info
the response property
////became required for the status - info
the response property
////became required for the status - info
the response property
//became required for the status
- breaking
- warning
the
//request property's min was set to0.00 - warning
changed the pattern of the request property
//from^[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\]*$ - warning
changed the pattern of the request property
////from^[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\]*$ - warning
changed the pattern of the request property
////from^[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\]*$ - warning
changed the pattern of the request property
//from^[^<>"';\\]*$to^(?!.*\$\{)[^<>"';\\]*$
- warning