Example – Route with sections using vehicle with raised axles
The following example considers a route in Brazil between the cities of Guaxupé – MG to São Carlos – SP, with two intermediate stops in the cities of Casa Branca – SP and Porto Ferreira – SP.
The vehicle used in the example will be a truck with five double axles. However, on the stretch between Casa Branca and Porto Ferreira, one of the truck’s axles will be lifted. Therefore, the amount charged for tolls on this stretch should be the amount of four double axles.
Next, we will see how to replicate this scenario in requests to the Toll API and Trip API.
Request
Request with Independent endpoint
The route in the example has 4 stopping points. Therefore, the legs
array must contain 3 objects, the first one referring to the stretch from Guaxupé – MG to Casa Branca – SP, the second one referring to the stretch from Casa Branca – SP to Porto Ferreira – SP, and the last one referring to the stretch from Porto Ferreira – SP to São Carlos – SP.
Within each object in legs
array, it is possible to define a different vehicleType
. Therefore, in the stretch with a raised axle we will use TRUCK_WITH_FOUR_DOUBLE_AXLES
and in the others we will use TRUCK_WITH_FIVE_DOUBLE_AXLES
.
The complete request can be seen below:
{ "legs": [ { "vehicleType":"TRUCK_WITH_FIVE_DOUBLE_AXLES", "points": "l}_aC`yb|GLELGDIBUKgAEW_AFMXc@|AbAd@[r@iAvCs@~Ai@nAQZ@VFJJLTNdFlQTr@Nn@J|@D^@h@@dBBh@B`@F\\QLHJ`ChH]^eA~@iFpE_B|AgB~AoD|C_A|@gClJe@vBId@Oz@Kt@Ed@?\\@HDLhBp@Pf@pEzKf@lA|@`Ch@nAL`D`@zFwSbBwHp@iDVe@@Y?SCOEQIa@WeBcD_@WGCI@E?IHCBAJ?FFZTd@|AlCrCfFbBvBvBpCxHdNn@nAt@dBf@vAZfAd@pBVtAVjBRjBLlBDpA@xAAvAMfC}F~u@e@tFSnBYdCwBfQCbA?hABlBLfB\\fCVrA^rAf@tAvNbZxB~EZ|@`@|Ad@|BLfAHbAF`ABfAAtBCx@Q`CKx@Kp@wAvFsFjSqDhNcCfJKNQf@m@vA[f@Wr@kAxEaAhGiFvRiFrRi@xBq@`Cq@hCY~@oBbHyAtFY`BOrAOdBGbBAv@@`A@p@Dt@NhBHn@Lr@Nr@^~ANh@d@jAhErJhAvCl@jBZlAT~@TdANfANtARzBLfBPdDLjBTzDrApXrAtUJtAV~BN~@Ll@Lh@h@xAVn@^r@tAtCXv@Rn@Jf@Hd@Bh@?z@Cj@C^]fB}AvG]nAOr@Gb@KlA?jABd@LhANl@L\\Xl@`@n@|EdGj@x@f@t@Zp@Tn@Pp@n@vD|AnMhFja@\\rBf@`Cj@nBvDnKzAnEn@`BjB`FNXJPTTvBjB\\^\\V`@Vv@`@b@XVNPNr@j@n@`Ad@z@Zn@l@vAxCvHf@lATd@n@|@TV^\\h@Zh@Tf@Pv@PpOdDvBh@r@Vf@Zj@d@d@h@^j@Vh@Tn@Nt@Hn@Fv@`@~HVtMBx@HhAJz@VdAXv@^dAdIvPVf@fGhMnAnC^bA`@fBHt@Fz@?v@Cz@Et@It@Ot@Sr@Uv@g@tAyE`Lm@fBs@rCOfAKdAClABfADdAJnARnAdApFpAzHRzAJlABhA@fAA`AGjAMdAShAWbAe@zAw@nByD~JaJzTeBhDaBhCgA|A_InKwDnFgEpFaD|EiBtCk@hAaAxB]|@c@jAa@nAYjAa@nBUvAgBlPoB|PYnCgBfO_BlNo@rG[bCaAhIyApM{AlNaBbNOfBCbB?\\Fv@Jz@Pt@\\dAl@nAPXf@h@`@b@v@j@hAl@xQ~Hn@`@hAv@h@h@`@f@z@fA?@h@b@TLXJ`AZlCNz@Jv@Nr@Pn@Rb@J`OvGrElBjBr@|C`AdCf@`C^hEZpCH`f@f@|BFvf@^fQPhp@r@rBJnBTtBVpB`@nBf@jBl@hBt@nI|DrSnJ`JfEd@VdF~BdD~AdEfBt@XbBj@xBf@`Dn@pANxAJpOt@nKj@pDNx\\dB|@DzBLpC\\vATfD`ArBfAnBpAbAz@vB`C|IlLfH~IzBxCrCtDlDpEpFxG~A|BxAfBp@p@pBbB~BhBrAz@dJlGj@f@VV`AjAZVj@`@l@\\|@r@hBtAxCpBpCbBr@h@p@\\xAj@pAr@l@`@xBdBd@b@l@n@|BtCfA|Ap@bA~BpEd@pA^bAh@lBfBpHhChJp@pBjAlClAxBfA`BdAtAzCjDtApAtFdEdF~DpEbDpEjDrHtFbP|Lb_@|XlO|KhLrIpPjMbHhFjA`AjL`KvApAjCdC`IbHhF|EbGxFhErEjDdDjVtTtLzKv{@nw@h@f@t@h@xA~@rAv@tCpAnAb@~Ab@zA\\dARhM`BvlAlO`DTx@?dAIfAS^K`A_@|@e@`kBiiAvEuCnAq@n@Wn@Sp@Ql@IxAKz@Ax@D~@JfARvAb@rDxA`m@vVla@rPxg@bTn[rMbPtGvDrAjCx@|Cr@zCn@jDh@vNtA`j@fFvu@`Ht_CrTvMnAfRbBxSpBbBRhdAtJjOzAl_CpTzGr@xGl@jb@~DlK|@`MnA`DVlNtAxsAdMfU|BjCN|Fh@|ATjEb@nIr@dXdC`MdAnTrB`E`@hEb@nK~@`XhCrAJjANxDx@dBf@|Af@~B~@t@b@nAp@|BzAd@\\tInH`J|H~PxNhOnMlGzF`DnCbA~@xJdI|RpPtT|Q~SxQdMlK|UfShCvBjCzBhAhAlQhOxAdAzA|@~Ax@|Ap@bBn@lBf@hB\\fBXlBNlBHnB?lBAlBIjBQjBUhB_@fBc@dBk@dcBwn@d`@uN~Bs@~Bo@lCm@zBa@pB[zAS`CUho@uEtz@cG~OiA|DYje@iDzCOf@Az@GT@^FZHHFFHFLR`@N^FNtAhBT^Th@Pn@J|@FbAVpN?TPtIHdKFt@BrBDzA@|@H~BHb@j@x@zAfBhD|DbClCtDjElBtBrDsFhC~CbEtEeE|EwBrC" }, { "vehicleType":"TRUCK_WITH_FOUR_DOUBLE_AXLES", "points": "pd{cCpxk~Gc@l@iApAuBrCl@h@b@e@`BjA|C|BdCsC~CkDrGbH~@hA`@|@J^tLiC^`@jB`CXb@xD|E|AvBnB`CXj@fArAjDhE^\\r@^pCpAbB^fBZ`Eh@`Ef@^FzIfA`BNtDR`@Dt@ZnBr@hCfBhFrCtAx@TDXBZ?x@tB\\dBn@nDDNNLPHLBfCHb@B^TnAjAtEbFXV|@t@rVzPRRp@|@|@jTtEdoAn@dN|EtoAzCxv@jI~xBpCrq@dAjWx@~S@d@Z~GNnEZnG\\bKJxFn@nOT|H\\`GPbGp@`Pt@rSn@lOfCfr@v@dSh@jPlHtmBbCpl@t@~UNtDPbDNhFXbGf@lM^pIn@dRx@bS|@vVCfBIvB?ZDtADXb@|BPnCP`EFpCJxBLjBNvC\\zDRlAVnA\\nAPl@\\bAVn@v@lB|AjC`AzAtCpD`D|EzDvGbG~N`DjLrB`MbAtHh@lE|Gbg@n@xF^vCxSd~AvSb_BlGld@rCdTdMj`AtHjl@~AdLvB`PPtAb@`D^`Dz@~Hh@jHRhDP~CPjER~HVfMvDpjBv@n\\jBz}@NtL`Blt@`@xTd@hUPbM\\dNxCfzA^vP~@xd@NjItAtq@RnL^|NAxCGbB]jDq@jD{@bCkB~DuAvByBpCJBJ@J?LFLJTZtCjJlAnDjC^NNDJBJAJ@JIZILMNm@Zc@b@sB`D{@hAeA`A?\\ANELUVr@PtEbAHBFF@HC^q@fFmAvIaCpISdAxGpAlFrAFJ~EvAz@Z~FlC~FjCr@\\jGpCPFRBRHF@l@HI`DOrDKrDdO^" }, { "vehicleType":"TRUCK_WITH_FIVE_DOUBLE_AXLES", "points": "`hkdCjiz`HeO_@g@dPOtCKfDSbDQtFKj@Br@BxCAb@?v@m@tYJ~@HtAFz@n@~En@xCx@lCx@xB~D|H|@bBfHlNlEnItHpNdGlLzIvPhKhSzGnMnBxD|OpZjBrDxAlCjA`CrB~DfBdDjCrFtBlDrAnCjElI`G`L`DpGfC~E~AfDvB~DtGlMrAhC|OpZP`@dDlGpD~GbArBtCxFz@`BxApC|ArC~@lBfArBzEdJfAtBz@|At@|AhA|BtClFlAfC~AbDrCbFtBdEx@pAfGnL|AbCpBpCtA~AdBfBrBnB`BpAtA~@xBrAbCrAjBz@hC`ArlAv^lAd@t@^dAn@l@Rx@JR@r@Jn@Jf@Rz@R~_@lLrDnAbBr@nEpBrEnC|A`AjA~@~@t@|@z@rF`Gp@h@b@h@tCrEz@hAf@j@|c@~n@lI`MzZ|b@^`AXlAHVJTJPZ\\fA|@b@h@bEbGp@pATj@Zn@h@r@VRnAz@n@l@v@v@n`@~j@dB~CXb@f@fA`@l@xA~A|ApBvDjFjhAx~AfJ`NrXd`@ns@|cAz\\xe@lKhOzDlFpBzBpAjAbCdBhAr@~BhAfAb@zBr@lCn@hUnDrEr@vDh@vAX`Bh@`A^fB|@pAt@fBxAvBfCrBbD~AvDr@bC\\fBd@~BhGdf@h@jE~DnZlA|Gj@lCj@dCv@~BlEzOrG~UtFfSnD|LfPvk@~AfGZtA`AjElAfGx@pE^zCfAhIdChVJpALjBjA|L`AdJj@dI|AxM\\jDTrBf@nDn@vD`@lBzCvJb@hA`BxDpI|SpGzNtKtWvG~OxMz[zFbNb@fAvJ~UZt@jL`YzK|WjApCjGhOV|@Jv@Hb@^bAHN~@jARZ^v@|Szg@dCxFnCvGpDbJjDdI|GvPlAtCvB|Gr@xA|ClHfBpEhBlE\\t@pBnFfDbIj@jAb@fAjBrF^vA\\`B|@zDXzATdB^rDRhCNnAHzAFxBD~CQbIQfDU|CUpBk@`Eg@nCa@nBg@tBUx@a@tAqAhD}CpHMf@yAhC}@pAeAbB{IfLe\\dc@iEzFmBtCoAhCg@lAk@dBi@zB_@fC_@jFCzA?rBl@hOHtDHxDBhBCxGCzCq@jb@BpDNlDHjAVvB^`CVjAZfBETCBGHM@[CsCA@pC?|NBjEB`@XlBN|@ATCPEJMPOPORKFYFQFWPIPY`@WRWLUDW@_@@uKUgBS{IoAkFq@iRmBwUeCka@iEoEi@}BIqCEeA@cBDeBLwAT{B^sBh@aARk@XeCfAqBbAcBfA}AjA}@t@aCpCcArAu@z@eSpXyAlBuApBuD`FsDxE}@jAsQrVgL~O_FlGgNdR}@`Bs@tAu@bBi@vAe@xAaAlD]xAaC`MeDlO_E`Q_@nBaBzHAB{@`E}@hEo@fCsBvJsDtPyBnJw\\t}AcOtr@eDjOeFpVeEvR}|@jdE}B`LsBfJgCtLk@|BcAnDeBvEgBdEeApBcAdBsClEcVz^k^lj@wj@r{@wJjOoCbEwEhHwuAfwBg_AjxAoPtVqCpEmC|DeBlCsA`BMDQAEAGEKQAK@IBIFKpDsEhA~@bAt@qCvFKJKDG@OEKIIMAW@IHWh@wAfJmN" } ], "source": "MAPLINK" }
Request with Trip API
In Trip API, in the toll
object you will need to add the following parameters:
vehicleType
– Type of vehicle to be considered on the route;variableAxles
– Array of objects, where each object must contain the following parameters:fromSiteId
– ID of the point where the new vehicle type should start to be considered;toSiteId
– ID of the end point of the section where the new vehicle type should be considered;newVehicleType
– Vehicle type applied only to this section.
Para esse exemplo, em vehicleType
definimos TRUCK_WITH_FIVE_DOUBLE_AXLES
. E em newVehicleType
definimos TRUCK_WITH_FOUR_DOUBLE_AXLES
para o trecho entre os pontos Casa Branca-SP
e Porto Ferreira-SP
For this example, in vehicleType
we define TRUCK_WITH_FIVE_DOUBLE_AXLES
. And in newVehicleType
we define TRUCK_WITH_FOUR_DOUBLE_AXLES
for the section between Casa Branca-SP
and Porto Ferreira-SP
.
The full request can be found below:
{ "calculationMode": "THE_FASTEST", "points": [ { "siteId": "Guaxupe-MG", "latitude": -21.3040646, "longitude": -46.713925 }, { "siteId": "Casa Branca-SP", "latitude": -21.771147, "longitude": -47.087627 }, { "siteId": "Porto Ferreira-SP", "latitude": -21.853608019457205, "longitude": -47.489747900635386 }, { "siteId": "São Carlos-SP", "latitude":-21.914103888100573, "longitude": -48.0435241019627 } ], "toll": { "vehicleType": "TRUCK_WITH_FIVE_DOUBLE_AXLES", "variableAxles": [ { "fromSiteId": "Casa Branca-SP", "toSiteId": "Porto Ferreira-SP", "newVehicleType": "TRUCK_WITH_FOUR_DOUBLE_AXLES" } ] } }
Response
In both cases in this example, the second object in the legs
array, which corresponds to the route between the cities of Casa Branca and Porto Ferreira, will contain the values for a four-axle vehicle. While the others will return the values for a five-axle vehicle.
Response with Independent endpoint
{ "legs": [ { "tolls": [ { "id": "1032", "name": "Pórtico - Sarmiento", "address": "Avenida Sarmiento, 4254", "city": " ", "state": { "name": "Ciudad Autonoma de Buenos Aires", "code": "Ciudad Autonoma de Buenos Aires" }, "country": "Argentina", "concession": "Ausa", "direction": "WEST", "coordinates": { "latitude": -34.5671991, "longitude": -58.4063059 }, "serviceTypes": [], "price": 2348.84 } ], "legTotalCost": 2348.84, "vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES", "condition": { "billingType": "NORMAL", "period": "NORMAL" }, "calculationDate": 1738861232000 } ], "totalCost": 2348.84 }
Response with Trip API
{ "legs": [ { "tolls": [ { "id": "1032", "name": "Pórtico - Sarmiento", "address": "Avenida Sarmiento, 4254", "city": " ", "state": { "name": "Ciudad Autonoma de Buenos Aires", "code": "Ciudad Autonoma de Buenos Aires" }, "country": "Argentina", "concession": "Ausa", "direction": "WEST", "coordinates": { "latitude": -34.5671991, "longitude": -58.4063059 }, "serviceTypes": [], "price": 2348.84 } ], "legTotalCost": 2348.84, "vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES", "condition": { "billingType": "NORMAL", "period": "NORMAL" }, "calculationDate": 1738861232000 } ], "totalCost": 2348.84 }