Delhivery’s

Routing Engine

Overview

Our team was responsible for developing a Third Party Logistics (3PL) SaaS tool to help smaller businesses efficiently manage their logistics. The platform offered features for dispatch management, order tracking, and route optimization.

For this module, we were designing a routing engine - A software tool that optimizes routes for maximum efficiency. It helps businesses determine the fastest and most cost-effective paths between multiple stops, saving time, reducing costs, and improving overall operational efficiency.

My Role

Research, Concept Ideation, Storyboarding, Visual Design, Prototyping, Handoff

The Team

Suhad M - Product Designer
Monisha R - Product Designer
Avinash Pillai - Design Manager

Duration

Jan 2024 - May 2024

The Flow

User selects a set of jobs from an overall list to create a plan

User opts for the routing engine and inputs the parameters

User enters vehicle constraints

User triggers the routing engine

Routing engine provides the most efficient output

User makes change to the plan, reduces unallocated jobs

User publishes the plan and ensures a successful completion.

The Screens

Creating the routing plan

The user selects a set of jobs from an overall list of jobs that need to be completed. These selected jobs are fed into the routing engine.

CTA to create the plan

Selected jobs

The jobs list

The user has a choice if they want to manually create a plan or use the routing engine to generate a plan.

Once the user opts for the routing engine, they input the parameters and the routing configurations. They can also make any changes to the allocated resources and also input any vehicle constraints.

Allocating resources

Setting Routing Engine Configurations

The Output of the Routing Engine

The routing engine clubs the selected jobs and provides a suggested output with the most efficient use of resources. The plan is still not published however, the user can make any changes they wish to and then can publish the plan.

Unallocated Jobs

Timeline View

Routes

Unallocated Jobs

The dots depict the unallocated jobs, that are not allocated by the engine due to any constraint mismatch. The user resolves these constraints and adds these jobs to the most efficient route.

The user can quickly add and remove jobs from the map as well as the timeline.

User can edit the resource allocation

Table View

Adding jobs to optimize the output

A job can remain unallocated due to many reasons, like any constraint mismatch. If any constraint fails, the routing engine fails to allocate that particular job to the route and it joins the heap of unallocated jobs.

Adding jobs through the timeline

The user has to reduce the number of unallocated jobs to enhance the output of the routing engine. Each route is depicted separately on the timeline. The user can either can click on the ‘+’ icon next to each route in the timeline to add jobs.

List of unallocated Jobs

edited route

The selected job is added to the route. The modified route is is depicted on the map and the timeline.

Adding jobs through the map

The user can also add jobs through the map. The dots represent a cluster, or a group of unallocated jobs around the same area. Clicking on one of the clusters further opens up the set of unallocated jobs grouped in it.

Each job is connected via an origin and destination. After solving the constraint, the user can add the job to the most fitting route.

The selected job is added to the route and the modified route is is depicted on the map and the timeline.

The user can continue adding jobs and save the plan after all changes have been made. After all changes have been made, they can publish the plan.

Stuff that didn’t work

(no designers were hurt in the making of this)

different iterations for the timeline

lots and lots of discarded ideas

Wizard to show steps

route plans shown on calendar

reordering jobs

An active challenge that we faced

Throughout this project, we had to make many, many rounds of revisions! Our client had a very structured organization which resulted in a lot of layers and many decision makers which led to twice the number of approvals and revisions!

If you made it till here, thanks! :)

read another case study

Why did we need a routing engine?

A Route optimization software was necessary for companies looking to streamline their logistics, increase customer satisfaction and improve costs.

There are multiple advantages of Routing Engines:

Improves efficiency

The engine generates the most efficient routes, by which drivers can avoid delivery delays and traffic congestion. Also improving delivery timing, enhances customer satisfaction.

Improved Customer satisfaction

Optimized routes ensure timely and accurate deliveries and help minimize delivery errors thereby enhancing customer satisfaction and loyalty.

Cost Savings

Routing engines can substantially reduce operational costs by minimising fuel consumption and emissions, reducing a need for additional vehicles and drivers and lowers expenses associated with maintaining large fleets.

Balanced Loading

Evenly loaded vehicles experience less stress on the components, reducing the risk of wear and tear, extending it’s lifespan and lowering maintenance costs. They are also less likely to be in accidents or experience loss of control.

Offers Flexibility

Route optimization softwares allow users to real time monitor and can make adjustments depending on unforeseen circumstances, minimizing delays and disruptions by providing visibility and transparency.

Enhanced safety

Routing engines optimize closer deliveries ensuring that drivers do not travel very large distances, helping them manage their fatigue issues and minimising risk of accidents, improving overall safety.

The Solutioning

We divided the flow into three major steps:

01

Allocating Vehicles and resources

Create a structured space where the user can learn about relevant financial

02

Setting up routing engine configurations

Create a structured space where the user can learn about relevant financial

03

Review the routing plan and commit to it.

Create a structured space where the user can learn about relevant financial

The Solutioning