# iRoute--An Adaptive Route Planning Solution for Commercial Vehicle Fleets
## 3 Methods--Project Implementation
### Solution Data Layers  
With the iRoute solution, the data can be split into three different layers:  
**-**: **External data layer**: Here, the data are received from telematic devices that have a bi-directional data exchange with customer solutions through web services. **-**: **Application core layer**: Here, we have the main component of the solution, the database, and all the services and modules that process and transform the input data into useful output data. Based on the customer profile, the business rules and logic are customized and adapted for each customer's needs. **-**: **Presentation layer**: Here, the processed data are presented to the end-users, the dispatchers, management users, and drivers through dedicated web and mobile interfaces. These layers are represented in Figure 5 with all the components that are being used: In the following paragraphs, we present details about each module from the above architecture. **(A)**: **Layer: External Data**  
_Module: Vehicle Data_  
The module gathers information received from GPS and telematics sensors via devices that are placed inside vehicles and stores it in the database (as pointed out with red markers in Figure 6). Figure 4: iRoute use case—dispatchers. Communication with multiple devices is handled by the communication services, managing bidirectional data connections with different device configurations that include the communication services. Figure 5: iRoute high-level architecture. Figure 6: Device mounted on a vehicle. wired or wireless sensors. Moreover, the communication server permits remote over-the-air configuration by sending device commands through the GPRS connection. Through the module, communication between the devices and the server is ensured using bidirectional connections through a remote configuration of the devices; thus, the sensors connected to the AVL device send data to the module. The data transmitted by the GPS devices are collected and manipulated using predefined rules to be used by the application's clients (use case G.1). _Module: Integration_  
This module consists of a set of predefined methods that enable different software solutions to communicate with the iRoute solution for sending or obtaining useful information needed in the planning or monitoring of the route plan execution process as seen in Figure 7.  
Some of the exchanged data are:  
* **Orders**: Information about what tasks need to be fulfilled by the mobile workforce, such as delivering goods, collecting waste, and servicing end-customer equipment. These tasks can have different constraints, such as weight/volume/value, time windows, priority, and many more. * **Resources**: Updated info about the resources used in the planning process, such as vehicles, drivers, types of goods, and customer location metadata. * **Plan parameters**: Optionally, the plan parameters can be changed dynamically based on different business needs. For example, during weekdays, the plan should strictly consider the constraints, while during weekends the plan can be more flexible. These changes can be made in real time also by the dispatchers. * **Route execution**: After the routes are finished, the customer's solution can use the execution information for future data flows. Some of the data that are being pulled from the iRoute web services include route execution KPIs (distance, duration, costs, stops, number of locations visited), location delivery/collection statuses, and proof-of-delivery. * **Layer: Application Core**  
_Module; Database_  
The database is the central component of the iRoute solution where all the data are stored from all the solution's modules. We have used a relational database, the Microsoft SQL Server, for having all the enterprise features a SaaS needs for its end-users. The data stored can be grouped by usage and data source into four main categories (Figure 8): Telematics, Metadata, Operational, and Reporting. There are also other data and tables, but they are not specific to this planning platform.