Skip to content

Alternatives

Alternative Routes allows you to receive multiple route options for the same origin and destination points.


What are Alternative Routes?

The Alternative Routes feature calculates different route options for the same origin-destination pair. This allows you to:

  • Compare routes
  • Present options to the user
  • Evaluate alternatives based on traffic or other factors

Basic Usage

Alternatives with Different Minimize Values

// Route 1: Duration-focused
{
  "origin": {"latitude": 41.0082, "longitude": 28.9784},
  "destination": {"latitude": 41.0150, "longitude": 28.9850},
  "minimize": "duration"
}

// Route 2: Distance-focused
{
  "origin": {"latitude": 41.0082, "longitude": 28.9784},
  "destination": {"latitude": 41.0150, "longitude": 28.9850},
  "minimize": "distance"
}

Use Cases

1. Route Comparison

Present different route options to users.

2. Cost Analysis

Compare the costs of different routes.

3. Contingency Planning

Prepare alternatives for the primary route.


Configuration

Minimize Parameter

Value Description
duration Targets the shortest duration
distance Targets the shortest distance

Combination with Avoid Features

Alternative routes can be created using different avoidFeatures values:

// Route 1: Default
{"origin": {...}, "destination": {...}}

// Route 2: Avoiding toll roads
{"origin": {...}, "destination": {...}, "avoidFeatures": ["tollRoad"]}

// Route 3: Avoiding tunnels
{"origin": {...}, "destination": {...}, "avoidFeatures": ["tunnel"]}

Python Example

import requests

API_BASE_URL = "https://api.flio.ai"
API_KEY = "YOUR-API-KEY"

def get_alternatives(origin, destination):
    alternatives = []

    # Route 1: Duration-focused
    resp1 = requests.post(
        f"{API_BASE_URL}/solver/route?apiKey={API_KEY}",
        json={"origin": origin, "destination": destination, "minimize": "duration"}
    )
    alternatives.append(resp1.json())

    # Route 2: Distance-focused
    resp2 = requests.post(
        f"{API_BASE_URL}/solver/route?apiKey={API_KEY}",
        json={"origin": origin, "destination": destination, "minimize": "distance"}
    )
    alternatives.append(resp2.json())

    return alternatives

origin = {"latitude": 41.0082, "longitude": 28.9784}
destination = {"latitude": 41.0150, "longitude": 28.9850}

routes = get_alternatives(origin, destination)
for i, route in enumerate(routes):
    summary = route['routes'][0]['summary']
    print(f"Route {i+1}: {summary['distance']}m, {summary['duration']}s")

Alternative Routes — Flio.ai

Next Steps