Search
Close this search box.
Search

Google Maps Route Optimization API to OnTerra RouteSavvy API PLUS - Comparison and Migration Guide

The Google Maps Route Optimization API is a recently released service from Google. The Google Maps Route Optimization API returns an optimized route for one or more vehicles and multiple locations to be visited i.e. stops. This multi-vehicle optimization API is becoming more popular in the logistics industry as it allows organizations to balance work across multiple field workers and optimize the individual routes.

 

 

RouteSavvy API PLUS is an excellent alternative to Google Maps Route Optimization API and has all the important features (i.e.: time windows) that are needed for most route itinerary optimization scenarios. RouteSavvy API PLUS offers a simple, easy-to-use set of input parameters, features high performance with fast API response times, and has cost-effective pricing. 

 

RouteSavvy API PlusGoogle Maps Route Optimization API
Simple and Easy to UseYesNo
High PerformanceYesNo
Cost Effective PricingYesNo

RouteSavvy API PLUS Feature Highlights:

  • Easy-to-use API and API key-based authentication to quickly develop, test and release your applications to production
  • Up to 1,000 locations (route stops) can be optimized across a maximum of 50 vehicles (resultant routes) in a single request
  • Ability to specify unique, friendly names for stops and vehicles in the API request
  • Support for optimizing routes based on multiple availability time windows for a given stop location
  • Detailed driving instructions steps are conveniently included in the API response, eliminating the need to make additional API requests to get driving directions for the route
  • GET and POST request options are available for making the API requests

Pricing Comparison:

 

RouteSavvy API PLUS features powerful functionality, and it’s significantly more cost-effective than the Google Maps Route Optimization API.

 

Google Maps Route Optimization API:

Google Maps Fleet Routing API transactions are calculated based only on the number of itinerary items i.e. stops in the request. For a calculation of 2 agents (vehicles) and 15 locations (stops), that would result in 15 billable transactions. The cost of this example would be $0.450.

 

RouteSavvy API PLUS:

A RouteSavvy API PLUS transactions calculation is based on the number of vehicles multiplied by the number of stops
in the request, equating to 30 billable transactions. Despite a larger number of calculated transactions, RouteSavvy API PLUS offers a much lower per-transaction rate
than Google Maps. For the same calculation with RouteSavvy API Plus, the comparable cost would be $0.018.

 

This is a relatively small example and only illustrates pricing for one individual API calculation. The following table models this same example if the same calculation were to be made once a day for an entire year. Additional examples of daily calculations are included, with increasingly larger numbers of both agents (vehicles) and locations (stops), similarly extrapolated for an entire year to show more real-world cost
comparisons.

 

Daily API Call

Google Maps RO

RouteSavvy API PLUS

#Vehicles

#Stops

Annual Transactions

Rate/

Transaction

Total$

Annual Transactions

Rate/
Transaction

Total$

2

15

5,475

$0.0300

$164.25

10,950

$0.0006

$6.57

5

50

18,250

$0.0300

$547.50

91,250

$0.0006

$54.75

20

250

91,250

$0.0300

$2,737.50

1,825,000

$0.0006

$1,095.00

50

1000

365,000

$0.0300

$10,950.00

18,250,000

$0.0003

$5,475.00

Get Started with RouteSavvy API PLUS Today:

Here are the resources to get started with RouteSavvy API PLUS:

This simple scenario example has two service technicians and six customer locations that need to be serviced for the day. Each service technician has a specified availability start and end time, as well as starting and ending locations – specifically, a depot location where the technicians start and end their workdays. Each customer location has a time window of when the customer can be serviced and a visit duration (in minutes) for the type of service needed.

 

Google Maps Route Optimization API POST Request Example:

 

Request URL:

https://routeoptimization.googleapis.com/v1/projects/YourProjectName:optimizeTours

 

Request Body:

 

