Documentation for VERSO route optimization API to solve vehicle routing problems.
[lon, lat]
job
schema), a pickup or a delivery (see shipment
schema).Our two endpoints cover different use-cases:
solve
computes a solution to the provided vehicle routing problem, deciding how to assign tasks to vehicles and order routes to match all constraints while minimizing costplan
ingests a set of pre-ordered routes and outputs ETA for all tasks in a way that minimizes potential time window violations. Constraint violations are reported for all routes so this endpoint can be used to evaluate the validity of any solution.The available fleet is described in input using vehicle
objects. The geolocated tasks to perform can be either described as:
job
objects, modeling an operation taking place at a single location
shipment
objects, modeling a typical pickup & delivery situation with two locations (pickup and delivery happen "en route", in the same route and in the right order).
Both jobs
and shipments
arrays are optional and any mix of task types is allowed.
Array of objects (job) | |
Array of objects (shipment) | |
Array of objects (vehicle) non-empty |
{- "vehicles": [
- {
- "id": 1,
- "start": [
- 2.35044,
- 48.71764
], - "end": [
- 2.35044,
- 48.71764
], - "capacity": [
- 4
], - "skills": [
- 1,
- 14
], - "time_window": [
- 1600416000,
- 1600430400
]
}, - {
- "id": 2,
- "start": [
- 2.35044,
- 48.71764
], - "end": [
- 2.35044,
- 48.71764
], - "capacity": [
- 4
], - "skills": [
- 2,
- 14
], - "time_window": [
- 1600416000,
- 1600434000
], - "breaks": [
- {
- "id": 2,
- "service": 300,
- "time_windows": [
- [
- 1600423200,
- 1600425000
]
]
}
]
}
], - "jobs": [
- {
- "id": 1,
- "service": 300,
- "delivery": [
- 1
], - "location": [
- 1.98935,
- 48.701
], - "skills": [
- 1
], - "time_windows": [
- [
- 1600419600,
- 1600423200
]
]
}, - {
- "id": 2,
- "service": 300,
- "pickup": [
- 1
], - "location": [
- 2.03655,
- 48.61128
], - "skills": [
- 1
]
}, - {
- "id": 5,
- "service": 300,
- "delivery": [
- 1
], - "location": [
- 2.28325,
- 48.5958
], - "skills": [
- 14
]
}, - {
- "id": 6,
- "service": 300,
- "delivery": [
- 1
], - "location": [
- 2.89357,
- 48.90736
], - "skills": [
- 14
]
}
], - "shipments": [
- {
- "amount": [
- 1
], - "skills": [
- 2
], - "pickup": {
- "id": 4,
- "service": 300,
- "location": [
- 2.41808,
- 49.22619
]
}, - "delivery": {
- "id": 3,
- "service": 300,
- "location": [
- 2.39719,
- 49.07611
]
}
}
]
}
{- "code": 0,
- "summary": {
- "cost": 25093,
- "routes": 2,
- "unassigned": 0,
- "delivery": [
- 4
], - "pickup": [
- 2
], - "setup": 0,
- "service": 2100,
- "duration": 25093,
- "waiting_time": 0,
- "priority": 0,
- "distance": 336875,
- "violations": [ ]
}, - "unassigned": [ ],
- "routes": [
- {
- "vehicle": 1,
- "cost": 9768,
- "delivery": [
- 2
], - "pickup": [
- 1
], - "setup": 0,
- "service": 900,
- "duration": 9768,
- "waiting_time": 0,
- "priority": 0,
- "distance": 105045,
- "steps": [
- {
- "type": "start",
- "location": [
- 2.35044,
- 48.71764
], - "setup": 0,
- "service": 0,
- "waiting_time": 0,
- "load": [
- 2
], - "arrival": 1600416000,
- "duration": 0,
- "violations": [ ],
- "distance": 0
}, - {
- "type": "job",
- "location": [
- 1.98935,
- 48.701
], - "id": 1,
- "setup": 0,
- "service": 300,
- "waiting_time": 0,
- "job": 1,
- "load": [
- 1
], - "arrival": 1600419878,
- "duration": 3878,
- "violations": [ ],
- "distance": 37383
}, - {
- "type": "job",
- "location": [
- 2.03655,
- 48.61128
], - "id": 2,
- "setup": 0,
- "service": 300,
- "waiting_time": 0,
- "job": 2,
- "load": [
- 2
], - "arrival": 1600421189,
- "duration": 4889,
- "violations": [ ],
- "distance": 52542
}, - {
- "type": "job",
- "location": [
- 2.28325,
- 48.5958
], - "id": 5,
- "setup": 0,
- "service": 300,
- "waiting_time": 0,
- "job": 5,
- "load": [
- 1
], - "arrival": 1600423266,
- "duration": 6666,
- "violations": [ ],
- "distance": 75049
}, - {
- "type": "end",
- "location": [
- 2.35044,
- 48.71764
], - "setup": 0,
- "service": 0,
- "waiting_time": 0,
- "load": [
- 1
], - "arrival": 1600426668,
- "duration": 9768,
- "violations": [ ],
- "distance": 105044
}
], - "violations": [ ],
- "geometry": "c{ihHcejMDb@~AfO~AlNHvAL|A?nAM|AS~@c@jAu@hAw@d@i@Pu@Bq@EkAa@qEgBgBs@i@S?q@s@oGe@gEy@eI[mCEQCIg@YKAIBGH]|AERCV?RDdAVdEDx@Fx@u@_@c@Y]WQa@OWGOKB{@a@KAG@QBSEaCyA\\iB}D{B_@jBOx@w@bE{FnZUfA[rACNEVEn@@j@@b@DZF`@vMvh@|H|Z@NBj@@RJb@J\\FPXZDHxHtZFRxFfJp@dAZl@DPFXJ~@|@nIz@~H^fD\\fDTrBFj@@ZB^@`@?^?^A^Cd@CZE`@G\\GZGZIZKZMZMXKTOVOROPOPSPg@^iAv@x@|CF^AZAPmDaA{@QkB]g@OYIuAi@QGy@UcEgASGkB[w@UqBs@aAYa@Q]O]S]UWUWWY]Y_@e@w@[s@Yu@k@kBa@uASiA[{AAYAY@WEWGOIIKEM@KDMPEX?TBRHPJHJBR^Tj@LZX~@|@vCTvAb@bAt@x@f@p@f@h@f@^l@^b@RjBj@TJbAf@~@V`BPTFfG`BNDzAr@z@VnBTpHpBp@Vf@TXLd@LxCr@LBxCp@`Cb@n@Fp@ElBk@r@ONB^VLVPPTJZ?XMPSLYH_@@_@Zq@RWRW^a@d@e@f@g@`@St@QpAWdBYh@?b@FZHh@X\\^\\`@P^DTLj@?JIp@Kd@Q^u@xAW`@q@x@a@p@S^a@|@GJENOl@KXeApBGNEPEPAPAX?L@P@NDZHZBFBT@P@P@R?XA\\A^O~CM~BKdBCf@M~AqBxZKvAeApOGdAcB`WKxAIhAm@`JIhAC`@i@lIo@rJ_AvNMp@}@tMOnB_ApKiAdKsAfK_BvKMnAu@xEi@hDk@pCkAtFyAhG_A`EkAlEkCvJ}BrIeBlGuBhHk@jBM`@Op@Mf@YxAk@rCe@rBg@dCQr@c@vAuA|Ee@bBy@xCu@zBwAbE_BbF[bAkAjEa@~Ae@xBUpBM|AMtAQxCAn@?pB?`CBn@PfDVlCXpB\\dBp@zC|@~CtBlGtBlGpBpGl@|Bh@fBl@dCx@nDpAjIj@dETvBJp@ZhE@H@RJ~@H~ANjDDlB?F@JBjABbE@pA?d@@V?R@X@VB\\NdAPx@\\dANh@FRFP@JDR@NDVBV@N@N@V?\\BR?TCdDK~JCjCAbBAZ?VCd@AhAI~DC~@Cf@A\\Ej@IvAEp@Gp@K|AGf@Ed@_A|DwA|Fe@tBWdAOl@q@dDk@hCCNERI^ETQhAQvAMfBGjCObLObLQbDKz@WlBc@bBu@xBKXAFA@Sj@ER}@`DwAjEmCjGmAnCcAzB{AlD}AlDq@vBi@vB_@bCW~AY~As@hCq@~AqAbDg@tASj@Sh@i@jC]pBWvAc@bCc@~BY|BCd@AXCj@?v@@hA@JDhABv@BpAFzB@h@@`@?HB~ADhB@ZHfGFjBFdA^lERlCFnA?V@d@C~@?h@?X?l@Ef@E`@CVId@GXADENKBMHILGNCRATMZYd@e@|AAHId@c@xCE\\UnAU~A_AfG[rBk@jDgA~GSxAKnAMfCOfFCfAGvB?jB?xABvA@|B@hBDhC@n@Bl@Bn@Fn@\\vD`@hD\\`D`@tDFh@Hl@t@bIVjCh@rCNbBXnCZlCLdBHhB?~DA~G@jBBnBBxCBjADvEDxAHzCB`A@bA@jB?p@Ap@IrDU|H]xF[fFUvAEVM\\ENKFKLGNEPCX@XH\\DNBj@?ZUdCa@nCO`AQdBQlBGn@a@tEi@jGo@hHk@tGQvB[lDu@nIUfCUpCInAGbAGlBC`AAlA?`B@bC@hBDnBDbB@zAAx@E`AEp@C`@Ej@Gv@KhAMjAMdAOz@[jBOv@Yf@Kd@?`@Y~AAHAJEZHF^ZJJh@f@\\^X`@DHR\\Nd@Nz@@FBp@K`JCp@Cl@EZETcAfGYbBAFCJG\\c@fBq@lCG^EZ?^?V@XB^F\\HX^|@Lb@BT@P?P?TATCJCLCHEHGHIDIF]NUJIFKJEHGNCJCF?HCN?JALAF?F?D?B@D?@@D@B?@BDBDHHFBFFHDfAf@d@Rr@XPDLBpATD@H@L@PBPCNC\\GLGVMBAr@a@l@a@TS^_@d@o@pAeB\\YZM`@Kb@APDVLXF\\?`@CXKZW^_@bB_Cl@s@`@Wd@Qr@MZ?d@H^Nd@Tf@N`@Dn@?XBVJZXHFNTL^N|@R|ABPBT`@bEP`BD\\@XBZNtANp@Vn@Zb@|AbBLJRPrB`AJDHBjAf@rAh@HDHDf@Td@RpAh@HDHB\\L`@RTLDBFF@JDLHNLFH@HAFEHINF~@XrChAb@N@@HDjBr@jBr@fC~@d@V|Ah@RHLD\\L^Nx@XRFRD^B~@Td@Jb@F`@RXHNDXDZFjDj@lA`@f@Lf@@hACx@GNA\\OZUx@o@HCFAP@LBNLJLlBnFV~@Dj@@r@An@e@xGEzBRjERxDJp@l@|Bx@tBzBnD`ClCj@p@DFr@v@dAjALJDDHDAH?F@H@DDDDBAFAL?h@Cf@G\\G`@AHA^Bn@??Fh@J\\^~@HJFL@DJP?@DHDH@NBLBH?FBFAD?B@D@BB@@@BABAD@RHDDT\\LPDFLTLNBDBBV^BD?BLX@D@BHVVp@N^DLNV\\NR@xA?ZBL@XDjANj@JXBB\\@^DTHXLVPZLTHVFZHhAT~Cl@hFNlADd@@`@@VAT?HAn@E|HCp@Cf@Kn@ObAIh@Gp@?j@I|E?tDCzFCjB@\\@ZFd@l@lELdABR?B@LDf@LxBF|AFtA@x@?n@AZCf@?PSzCMjCIdBAjAC~BAlB@jABtABx@?t@Cz@InAEbA?F?PAd@?lACf@G\\Ml@iAxDSh@U~@GX]hBKb@Kb@KXKPOPSPOLMNKPIPEVAJCNAZ?^?J?VAFAZCd@KdAQtBGz@OhAIl@Ih@CNId@Eb@AREfBCr@Ab@AJAFCAE?C@ABCD?DE?_@AS?O?a@@g@?Q?i@C_@Ee@OYOMBwCp@k@JKFABGHFTHPrAhBZh@LXHf@Lx@HfAHlBLxC@XBRFXRz@FTr@xCNj@Nj@Rv@FRFPPl@L\\J^Xr@DLVh@~ArD@Bj@vARf@Z|@Lt@Fj@Dh@B|@C`AKvCGnBEbB@~AFdBTtF@vB\\`QHbG?RP`D@DT~ABTBN@VBj@?r@G`DBrCApACh@?NI^St@Un@Sf@Kt@GbAAVE~A[rOCd@E`@Gd@oArKmC|Uq@bGu@dGc@jCWnAoEtUCRALRhW@PBfDB|EBVR~@@R?L?NLPJVLj@Ll@HVJ\\Vv@HZPb@pAbCJRFJLVHNRZXXd@N^PVR\\XDBHFFHHNHPZ`ARn@P`@NXJLNPRLLHbAt@BE@GDMLwAXHYIMvAELAFCDFFHHZ^V`@n@jAr@tA^v@T`@v@~Af@|@RXPNXTfAp@n@^fAl@hFzC^TpEjCr@b@NHpAt@vBpAbE|BbCvAxBpA|BlAxPbIp@Xn@TBGZs@Vu@R{@tAqG`AoDHQBGj@qAlBcD|AeDPe@j@uAPg@\\{@JSLQPMRGb@I`@G\\AJ?v@?tA@h@?\\At@Gl@Ab@?vACd@Oh@SfCeAjB{@t@Sz@]p@Sl@Cb@BlAb@|@XZ?\\KfAaArAwAzAiCbDmGdAqBv@gApA{@lDyB~@m@y@gCe@cB_@_BG]Mu@BCb@_@vDeEZYTMXMZEJ?P@d@JzBv@bNrEz@PD?x@LnGn@bFf@X@?J@JBHDFDDF@H?FEFIBK@K?MCKEIGGZgBt@cElBcLlK_m@@EjFkZhHca@j@eDDQLw@rE}VH]VgAd@aBv@gCBI|Reo@|@wCr@kBl@kAb@o@x@kAbBqBnEwFvRgVlBaCh@o@h@{@d@aAJYRo@T_AXqAp@yDz@{EPsALsAx@yIHw@L{@Lw@P_AlD{ObBaIXiAVq@h@aAd@cAPa@Pu@Ho@rAf@XLZRb@`@JLj@b@^Tf@X^N\\LfA\\~@T`@L~@\\z@b@\\Rp@^RLh@V`@Nl@Rn@V|@^|@X\\Jb@NTPPXJRVf@LTLTNXTVPFVFZFTDVLVVb@b@h@j@j@l@x@z@x@|@j@j@b@^n@f@|@r@`@XtA~@dBhAxA~@fBlAtClBtA|@zAdAjBlAv@h@z@uAT_@PULYAe@?a@@K?QBWBKFUr@}@JSRYFQJc@PgAJ}@Fu@Do@AQCq@?YBg@BWJ_@FONMJGL?XAD?N@PCNCNGJQDGb@iABGDKTk@t@yBl@oBBIRm@\\gAPo@^qAV{@J_@VaANw@BMJ]?Ez@jAbChDlAbBn@|@`@l@`@j@Xb@V^Xf@NX\\t@p@|Ap@zAn@zA`@jAZ|@Vx@t@~BRl@L\\`@~@Rb@Xj@RZXh@NTb@n@Zb@d@j@NPXXTVb@`@TPd@\\XTXPXPXN^RVLXJXJ`@N^Jz@VjAb@^PjAZr@PLBf@LdAZh@Nl@Ph@Pb@L`@Tn@\\^Tj@`@LJt@x@f@d@Z^VVl@v@PXDSBGDKNe@L_@Ty@|AuF~@qEdGrEv@pC|BcB@mBMePbHwB????cHvBLdPAlB}BbBw@qCeGsEdA_Dd@iBtAsFr@kD|@qDz@{Cx@iCVe@HQ\\q@HQjH}MbByCv@iBj@sAtByDp@sAVa@HOFK^e@HKVUfA_AlAsALObBkAXQ|BuAb@Yn@e@LIhA{@fB{ArAgAvAsAxBmBVUVUzM{NROn@u@j@s@jCmCbDkDZ_@~A_BPQj@i@rBkBLKRW|EmEtAgBtAiBtAgBJMt@iAXY`AeAfAaAfAoAFEBEBDFDD@D?D?BABC@G@ICIAEDCHELKXM^MRGv@UxBk@LEFCDC@CBE?GHcBTeCHkA@kAC{@E}@q@aEe@gBI_@E]CkACw@IiEAw@B[@ODKf@u@^c@POPGXKtASx@IjDUHAfAI`@Ib@Mb@Wb@]f@u@P]Ne@dBeGJ[zA}Ex@sBv@wBp@gCn@gC|A_Gn@aCp@oBdCaG~@_CZ_ATgAlBuI~AwEjBeEx@kCvAmGpBgF~CcI~CiGBEvEaItAaC~AuE^s@`@o@tAcBT_@Pa@z@mCfAeCDM?WGeD?_A@ODc@RFlAT?w@B_A@Q@[Bi@HuBBy@@_AAq@KyAEa@Os@YgBI{@@mABeADe@RaBnAgEv@wDNmAJuAH{AByACkBIcCYgEIyACqA@qA@mFA{@Au@CaA]aFy@iMkAsREu@k@cH[kESuBQwCQwB[yKu@_WIwOGeK?}@G{A?i@Cs@@_@FMBQ@SCMCKCa@Cw@A{A?e@@g@FmA@e@?WA_@Ac@Ea@Gm@Gy@Iq@OaBCY[eCYkBWqAWiA_@cB]{A]_B_@uBQq@Sg@Ug@c@}@GK{@kBkB{DWg@k@iAc@cAUi@Qo@Os@Ks@Ky@IoAKkCKaDC}@KyDi@mOEmA[mI[}Ja@cMEiA]sJC[EkAAu@Au@Aw@B{D?uB?eA?oAEuAEmAGsAIy@OaBQqAUaBSuAoA}HKiABg@Ha@HGHMFQBU@UCSESIQMKKa@[s@kAkDc@eB]cBYkBUkBSsCKmDGmFAwAE_BIgAWwCOwAQgAUiAk@_Ce@cBs@yBwBoGuAoEa@yAYgA[}AYaBQiAUcBYsCg@oGYaEa@mEc@eEYsB]wBa@qB]yAi@wBu@oCgCuImFkQ]uAk@aCEY?YDU@]E]IWMMMEKAK@OGKSIa@Mq@Uw@Uu@Yk@mCaJgCqIg@cBe@}Aa@cBa@kB_@sB]gCOcBM{AIsBIqBIyDK_GSgJHmBBsAB{@Bk@Fs@Fi@H_@NIJSBUAWESKMGuAKoBKyBIy@My@]}Ai@eC]uAi@{B_AeEg@qDu@kGM{@[qAUq@[m@e@m@OQYS]Oi@O[Gm@AsC@[I_Aa@_@s@KUGOE[IYKUGo@?WBc@Fi@n@sJVuDDu@`@eGf@aHT}CFs@Hm@L_AN}@Ps@Nk@Xo@V_@@E\\?ZKTYPc@Dg@?m@Ig@F]DQHMLGTCl@?RAZE`@I?OCK?OAADK?e@?cA?sB?eA@YBSFUl@yBdAuD?W?OAOEMEMe@k@g@q@MQc@k@EESYCQCSAW?W?_@@YBSDSXiAHa@Lu@@M@KHy@@_@@g@@UDQFQHMTYT[`BsBFKLQbAoAZk@RNNSz@}AJQR[FMFODKBM@M?MAMAQGc@Gi@E_@E[Ok@CQC[AWAOAS?Q?i@@k@AOAa@Cc@Ca@Ga@Q_A?M@O@KDKFGZYRSNQRYRSXm@La@lAkCRc@~@uBRk@YY{C}CK[C[@I@KAKAIEGEEEAOSSWQc@I]w@sEKy@Gy@EcAA[AWA]W{DCQAk@BqCDqD?k@Ba@FcDAg@@i@BoAFoA@e@@_@DUB@BABCBC@E?E?GCEAECAEAC@COAKKcAAMEYAm@EuAAoBCcAKgB]cD]sDQoAY_BYwAEQWoAI]Qo@Qm@IYG]CM?ECUAQAIA[?[A[@s@A]AiAA[Cg@EWE[BCBC@G?EAGAECCCAE??QAk@Au@AQGsB?IGyAGgAGi@E]Km@Og@Us@a@mAUo@Mk@Ka@UqAKc@Oy@EQEUEe@Ea@Y{BU_CIk@Im@Ie@GYS_A]aBAKQy@]aBc@iB_@eB_@oAESYkAEO[gAu@cCQq@GUk@oBc@{AQ{@Jg@XyBXsBBSHYT{AHo@@M?G?UDSDKDGFGQIWI]Qe@UMIcB}@sAu@GEEIAS@_@Bo@Bg@Ba@BYD]DYHe@BMF[L{@DWLg@Pw@z@}DFYZqALm@FWWMYO}A}@q@a@y@c@]Q_@Ok@OAAOOCOCKGIIEGYCM@sB?q@?G@gA?[Aa@Cs@Cm@SsAYmAS}@ESOk@EQQg@Uy@_@{@e@cAMYOYOWwAgCWe@Q]Q]q@aBAU?OBEBGBK@K?MCMCKGGGEGA?S@WBw@BsAJ}E?YAWEQISeBkDu@}AFIBI@G?M?KCMCIKIl@_D`@uBF[L]Ne@Xi@HAHEFKBM@MAKAKEIEGG]E]?_@B_@D]H]JYl@gALMLIHE@@J?HCBCHO@CBQ?SEQIKKGK?MFGJQAMAYOg@SYU]]U]Ug@g@_BKCi@sBWoAWqAOcAOeA]oCa@mCE]a@uB_@iBk@wBm@sBqFePSk@cFeOkD}Jk@oBi@uBc@mBc@aC_@cCi@kEqAmK_DmWYyBWuA_@_BUcAa@oAk@{Aa@aA[q@Ui@M]KUGMMQe@q@_@e@KMKIa@YYUWUk@e@m@g@oCmAi@S_@Ia@K]G_@E_@Ga@CaAGoBMsBMwEWyEW{AIkE[aAGaAIuEy@IQKGKKIOGSCWAW?[?UAQE[IUKQOMICMCM?MIIIEIEMAOAO?g@E]PyDLqBNwBLcBh@}GJuA|AqRX{D`@sFVmFPmG^sSLcHBw@BeBTgONsKJcFJwDJmCR_EPsCZeFLqBHeBHmBBcADsB@wAAo@CeBGuBEmAIiAGaAK_ASaBOgAIa@Ms@_@sBe@aCu@wCmCwJs@oC_BcGg@uBa@kBYoAQw@Uy@Oi@Qa@Uc@Wa@[e@Y]SQWOUOm@We@K_@G_@Aa@@]B_@Fc@L]Ng@TYJQJw@Vc@Jg@Ha@Bg@?e@?q@Gk@GmAOMCQEMGOKMKMOOSWe@Yk@M]QMY{@Oo@Qw@[yCI_AIk@IOSaB{@yFAMOo@GCGOOSQQOOUOQIQEO?O@QFQFQLOPMPMXKXI^G\\EXCXA^A~@?pAEL?jCCx@Gh@Gd@GZK`@O^[t@}@rBmEnJ_BvCgBhD}@|Ay@rAyBlDm@bAuAvBcAbBgHrHkAlAsGxGyP|P_QdQkHjHiHhHkDdDqJhJ{BtByBvBu@x@s@v@w@~@uAdBi@t@i@t@k@x@g@x@e@r@c@r@_A`BwAlCyAzCuEvJwExJyDfIoAjCiHlOgCnF}@jB{@hB{@hBYp@u@hB_@fA]dAW~@WdAWhAUfAQdAQbAY|BYfCa@fDa@fDa@jDIx@QdAOhAQlAWtAY~ASbAS|@S`Am@zB[hA]jA_@lA_@jAk@zAq@bBy@jBsBpEk@rAm@rAi@hA_@t@a@t@q@lA{@rAi@v@e@j@wAfBoFpGeAnAwBjC}@lAk@x@k@~@y@xA}@jBo@zAk@zAgAzCqArDo@hBmCrHYt@g@nAu@`B[j@]n@c@t@e@v@e@p@q@|@_@d@m@p@mAnAe@d@c@\\qN~KiBvAcJhHuGlFg@`@kLjJsC~BaF~Dy@r@wAjAoAlA{A`BkAtAiAxAsAjBaA~AuDpG{D~GiLbSkFhJmD`Ge@r@k@z@i@l@q@t@k@j@e@^i@b@m@`@_Ah@o@X{@\\m@Rm@Nk@J{@L]Dm@DaA@oAMUCe@Ia@IkA]uCcAc@OQKMISMSSSS_@c@]g@W{@EQAKAKAM?I@M?O@MBKBKDOXs@Va@t@yAP_@XYPKFBF@H?DCBAHIDKBQ@KC[ACEKEEAEKEK?_@QQQa@k@]_@m@a@e@Sq@IS@U@gARwBZeATm@f@e@p@k@p@SJSBa@?QUSKUEYDUNQXK`@a@r@KL[NaCp@[Da@A_@EeAYiB_@gCq@qBe@yCw@cBe@@Q@[G_@y@}ChAw@f@_@RQNQNQNSNWJULYL[J[H[F[F[F]Da@B[Be@@_@?_@?_@Aa@C_@A[Gk@UsB]gD_@gD{@_I}@oIK_AGYEQ[m@q@eAyFgJGSyHuZEIY[GQK]Kc@ASCk@AO}H}ZwMwh@Ga@E[Ac@Ak@Do@DWBOZsATgAzFoZv@cENy@^kB|DzB]hB`CxARDPCFAJ@z@`@JCFNNVP`@\\Vb@Xt@^Gy@Ey@WeEEeA?SBWDS\\}AFIHCJ@f@XBHDPZlCx@dId@fEr@nG?p@h@RfBr@pEfBjA`@p@Dt@Ch@Qv@e@t@iAb@kAR_AL}A?oAM}AIwA_BmN_BgOEc@"
}, - {
- "vehicle": 2,
- "cost": 15325,
- "delivery": [
- 2
], - "pickup": [
- 1
], - "setup": 0,
- "service": 1200,
- "duration": 15325,
- "waiting_time": 0,
- "priority": 0,
- "distance": 231830,
- "steps": [
- {
- "type": "start",
- "location": [
- 2.35044,
- 48.71764
], - "setup": 0,
- "service": 0,
- "waiting_time": 0,
- "load": [
- 1
], - "arrival": 1600416000,
- "duration": 0,
- "violations": [ ],
- "distance": 0
}, - {
- "type": "job",
- "location": [
- 2.89357,
- 48.90736
], - "id": 6,
- "setup": 0,
- "service": 300,
- "waiting_time": 0,
- "job": 6,
- "load": [
- 0
], - "arrival": 1600420485,
- "duration": 4485,
- "violations": [ ],
- "distance": 67735
}, - {
- "type": "pickup",