@solvice.io/node-onroute-client-v2
v0.0.11
Published
OnRoute API Client in Node ==========================
Downloads
65
Readme
OnRoute API Client in Node
Based on the documentation in https://docs2.solvice.io/onroute
We have a hand-crafted API client (@solvice.io/node-onroute-client-v2
) for the OnRoute route optimisation API that is more memory efficient e.g. for large instances than autogenerated client based on openapi.
Installation
npm install @solvice.io/node-onroute-client-v2 --save
Usage
Define the client
const api: OnRouteApi = new OnRouteApi({ apiKey: "<api key>" });
VRP
Define a solve job to send to the solve endpoint. Look at the VRP model for more details.
const onRouteRequest: OnRouteRequest = {
resources: [
{
name: "R-1",
start: {
latitude: 50.33143445757114,
longitude: 4.46680382999848
}
},
{
name: "R-2",
start: {
latitude: 50.80390386353163,
longitude: 4.008342217510267
}
}
],
jobs: [
{
name: "JOB-1",
location: {
latitude: 49.19208799134116,
longitude: 3.797771384715825
},
duration: 3600
},
{
name: "JOB-2",
location: {
latitude: 50.32455988277252,
longitude: 4.000507270687638
},
duration: 3600
}
],
options: {
partialPlanning: false
}
}
Send onRouteRequest to the solver and fetch the solution.
// send to solver
const statusJob: StatusJob = await api.solve(onRouteRequest, 60);
// job has started solving
const startedSolving: StatusJob = await api.pollSolving(statusJob.id);
// job is solved. return solution
const solution: OnRouteResponse = await api.pollSolved(job.id);