Odoo Community Association

Route Planning

Beta License: AGPL-3 OCA/route-planning Translate me on Weblate Try me on Runboat

This module allows to manage delivery routes, checkpoints, and visit windows.

Before using this module, you must configure the required master data: Route Areas, Checkpoints, and Routes. Without this data, the route planning functionality will not be operational.

Models

Route Area

Defines a geographic or logical zone used to group routes. Each area helps organize delivery operations by region or territory.

Checkpoint

Represents a specific stop or delivery point within a route. Checkpoints define the locations that must be visited, along with any time window constraints for the visit.

Route

A route is an ordered sequence of checkpoints assigned to a specific area. It defines the order in which checkpoints must be visited, making it possible to optimize daily or weekly operations for any kind of service or delivery workflow.

Visit Windows

A visit window defines the time interval during which a checkpoint must be reached. Windows are configured on the contact (partner), where one or more slots can be defined specifying the earliest arrival time (time from) and the latest allowed arrival time (time to). This allows the same availability constraints to be reused across different routes and checkpoints.

Table of contents

Configuration

Ensure that partners and your company have latitude and longitude set before using this feature.

Usage

Follow these steps before creating routes and checkpoints.

Create Areas

Go to Route Planning > Configuration > Areas and create the areas that represent the geographic or logical zones where routes will operate. At least one area is required. Each area must have a responsible user assigned.

Configure Visit Window Templates (optional)

Go to Route Planning > Configuration > Visit Window Templates to define reusable sets of time windows. Templates can later be applied to contacts to populate their visit windows quickly.

Configure Contacts

Open any contact form (Contacts app) and go to the Route Planning tab. There you can:

  • Assign the contact to an Area.
  • Define the contact’s Latitude and Longitude.
  • Set one or more Visit Windows, either manually or by selecting a Visit Window Template.

At least the contacts that will be used as checkpoint destinations should be configured.

Create Routes

Go to Route Planning > Operations > Routes and create a route. Assign it to an area and add the checkpoints directly from the route form. Only the areas where the current user is the responsible user are available when creating the route. A checkpoint can be linked to a contact or defined only with its own latitude and longitude. When the route is planned, the checkpoints are reordered automatically using OR-Tools, which suggests the best route based on the available coordinates and time windows.

A map button is available on the route form to visualize all checkpoints on a map.

Day-to-day operations

Users can go to Route Planning > Operations > Checkpoints to see the checkpoints assigned to them and manage the status and details of each stop. Each checkpoint also includes a map view to locate the stop geographically.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Authors

  • Tecnativa

Contributors

  • Pedro M. Baeza
  • Víctor Martínez
  • Carlos Lopez

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

carlos-lopez-tecnativa

This module is part of the OCA/route-planning project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.