{

  “model”: {

      “shipments”: [

          {

              “deliveries”: [

                  {

                      “arrivalLocation”: {

                          “latitude”: 39.761975,

                          “longitude”: -104.907292

                      },

                      “duration”: “1800s”,

                      “timeWindows”: [

                          {

                              “startTime”: “2024-07-08T10:00:00Z”,

                              “endTime”: “2024-07-08T15:00:00Z”

                             

                          }

                      ]

                  }

              ],

              “label”: “Customer001”

          },

          {

              “deliveries”: [

                  {

                      “arrivalLocation”: {

                          “latitude”: 39.765176,

                          “longitude”: -104.919965

                      },

                      “duration”: “3600s”,

                      “timeWindows”: [

                          {

                              “startTime”: “2024-07-08T10:00:00Z”,

                              “endTime”: “2024-07-08T15:00:00Z”

                          }

                      ]

                  }

              ],

              “label”: “Customer002”

          },

          {

              “deliveries”: [

                  {

                      “arrivalLocation”: {

                          “latitude”: 39.781996,

                          “longitude”: -105.021899

                      },

                      “duration”: “1800s”,

                      “timeWindows”: [

                          {

                              “startTime”: “2024-07-08T10:00:00Z”,

                              “endTime”: “2024-07-08T15:00:00Z”

                          }

                      ]

                  }

              ],

              “label”: “Customer003”

          },

          {

              “deliveries”: [

                  {

                      “arrivalLocation”: {

                          “latitude”: 39.750206,

                          “longitude”: -104.933919

                      },

                      “duration”: “3600s”,

                      “timeWindows”: [

                          {

                              “startTime”: “2024-07-08T10:00:00Z”,

                              “endTime”: “2024-07-08T15:00:00Z”

                          }

                      ]

                  }

              ],

              “label”: “Customer004”

          },

          {

              “deliveries”: [

                  {

                      “arrivalLocation”: {

                          “latitude”: 39.762898,

                          “longitude”: -104.934401

                      },

                      “duration”: “1800s”,

                      “timeWindows”: [

                          {

                              “startTime”: “2024-07-08T10:00:00Z”,

                              “endTime”: “2024-07-08T15:00:00Z”

                          }

                      ]

                  }

              ],

              “label”: “Customer005”

          },

          {

              “deliveries”: [

                  {

                      “arrivalLocation”: {

                          “latitude”: 39.763766,

                          “longitude”: -104.946255

                      },

                      “duration”: “3600s”,

                      “timeWindows”: [

                          {

                              “startTime”: “2024-07-08T10:00:00Z”,

                              “endTime”: “2024-07-08T15:00:00Z”

                          }

                      ]

                  }

              ],

              “label”: “Customer006”

          }

      ],

      “vehicles”: [

          {

              “startLocation”: {

                  “latitude”: 39.712797,

                  “longitude”: -104.987282

              },

              “startTimeWindows”: [

                  {

                      “startTime”: “2024-07-08T10:00:00Z”

                  }

              ],

              “endTimeWindows”: [

                  {

                      “endTime”: “2024-07-08T15:00:00Z”

                  }

              ],

              “label”: “Vehicle01”

          },

          {

              “startLocation”: {

                  “latitude”: 39.712797,

                  “longitude”: -104.987282

              },

              “startTimeWindows”: [

                  {

                      “startTime”: “2024-07-08T10:00:00Z”

                  }

              ],

              “endTimeWindows”: [

                  {

                      “endTime”: “2024-07-08T15:00:00Z”

                  }

              ],

              “label”: “Vehicle02”

          }

      ],

      “globalStartTime”: “2024-07-08T10:00:00Z”,

      “globalEndTime”: “2024-07-08T15:00:00Z”

  }

}

 

RouteSavvy API PLUS POST request:

 

Request URL:

https://api.routesavvy.com/plus/RSAPI.svc/POSTOptimize=

Request Body:

