Verizon Connect Integration with NB.ai’s Route Optimization API
Introduction
Verizon Connect serves as a comprehensive fleet management software, empowering fleet owners to streamline their operations. Tailored for businesses with mobile workforce requirements, Verizon Connect harnesses GPS technology and telematics data to offer real-time insights into various facets of fleet management. From tracking vehicle locations to monitoring driver behavior, fuel consumption, and maintenance needs, Verizon Connect provides a holistic solution for optimizing fleet operations.
Nextbillion's Route Optimization API offers businesses accurate and efficient route planning, helping them save time, reduce costs, and enhance customer satisfaction. The API offers over 50 custom parameters that can help businesses to manage their fleet operations as per their requirements.
By combining the capabilities of Verizon Connect and Nextbillion's Route Optimization API, businesses can revolutionize their operations on the field and stay ahead in today's competitive market.
Prerequisites
In order to successfully integrate Verizon Connect with NextBillion.ai's services, certain prerequisites must be met. These include:
-
Access to the Verizon Connect Developer Portal
- Ensure that you have the necessary credentials to access the Verizon Connect Developer Portal. This platform serves as the gateway to initiating the integration process seamlessly.
-
Reveal Integration User Credentials
- You'll need a Reveal Integration user account, complete with a username and password. These credentials are automatically shared with you via the Reveal Marketplace, streamlining the setup process.
- For detailed information regarding Reveal Integration user credentials, refer to this link.
-
NextBillion.ai's API Key
- Acquire a valid API key from NextBillion.ai, which acts as the authentication mechanism for connecting your Verizon Connect Field Service instance with NextBillion.ai's services.
- This key establishes a secure and authorized communication channel between the two platforms, facilitating seamless data exchange and integration. Contact support to get your API key.
Verizon Connection App
To integrate with Verizon, follow these steps to build a connection app within the Verizon developer portal and establish a connection using REST API queries. Refer to the official documentation for detailed steps.
- Create a Verizon Connect App
Navigate to the Verizon developer portal and create a new app dedicated to your integration.
- Retrieve Authorization Token
Use Postman to retrieve the Authorization token by following these steps:
- Refer to the detailed instructions provided here for a visual guide.
- Once obtained, store the access token securely for future use.
- Test Connection via Curl Requests
- With the access token in hand, proceed to test the connection by performing curl REST API requests.
- Use standard curl commands to interact with the Verizon APIs and ensure the connection functions correctly.
By following these steps, you'll successfully establish a connection app with Verizon for your integration.
Integration Steps
Step 1: Pull List of Vehicles from Verizon Connect
In this step, we retrieve vehicle data from the Verizon Connect account. The objective is to pull a comprehensive list of vehicles that provide essential details for further analysis and optimization.
API Request
Use the following cURL command to retrieve vehicles data.
1 2 3
# Fetch Vehicles from Verizon Connect curl --location 'https://fim.api.us.fleetmatics.com/cmd/v1/vehicles' \ --header 'Authorization: Atmosphere atmosphere_app_id=[Verizon Connect App ID], Bearer [Authorization Token]'
API Response
The following API response represents information about vehicles retrieved from Verizon Connect.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
[ { "Name": "GPS History Vehicle 7", "VehicleNumber": "1007", "RegistrationNumber": "1007", "VIN": "1FAFP40664F177257", "Make": "Ford", "Year": 2004, "Model": "Mustang", "TankCapacity": 59.43, "HighwayMPG": 8.11, "CityMPG": 11.76, "FuelType": 0, "VehicleSize": 0, "HasNavigationDevice": false }, { "Name": "GPS History Vehicle 9", "VehicleNumber": "1009", "RegistrationNumber": "1009", "VIN": "MMAYNKK40HH005494", "Make": "Mitsubishi", "Year": 2016, "Model": "Triton", "TankCapacity": 75.0, "HighwayMPG": 13.0, "CityMPG": 13.0, "FuelType": 0, "VehicleSize": 1, "HasNavigationDevice": false }, { "Name": "GPS History Vehicle 11", "VehicleNumber": "1011", "RegistrationNumber": "1011", "VIN": "MMAYNKK40HH005413", "Make": "Mitsubishi", "Year": 2016, "Model": "Triton", "TankCapacity": 75.0, "HighwayMPG": 13.0, "CityMPG": 13.0, "FuelType": 0, "VehicleSize": 1, "HasNavigationDevice": false }, { "Name": "GPS History Vehicle 21", "VehicleNumber": "1021", "RegistrationNumber": "1021", "VIN": "MMAYNKK40HH005416", "Make": "Audi", "Year": 2016, "Model": "A1", "TankCapacity": 75.0, "HighwayMPG": 15.0, "CityMPG": 13.0, "FuelType": 0, "VehicleSize": 1, "HasNavigationDevice": false }, { "Name": "GPS History Vehicle 26", "VehicleNumber": "1026", "RegistrationNumber": "1026", "VIN": "MMAYNKK40HH005412", "Make": "Abarth", "Year": 2016, "Model": "Triton", "TankCapacity": 75.0, "HighwayMPG": 13.0, "CityMPG": 16.0, "FuelType": 0, "VehicleSize": 1, "HasNavigationDevice": false }, { "Name": "US_Live Reporting_8_ECM_PTO", "VehicleNumber": "108", "RegistrationNumber": null, "VIN": null, "Make": null, "Year": null, "Model": null, "TankCapacity": null, "HighwayMPG": null, "CityMPG": null, "FuelType": 0, "VehicleSize": 0, "HasNavigationDevice": false }, { "Name": "US_Live Rporting_9_ECM_PTO", "VehicleNumber": "109", "RegistrationNumber": null, "VIN": null, "Make": null, "Year": null, "Model": null, "TankCapacity": null, "HighwayMPG": null, "CityMPG": null, "FuelType": 0, "VehicleSize": 0, "HasNavigationDevice": false }, { "Name": "MY VEHICLE", "VehicleNumber": "GDA36475-dousuniecia", "RegistrationNumber": "123333", "VIN": "5YJXCDE26LF250128", "Make": "MAKE", "Year": 1990, "Model": "MODEL", "TankCapacity": 0.0, "HighwayMPG": 0.0, "CityMPG": 0.0, "FuelType": 0, "VehicleSize": 0, "HasNavigationDevice": false } ]
Step 2: Pull Work Order Records
In this step work-order records are fetched and mapped to the jobs
and shipments
parameter of NextBillion.ai’s Route Optimization API.
Users have the following flexibility to source work order data:
-
Pull from Existing Application: Users can extract work orders directly from their existing application and integrate them with the route optimization process.
-
Upload Work Order Data: Users can also upload work orders directly to the application, streamlining the route processing workflow.
The following image visualizes the mock work-orders on the dashboard.
Sample Work orders
The following JSON data represents the work orders created for this integration guide.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476
"pointsArray": [ { "country": "USA", "address": "600 Sycamore Turn Lane, Columbus, OH 43213, United States", "business": "Koepp Group", "city": "Columbus", "latitude": "39.9678541925", "postalCode": "43213", "houseNumber": "600", "priority": true, "phone": "083-162-4632", "street": "Sycamore Turn Lane", "name": "Mohammad Pfeffer", "attributes": [ 5 ], "id": 1, "state": "OH", "longitude": "-82.8386505870" }, { "country": "USA", "address": "381 Rathmell Road, Lockbourne, OH 43137, United States", "business": "Hammes PLC", "city": "Lockbourne", "latitude": "39.8628433142", "postalCode": "43137", "houseNumber": "381", "priority": true, "phone": "242-293-3503", "street": "Rathmell Road", "name": "Leonor Weber", "attributes": [ 2 ], "id": 2, "state": "OH", "longitude": "-82.9966675126" }, { "country": "USA", "address": "30161 Kesegs Way, Blacklick, OH 43004, United States", "business": "Kassulke and Sons", "city": "Blacklick", "latitude": "40.0367963253", "postalCode": "43004", "houseNumber": "30161", "priority": true, "phone": "695-651-6528", "street": "Kesegs Way", "name": "Nettie Jewess", "attributes": [ 3 ], "id": 3, "state": "OH", "longitude": "-82.7933560656" }, { "country": "USA", "address": "3496 Old Dublin Granville Road, Westerville, OH 43081, United States", "business": "Larson Group", "city": "Westerville", "latitude": "40.0810091627", "postalCode": "43081", "houseNumber": "3496", "priority": false, "phone": "626-679-4651", "street": "Old Dublin Granville Road", "name": "Christina Stehr", "attributes": [ 4 ], "id": 4, "state": "OH", "longitude": "-82.9235980595" }, { "country": "USA", "address": "37 Olentangy Street, Columbus, OH 43202, United States", "business": "Luettgen Group", "city": "Columbus", "latitude": "40.0195063137", "postalCode": "43202", "houseNumber": "37", "priority": true, "phone": "868-276-2791", "street": "Olentangy Street", "name": "Anastasia Orn", "attributes": [ 2 ], "id": 5, "state": "OH", "longitude": "-83.0113438753" }, { "country": "USA", "address": "5545 Millington Road, Columbus, OH 43235, United States", "business": "Blick PLC", "city": "Columbus", "latitude": "40.0721924801", "postalCode": "43235", "houseNumber": "5545", "priority": false, "phone": "412-557-8192", "street": "Millington Road", "name": "Mercedes Botsford", "attributes": [ 3 ], "id": 6, "state": "OH", "longitude": "-83.0516754534" }, { "country": "USA", "address": "620 McCutcheon Road, Columbus, OH 43230, United States", "business": "Streich Group", "city": "Columbus", "latitude": "40.0343357537", "postalCode": "43230", "houseNumber": "620", "priority": true, "phone": "547-666-7048", "street": "McCutcheon Road", "name": "Ned Koelpin", "attributes": [ 3 ], "id": 7, "state": "OH", "longitude": "-82.8986562967" }, { "country": "USA", "address": "1 New Albany Farms Road, New Albany, OH 43054, United States", "business": "Klocko and Sons", "city": "New Albany", "latitude": "40.0564422735", "postalCode": "43054", "houseNumber": "1", "priority": true, "phone": "328-870-7975", "street": "New Albany Farms Road", "name": "Maurine Kozey", "attributes": [ 4 ], "id": 8, "state": "OH", "longitude": "-82.8030566054" }, { "country": "USA", "address": "606 Valley Forge Court, Westerville, OH 43081, United States", "business": "Murazik LLC", "city": "Westerville", "latitude": "40.1121236193", "postalCode": "43081", "houseNumber": "606", "priority": true, "phone": "229-041-6660", "street": "Valley Forge Court", "name": "Alessandra Kassulke", "attributes": [ 5 ], "id": 9, "state": "OH", "longitude": "-82.9025803935" }, { "country": "USA", "address": "1758 Demorest Road, Columbus, OH 43228, United States", "business": "Hudson PLC", "city": "Columbus", "latitude": "39.9224578996", "postalCode": "43228", "houseNumber": "1758", "priority": false, "phone": "789-369-8275", "street": "Demorest Road", "name": "Denis Thompson", "attributes": [ 3 ], "id": 10, "state": "OH", "longitude": "-83.1093680431" }, { "country": "USA", "address": "6236 Delta Loop, Dublin, OH 43016, United States", "business": "Davis and Sons", "city": "Dublin", "latitude": "40.0655237611", "postalCode": "43016", "houseNumber": "6236", "priority": false, "phone": "951-127-5934", "street": "Delta Loop", "name": "Kayley Nikolaus", "attributes": [ 2 ], "id": 11, "state": "OH", "longitude": "-83.1621030848" }, { "country": "USA", "address": "Outerbelt West, Columbus, OH 43085, United States", "business": "Legros Group", "city": "Columbus", "latitude": "40.1114834621", "postalCode": "43085", "priority": true, "phone": "708-659-3362", "street": "Outerbelt West", "name": "Madie Okuneva", "attributes": [ 2 ], "id": 12, "state": "OH", "longitude": "-82.9797177446" }, { "country": "USA", "address": "1987 Reynoldsburg New Albany Road, Blacklick, OH 43004, United States", "business": "McDermott and Sons", "city": "Blacklick", "latitude": "40.0234242051", "postalCode": "43004", "houseNumber": "1987", "priority": false, "phone": "996-828-6380", "street": "Reynoldsburg New Albany Road", "name": "Patsy Gislason", "attributes": [ 1 ], "id": 13, "state": "OH", "longitude": "-82.8182528328" }, { "country": "USA", "address": "3762 North Waggoner Road, Blacklick, OH 43004, United States", "business": "Halvorson PLC", "city": "Blacklick", "latitude": "40.0310186180", "postalCode": "43004", "houseNumber": "3762", "priority": false, "phone": "707-044-5008", "street": "North Waggoner Road", "name": "Maeve Kulas", "attributes": [ 3 ], "id": 14, "state": "OH", "longitude": "-82.7895214754" }, { "country": "USA", "address": "1151 Forest Drive, Columbus, OH 43223, United States", "business": "Zieme LLC", "city": "Columbus", "latitude": "39.9321025685", "postalCode": "43223", "houseNumber": "1151", "priority": true, "phone": "403-902-1048", "street": "Forest Drive", "name": "Louisa Rau", "attributes": [ 3 ], "id": 15, "state": "OH", "longitude": "-83.0459698307" }, { "country": "USA", "address": "2104 Winslow Drive, Columbus, OH 43207, United States", "business": "Dibbert Inc", "city": "Columbus", "latitude": "39.9256217809", "postalCode": "43207", "houseNumber": "2104", "priority": true, "phone": "090-276-4191", "street": "Winslow Drive", "name": "Tremayne Monahan", "attributes": [ 4 ], "id": 16, "state": "OH", "longitude": "-82.9395877341" }, { "country": "USA", "address": "4501 Sullivant Avenue, Columbus, OH 43228, United States", "business": "Will Inc", "city": "Columbus", "latitude": "39.9394581257", "postalCode": "43228", "houseNumber": "4501", "priority": true, "phone": "720-927-4015", "street": "Sullivant Avenue", "name": "Earl Schoen", "attributes": [ 2 ], "id": 17, "state": "OH", "longitude": "-83.1188816672" }, { "country": "USA", "address": "5115 Fisher Road, Columbus, OH 43228, United States", "business": "Abernathy PLC", "city": "Columbus", "latitude": "39.9716960535", "postalCode": "43228", "houseNumber": "5115", "priority": true, "phone": "493-948-3590", "street": "Fisher Road", "name": "Sage Bashirian", "attributes": [ 2 ], "id": 18, "state": "OH", "longitude": "-83.1314915086" }, { "country": "USA", "address": "4298 Central College Road, Westerville, OH 43081, United States", "business": "Cormier Group", "city": "Westerville", "latitude": "40.1052962677", "postalCode": "43081", "houseNumber": "4298", "priority": true, "phone": "016-964-8521", "street": "Central College Road", "name": "Bethany Bins", "attributes": [ 5 ], "id": 19, "state": "OH", "longitude": "-82.8762428834" }, { "country": "USA", "address": "647 Camden Yard Court, Columbus, OH 43235, United States", "business": "Mante and Sons", "city": "Columbus", "latitude": "40.0651771439", "postalCode": "43235", "houseNumber": "647", "priority": false, "phone": "347-266-3030", "street": "Camden Yard Court", "name": "Ocie DuBuque", "attributes": [ 4 ], "id": 20, "state": "OH", "longitude": "-83.0374290898" }, { "country": "USA", "address": "4141 Tuller Road, Dublin, OH 43017, United States", "business": "Erdman PLC", "city": "Dublin", "latitude": "40.1076986289", "postalCode": "43017", "houseNumber": "4141", "priority": false, "phone": "718-750-8118", "street": "Tuller Road", "name": "Vaughn Swift", "attributes": [ 4 ], "id": 21, "state": "OH", "longitude": "-83.1009760497" }, { "country": "USA", "address": "2934 Alkire Road, Grove City, OH 43123, United States", "business": "Gleichner Ltd", "city": "Grove City", "latitude": "39.9164178754", "postalCode": "43123", "houseNumber": "2934", "priority": true, "phone": "577-249-0113", "street": "Alkire Road", "name": "Merritt McLaughlin", "attributes": [ 1 ], "id": 22, "state": "OH", "longitude": "-83.0832632843" }, { "country": "USA", "address": "402 Woodcliff Drive, Columbus, OH 43213, United States", "business": "Goodwin and Sons", "city": "Columbus", "latitude": "39.9811387931", "postalCode": "43213", "houseNumber": "402", "priority": true, "phone": "601-222-0476", "street": "Woodcliff Drive", "name": "Marcelo Hermann", "attributes": [ 2 ], "id": 23, "state": "OH", "longitude": "-82.8676189667" }, { "country": "USA", "address": "4852 Honeysuckle Boulevard, Columbus, OH 43230, United States", "business": "Satterfield Ltd", "city": "Columbus", "latitude": "40.0708547749", "postalCode": "43230", "houseNumber": "4852", "priority": true, "phone": "775-825-7330", "street": "Honeysuckle Boulevard", "name": "Shayne Stoltenberg", "attributes": [ 4 ], "id": 24, "state": "OH", "longitude": "-82.9163915406" }, { "country": "USA", "address": "30361 Aberdeen Avenue, Columbus, OH 43219, United States", "business": "Hayes LLC", "city": "Columbus", "latitude": "40.0188060807", "postalCode": "43219", "houseNumber": "30361", "priority": false, "phone": "193-877-1512", "street": "Aberdeen Avenue", "name": "Kristy Stanton", "attributes": [ 2 ], "id": 25, "state": "OH", "longitude": "-82.9106411128" } ]
Step 3: Setup Additional Custom Parameters
Nextbillion's Route Optimization API provides a robust set of over 50 parameters, allowing users to tailor optimization to their specific requirements. In this integration, key parameters like max_tasks
, service time
, and shift time window
are used to fine-tune the optimization process.
Additionally, it is important to define the vehicle's start location and end location. These locations can represent the warehouse from which the vehicle originates and returns after completing deliveries. The service time
parameter is critical because it represents the time delivery personnel are required to complete an order.
With the help of these custom parameters, businesses can optimize their route planning and align their goals to meet their logistical objectives. Refer to our Route Optimization API Tutorials to learn more about these custom parameters.
Once all necessary data fields have been filled out with relevant information, the inputs can be sent to Nextbillion's Route Optimization API.
Step 4: Data Preparation and Mapping with Route Optimization API
- After successfully pulling data from Verizon Connect, integrate the fetched data with Route Optimization API.
- Use the provided API endpoint to map the data to respective API parameters.
- Configure optimization settings, including shift start and end times, service time, and start and end location coordinates.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
let vehicles = []; let shifts = []; let starts = []; let ends = []; let veh_attr = []; let stop_attr = []; let jobs_index = 1; let vehicle_index = 1; let shiftStart = (new Date(dtShiftStart2.value).getTime()/1000); let shiftEnd = (new Date(dtShiftEnd2.value).getTime()/1000); // START NBAI PROBLEM BUILD let locations = []; let jobs = []; let shipments = []; vehicles = []; veh_attr = []; stop_attr = []; // sequence through all stops and create job array while // also creating the indexed list of locations let location_index = 0; let location = []; workOrders.data.forEach(planstop => { let job = { id: planstop.id, description: planstop.address, location_index: location_index++, service: numberInput1.value, priority: 0, } location.push(`${planstop.latitude},${planstop.longitude}`); jobs.push(job); }); // Add shift start/stop location to location index location.push(`${txtVehicleStartPosition2.value}`); location.push(`${txtVehicleEndPosition2.value}`); location_index += 1; let veh_fixed_cost = 0; tblDrivers.data.forEach( (v,idx) => { let breaks = []; let vehicle = { id: vehicle_index++, start_index: location_index, end_index: tglRoundTrip.value? location_index:null, time_window: [shiftStart, shiftEnd], max_tasks: max_tasks.value, costs: { fixed: veh_fixed_cost } }; vehicles.push(vehicle); veh_fixed_cost += 0; }); locations = { id: 1, description: 'Verizon Connect', location: location }; let options = { routing: { mode: "car" } }; localStorage.setValue('vehiclesNBAI', vehicles); localStorage.setValue('shipmentsNBAI', shipments); localStorage.setValue('jobsNBAI', jobs); localStorage.setValue('locationsNBAI', locations); localStorage.setValue('nbaiOptions', options); localStorage.setValue('nbaiVRPResult', null); nbaiOptimizationRun.trigger();
Step 5: Create Optimization Job with Route Optimization API
In this step, the mapped data is sent to Route Optimization API to create an optimization job and response confirms the job creation and returns a unique job id
.
API Request
The following cURL command sends a POST request to the Route Optimization API to create an optimization job.
1 2 3
#POST Query curl --request POST \ --url https://api.nextbillion.io/optimization/v2?key={{localStorage.values.apiKey}}
API Response
The following API response confirms the creation of an optimization job.
1 2 3 4 5
{ "id": "5321be606a4896572c84794d2d5ffa93", "message": "Optimization job created", "status": "Ok", }
Step 6: Retrieve Optimized Route Result
Retrieve the optimized route result by making a GET request to the NextBillion.ai Route Optimization API with the job ID and API key.
API Request
Use the following GET Query request to retrieve the optimized route result.
https://api.nextbillion.io/optimization/v2/result?id={{nbaiOptimizationRun.data.id}}&key={{localStorage.values.apiKey}}
API Response
Upon successful retrieval, the API responds with a JSON structure, providing important information about the optimized route.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615
{ "result": { "code": 0, "summary": { "cost": 24713, "routes": 5, "unassigned": 0, "setup": 0, "service": 3000, "duration": 24713, "waiting_time": 0, "priority": 0, "distance": 401736 }, "routes": [ { "vehicle": 2, "cost": 5718, "steps": [ { "type": "start", "arrival": 1707359400, "duration": 0, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 0 }, { "type": "job", "arrival": 1707361355, "duration": 1955, "service": 120, "waiting_time": 0, "location": [ 40.0205362958, -82.7770253173 ], "location_index": 2, "id": 3, "description": "8130 Havens Corners Road, Blacklick, OH 43004, United States", "distance": 37035, "long_id": "3" }, { "type": "job", "arrival": 1707361884, "duration": 2364, "service": 120, "waiting_time": 0, "location": [ 40.0273895957, -82.8318612949 ], "location_index": 23, "id": 24, "description": "3515 Mann Road, Blacklick, OH 43004, United States", "distance": 43190, "long_id": "24" }, { "type": "job", "arrival": 1707362166, "duration": 2526, "service": 120, "waiting_time": 0, "location": [ 40.0327426512, -82.845042013 ], "location_index": 4, "id": 5, "description": "5634 Clark State Road, Columbus, OH 43230, United States", "distance": 45004, "long_id": "5" }, { "type": "job", "arrival": 1707362784, "duration": 3024, "service": 120, "waiting_time": 0, "location": [ 40.059031796, -82.8541518287 ], "location_index": 7, "id": 8, "description": "3888 Bufflehead Drive, Columbus, OH 43230, United States", "distance": 51787, "long_id": "8" }, { "type": "job", "arrival": 1707363412, "duration": 3532, "service": 120, "waiting_time": 0, "location": [ 40.0845150292, -82.849768744 ], "location_index": 19, "id": 20, "description": "6030 North Hamilton Road, Westerville, OH 43081, United States", "distance": 57226, "long_id": "20" }, { "type": "end", "arrival": 1707365718, "duration": 5718, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 102405 } ], "service": 600, "duration": 5718, "waiting_time": 0, "priority": 0, "distance": 102405, "geometry": "eyfrFdouyNXEb@FjAZZBxFOtL`A~BNV?~@I~A_@xD}AvB_Aj@]X[Zi@p@sBJo@BW?YGg@K_Bi@aHKg@GYU[gDuDuAwAQUIYOaAKaAOcCY}CCw@Ae@BSFILKNEjAORGNMJOFOJOLI`@MRMNK\\o@r@{...", "long_vehicle_id": "2" }, { "vehicle": 3, "cost": 5501, "steps": [ { "type": "start", "arrival": 1707359400, "duration": 0, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 0 }, { "type": "job", "arrival": 1707360924, "duration": 1524, "service": 120, "waiting_time": 0, "location": [ 40.0009064766, -83.0148227715 ], "location_index": 11, "id": 12, "description": "305 West 17th Avenue, Columbus, OH 43210, United States", "distance": 25703, "long_id": "12" }, { "type": "job", "arrival": 1707361990, "duration": 2470, "service": 120, "waiting_time": 0, "location": [ 40.1182441954, -83.0607233519 ], "location_index": 15, "id": 16, "description": "7856 Maplecreek Court, Powell, OH 43065, United States", "distance": 43412, "long_id": "16" }, { "type": "job", "arrival": 1707362893, "duration": 3253, "service": 120, "waiting_time": 0, "location": [ 40.0900637228, -83.1625856861 ], "location_index": 18, "id": 19, "description": "6048 Anna Loop, Dublin, OH 43016, United States", "distance": 54931, "long_id": "19" }, { "type": "job", "arrival": 1707363198, "duration": 3438, "service": 120, "waiting_time": 0, "location": [ 40.0963156075, -83.1504041829 ], "location_index": 21, "id": 22, "description": "5995 Shier Rings Road, Dublin, OH 43016, United States", "distance": 56816, "long_id": "22" }, { "type": "job", "arrival": 1707363793, "duration": 3913, "service": 120, "waiting_time": 0, "location": [ 40.0328520288, -83.1292023454 ], "location_index": 16, "id": 17, "description": "3900 Lyman Drive, Hilliard, OH 43026, United States", "distance": 67289, "long_id": "17" }, { "type": "end", "arrival": 1707365501, "duration": 5501, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 97774 } ], "service": 600, "duration": 5501, "waiting_time": 0, "priority": 0, "distance": 97774, "geometry": "eyfrFdouyNXEb@FjAZZBxFOtL`A~BNV?~@I~A_@xD}AvB_Aj@]X[Zi@p@sBJo@BW?YGg@K_Bi@aHKg@GYU[gDuDuAwAQUIYOaAKaAOcCY}CCw@Ae@BSFILKNEjAORGNMJOFOJOLI`@MRMNK\\o@r@{...", "long_vehicle_id": "3" }, { "vehicle": 4, "cost": 5050, "steps": [ { "type": "start", "arrival": 1707359400, "duration": 0, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 0 }, { "type": "job", "arrival": 1707360751, "duration": 1351, "service": 120, "waiting_time": 0, "location": [ 39.9012240927, -82.890471931 ], "location_index": 24, "id": 25, "description": "3593 Winchester Bend Drive, Columbus, OH 43232, United States", "distance": 20923, "long_id": "25" }, { "type": "job", "arrival": 1707361247, "duration": 1727, "service": 120, "waiting_time": 0, "location": [ 39.9055140889, -82.8638316921 ], "location_index": 3, "id": 4, "description": "3501 Wyncote Road, Columbus, OH 43232, United States", "distance": 25194, "long_id": "4" }, { "type": "job", "arrival": 1707362230, "duration": 2590, "service": 120, "waiting_time": 0, "location": [ 39.9695232749, -82.8845216127 ], "location_index": 8, "id": 9, "description": "265 Saint Christopher Lane, Columbus, OH 43213, United States", "distance": 34561, "long_id": "9" }, { "type": "job", "arrival": 1707363020, "duration": 3260, "service": 120, "waiting_time": 0, "location": [ 40.0055772761, -82.9197393195 ], "location_index": 17, "id": 18, "description": "2875 Drake Road, Columbus, OH 43219, United States", "distance": 42464, "long_id": "18" }, { "type": "job", "arrival": 1707363435, "duration": 3555, "service": 120, "waiting_time": 0, "location": [ 39.9838950754, -82.9424145451 ], "location_index": 20, "id": 21, "description": "2299 Willamont Avenue, Columbus, OH 43219, United States", "distance": 46499, "long_id": "21" }, { "type": "end", "arrival": 1707365050, "duration": 5050, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 74082 } ], "service": 600, "duration": 5050, "waiting_time": 0, "priority": 0, "distance": 74082, "geometry": "eyfrFdouyNXEb@FjAZZBxFOtL`A~BNV?~@I~A_@xD}AvB_Aj@]X[Zi@p@sBJo@BW?YGg@K_Bi@aHKg@GYU[gDuDuAwAQUIYOaAKaAOcCY}CCw@Ae@BSFILKNEjAORGNMJOFOJOLI`@MRMNK\\o@r@{...", "long_vehicle_id": "4" }, { "vehicle": 5, "cost": 4174, "steps": [ { "type": "start", "arrival": 1707359400, "duration": 0, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 0 }, { "type": "job", "arrival": 1707360634, "duration": 1234, "service": 120, "waiting_time": 0, "location": [ 39.9683791648, -83.0136343846 ], "location_index": 12, "id": 13, "description": "448 West Nationwide Boulevard, Columbus, OH 43215, United States", "distance": 19708, "long_id": "13" }, { "type": "job", "arrival": 1707361105, "duration": 1585, "service": 120, "waiting_time": 0, "location": [ 39.9790261832, -83.0514921062 ], "location_index": 22, "id": 23, "description": "1090 Elmwood Avenue, Columbus, OH 43212, United States", "distance": 23997, "long_id": "23" }, { "type": "job", "arrival": 1707361865, "duration": 2225, "service": 120, "waiting_time": 0, "location": [ 39.9829391053, -83.1347601123 ], "location_index": 13, "id": 14, "description": "5100 Trabue Road, Columbus, OH 43228, United States", "distance": 33801, "long_id": "14" }, { "type": "job", "arrival": 1707362117, "duration": 2357, "service": 120, "waiting_time": 0, "location": [ 39.9949285833, -83.1367883681 ], "location_index": 6, "id": 7, "description": "2070 Walcutt Road, Columbus, OH 43228, United States", "distance": 35584, "long_id": "7" }, { "type": "job", "arrival": 1707362767, "duration": 2887, "service": 120, "waiting_time": 0, "location": [ 39.9399519952, -83.126812587 ], "location_index": 10, "id": 11, "description": "615 South Murray Hill Road, Columbus, OH 43228, United States", "distance": 45130, "long_id": "11" }, { "type": "end", "arrival": 1707364174, "duration": 4174, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 66161 } ], "service": 600, "duration": 4174, "waiting_time": 0, "priority": 0, "distance": 66161, "geometry": "eyfrFdouyNXEb@FjAZZBxFOtL`A~BNV?~@I~A_@xD}AvB_Aj@]X[Zi@p@sBJo@BW?YGg@K_Bi@aHKg@GYU[gDuDuAwAQUIYOaAKaAOcCY}CCw@Ae@BSFILKNEjAORGNMJOFOJOLI`@MRMNK\\o@r@...", "long_vehicle_id": "5" }, { "vehicle": 6, "cost": 4270, "steps": [ { "type": "start", "arrival": 1707359400, "duration": 0, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 0 }, { "type": "job", "arrival": 1707360625, "duration": 1225, "service": 120, "waiting_time": 0, "location": [ 39.912305246, -83.1051441243 ], "location_index": 1, "id": 2, "description": "4181 Alkire Road, Grove City, OH 43123, United States", "distance": 18504, "long_id": "2" }, { "type": "job", "arrival": 1707361363, "duration": 1843, "service": 120, "waiting_time": 0, "location": [ 39.9361111939, -83.0262344422 ], "location_index": 14, "id": 15, "description": "1111 Stimmel Road, Columbus, OH 43223, United States", "distance": 27233, "long_id": "15" }, { "type": "job", "arrival": 1707362016, "duration": 2376, "service": 120, "waiting_time": 0, "location": [ 39.9358150173, -82.9640045795 ], "location_index": 0, "id": 1, "description": "1460 Lockbourne Road, Columbus, OH 43206, United States", "distance": 33393, "long_id": "1" }, { "type": "job", "arrival": 1707362402, "duration": 2642, "service": 120, "waiting_time": 0, "location": [ 39.9195325024, -82.9455258687 ], "location_index": 5, "id": 6, "description": "2148 Refugee Road, Columbus, OH 43207, United States", "distance": 36950, "long_id": "6" }, { "type": "job", "arrival": 1707363152, "duration": 3272, "service": 120, "waiting_time": 0, "location": [ 39.8748064919, -83.0231501111 ], "location_index": 9, "id": 10, "description": "4070 Jackson Pike, Grove City, OH 43123, United States", "distance": 48414, "long_id": "10" }, { "type": "end", "arrival": 1707364270, "duration": 4270, "service": 0, "waiting_time": 0, "location": [ 39.857, -83.016 ], "location_index": 26, "distance": 61314 } ], "service": 600, "duration": 4270, "waiting_time": 0, "priority": 0, "distance": 61314, "geometry": "eyfrFdouyNXEb@FjAZZBxFOtL`A~BNV?~@I~A_@xD}AvB_Aj@]X[Zi@p@sBJo@BW?YGg@K_Bi@aHKg@GYU[gDuDuAwAQUIYOaAKaAOcCY}CCw@Ae@BSFILKNEjAORGNMJOFOJOLI`@MRMNK\\o@r@{...", "long_vehicle_id": "6" } ] }, "status": "Ok", "message": "" }
Visualize Routes using Nextbillion.ai's Route Planner Tool
Explore and analyze optimized routes effortlessly using NextBillion.ai's Route Planner Tool. This tool is accessible through NextBillion.ai's Cloud Console (NCC), providing a user-friendly interface for visualizing, reviewing, and fine-tuning routes generated by the optimization process.
Seamlessly navigate through the routes, gaining valuable insights into the geographical distribution and efficiency of planned tasks. Leverage the Route Planner Tool within NCC to enhance route visualization and optimize your field service operations with ease.
The following image showcases the optimized routes within the Route Planner Tool interface.