{

    “Locations”: [

        {

            “Name”: “Depot”,

            “Latitude”: 39.712797,

            “Longitude”: -104.987282

        },

        {

            “Name”: “Customer001”,

            “Latitude”: 39.761975,

            “Longitude”: -104.907292,

            “VisitDurationInMinutes”: 30,

            “Time_Window”: [

                {

                    “earliest”: “10:00”,

                    “latest”: “15:00”

                }

            ]

        },

        {

            “Name”: “Customer002”,

            “Latitude”: 39.765176,

            “Longitude”: -104.919965,

            “VisitDurationInMinutes”: 60,

            “Time_Window”: [

                {

                    “earliest”: “10:00”,

                    “latest”: “15:00”

                }

            ]

        },

        {

            “Name”: “Customer003”,

            “Latitude”: 39.781996,

            “Longitude”: -105.021899,

            “VisitDurationInMinutes”: 30,

            “Time_Window”: [

                {

                    “earliest”: “10:00”,

                    “latest”: “15:00”

                }

            ]

        },

        {

            “Name”: “Customer004”,

            “Latitude”: 39.750206,

            “Longitude”: -104.933919,

            “VisitDurationInMinutes”: 60,

            “Time_Window”: [

                {

                    “earliest”: “10:00”,

                    “latest”: “15:00”

                }

            ]

        },

        {

            “Name”: “Customer005”,

            “Latitude”: 39.762898,

            “Longitude”: -104.934401,

            “VisitDurationInMinutes”: 30,

            “Time_Window”: [

                {

                    “earliest”: “10:00”,

                    “latest”: “15:00”

                }

            ]

        },

        {

            “Name”: “Customer006”,

            “Latitude”: 39.763766,

            “Longitude”: -104.946255,

            “VisitDurationInMinutes”: 60,

            “Time_Window”: [

                {

                    “earliest”: “10:00”,

                    “latest”: “15:00”

                }

            ]

        }

    ],

    “OptimizeParameters”: {

        “AppId”: “16723941d05144bea3e952a1e77eb7cb”,

        “OptimizeType”: “time”,

        “Departure”: “2020-05-23T08:00:00”,

        “MinimizeVehicle”: “false”,

        “Vehicles”: [

            {

                “vehicle_id”: “Vehicle01”,

                “StartLocation”: “Depot”,

                “EndLocation”: “Depot”,

                “DriverAvailabilityFrom”: “10:00”,

                “DriverAvailabilityTo”: “15:00”

            },

            {

                “vehicle_id”: “Vehicle02”,

                “StartLocation”: “Depot”,

                “EndLocation”: “Depot”,

                “DriverAvailabilityFrom”: “10:00”,

                “DriverAvailabilityTo”: “15:00”

            }

        ]

    }

 

}

Benefits of the RouteSavvy API

The RouteSavvy Route Optimization API is one of the most affordable, easy-to-use routing APIs on the market today. Here’s a look at its benefits:
piece of cake

EASY TO USE

The RouteSavvy API is built on RESTFUL code standards, making it an easy tool to use.

clock

STREAMLINES DEVELOPMENT TIME

RouteSavvy’s Route API helps speed development time in many ways.

speed

FASTER LAUNCH OF NEW SOFTWARE

The RouteSavvy API helps developers bring new software solutions to market faster.

code samples image

FREE CODE SAMPLES

The RouteSavvy team has done the heavy lifting for developers. Access our free code samples in C#, Java, JavaScript, Python & VB.NET.

scale

SCALABLE ROUTING

Our Routing APIs are scalable, from a modest amount of stops per route up to 500 stops for the standard RouteSavvy API & up to 1000 stops for RouteSavvy API PLUS. 

expert

TRULY ROBUST ROUTING API OFFERING

The RouteSavvy API developers are long-time routing software experts who have built affordable & robust routing APIs.

RouteSavvy API Documentation & Code Samples

Take the RouteSavvy Route Optimization API For A Test Drive

Do You Need Routing Specific for Large, Heavy Trucks & Commercial Vehicles? Got Any Other Questions?