Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
99b531c
[ADD] Added a fieldservice_route v12
nikul-serpentcs Dec 13, 2019
2d2b4e7
[IMP] fieldservice_route
max3903 Dec 30, 2019
9ed114c
[IMP] Fix Travis Redlight
osi-scampbell Jan 7, 2020
7e24564
[FIX] Travis
murtuzasaleh Jan 8, 2020
c860ff3
[IMP] fieldservice_route
max3903 Jan 9, 2020
43559e8
[IMP] Gave Access to portal user.
murtuzasaleh Aug 20, 2020
592af74
[IMP] fieldservice: basic security
chienandalu Oct 29, 2020
b5345c9
[FIX] Travis
Freni-OSI May 3, 2021
d1e098a
Added translation using Weblate (Turkish)
tate11 Jul 9, 2021
6dba4e8
Added translation using Weblate (Spanish (Argentina))
ibuioli Oct 3, 2021
3f47cf9
[MIG] fieldservice_route: Migration to 15.0
victoralmau Oct 6, 2022
88361f4
[UPD] Update fieldservice_route.pot
Oct 28, 2022
0c100ca
[UPD] README.rst
OCA-git-bot Oct 28, 2022
0082bb7
Update translation files
weblate Oct 28, 2022
49b5e94
Added translation using Weblate (Italian)
mymage Oct 31, 2022
6474479
[MIG] fieldservice_route: Migration to 16.0
gbrito Nov 3, 2022
3827708
[UPD] Update fieldservice_route.pot
Jun 20, 2023
3767736
[UPD] README.rst
OCA-git-bot Jun 20, 2023
392dec3
Update translation files
weblate Oct 10, 2023
4d0bd3d
[IMP] fieldservice_route: pre-commit auto fixes
DiegoFJ95 Nov 21, 2023
a6d239e
[FIX] pre-commit
Nov 24, 2023
65dcb2a
[UPD] Update fieldservice_route.pot
Dec 28, 2023
866bf3a
[BOT] post-merge updates
OCA-git-bot Dec 28, 2023
292848c
Update translation files
weblate Feb 3, 2024
948a08a
[MIG] fieldservice_route: Migration to 18.0
Apr 16, 2024
eb64c5f
[UPD] Update fieldservice_route.pot
Nov 20, 2024
cd69fe6
[BOT] post-merge updates
OCA-git-bot Nov 20, 2024
2d6805f
Update translation files
weblate Nov 20, 2024
b4c3e33
Translated using Weblate (Turkish)
tsezgin Sep 22, 2025
fa0e5ab
[UPD] Update fieldservice_route.pot
Dec 15, 2025
f117710
Update translation files
weblate Dec 15, 2025
12d5702
Translated using Weblate (Italian)
mymage Dec 16, 2025
3ab8dd7
Translated using Weblate (Spanish)
Ed-Spain Apr 12, 2026
c07eb31
[MIG] fieldservice_route: Migration to 19.0
max3903 Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 128 additions & 0 deletions fieldservice_route/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

===================
Field Service Route
===================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:03bce8598c39527207e72e5dc268178416e8a99832453d1abb1860803b810eec
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffield--service-lightgray.png?logo=github
:target: https://github.com/OCA/field-service/tree/19.0/fieldservice_route
:alt: OCA/field-service
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/field-service-19-0/field-service-19-0-fieldservice_route
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/field-service&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

A Field Service route is the sorted list of orders that one
worker/vehicle will perform during a day.

This module allows you to manage your Field Service routes: when
assigning an order to a worker and scheduling it, a route is
automatically created for that worker and day.

**Table of contents**

.. contents::
:local:

Configuration
=============

To use this module, you need to:

- Go to Field Service > Configuration > Stages
- Define the workflow of your routes by creating new stages whose type
is "Route"
- Go to Field Service > Master Data > Routes
- Create your routes by setting their name, worker, days, and capacity

Usage
=====

To use this module, you need to:

- Go to Field Service
- Create or select an order
- Assign it to a worker and schedule it
- Go to Field Service > Dashboard > Day Routes. A new record has been
created.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/field-service/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 <https://github.com/OCA/field-service/issues/new?body=module:%20fieldservice_route%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Gray Matter Logic

Contributors
------------

- `Gray Matter Logic <https://www.graymatterlogic.com>`__:

- Maxime Chambreuil <maxime.chambreuil@graymatterlogic.com>

- Nikul Chaudhary <nikul.chaudhary.serpentcs@gmail.com>
- Freni Patel <fpatel@opensourceintegrators.com>
- `Tecnativa <https://www.tecnativa.com>`__:

- Víctor Martínez

Other credits
-------------



Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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.

.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px
:target: https://github.com/max3903
:alt: max3903

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-max3903|

This module is part of the `OCA/field-service <https://github.com/OCA/field-service/tree/19.0/fieldservice_route>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions fieldservice_route/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
35 changes: 35 additions & 0 deletions fieldservice_route/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright (C) 2026 Gray Matter Logic
# Copyright (C) 2019 Serpent consulting Services
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Field Service Route",
"summary": "Organize the routes of each day.",
"version": "19.0.1.0.0",
"category": "Field Service",
"license": "AGPL-3",
"author": "Gray Matter Logic, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/field-service",
"depends": ["fieldservice"],
"data": [
"data/ir_sequence.xml",
"data/fsm_route_day_data.xml",
"data/fsm_stage_data.xml",
"security/ir_rule.xml",
"security/ir.model.access.csv",
"views/fsm_route_day.xml",
"views/fsm_route.xml",
"views/fsm_location.xml",
"views/fsm_route_dayroute.xml",
"views/fsm_order.xml",
"views/menu.xml",
],
"demo": [
"demo/fsm_route.xml",
"demo/fsm_location.xml",
"demo/fsm_route_dayroute.xml",
"demo/fsm_order.xml",
],
"development_status": "Beta",
"maintainers": ["max3903"],
}
29 changes: 29 additions & 0 deletions fieldservice_route/data/fsm_route_day_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<odoo noupdate="1">
<record id="fsm_route_day_0" model="fsm.route.day">
<field name="name">Monday</field>
</record>

<record id="fsm_route_day_1" model="fsm.route.day">
<field name="name">Tuesday</field>
</record>

<record id="fsm_route_day_2" model="fsm.route.day">
<field name="name">Wednesday</field>
</record>

<record id="fsm_route_day_3" model="fsm.route.day">
<field name="name">Thursday</field>
</record>

<record id="fsm_route_day_4" model="fsm.route.day">
<field name="name">Friday</field>
</record>

<record id="fsm_route_day_5" model="fsm.route.day">
<field name="name">Saturday</field>
</record>

<record id="fsm_route_day_6" model="fsm.route.day">
<field name="name">Sunday</field>
</record>
</odoo>
17 changes: 17 additions & 0 deletions fieldservice_route/data/fsm_stage_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<odoo noupdate="1">
<record id="fsm_stage_route_new" model="fsm.stage">
<field name="name">New</field>
<field name="sequence">10</field>
<field name="is_default">True</field>
<field name="stage_type">route</field>
<field name="custom_color">#ECF0F1</field>
</record>

<record id="fsm_stage_route_close" model="fsm.stage">
<field name="name">Closed</field>
<field name="sequence">20</field>
<field name="is_closed">True</field>
<field name="stage_type">route</field>
<field name="custom_color">#7F8C8D</field>
</record>
</odoo>
10 changes: 10 additions & 0 deletions fieldservice_route/data/ir_sequence.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<odoo noupdate="1">
<!-- Sequence for fsm.route -->
<record id="seq_fsm_route" model="ir.sequence">
<field name="name">FSM Day Route</field>
<field name="code">fsm.route.dayroute</field>
<field name="prefix">SR</field>
<field name="padding">3</field>
<field name="company_id" eval="False" />
</record>
</odoo>
14 changes: 14 additions & 0 deletions fieldservice_route/demo/fsm_location.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<odoo noupdate="1">
<record id="fieldservice.test_location" model="fsm.location">
<field name="fsm_route_id" ref="fieldservice_route.route_demo_north" />
</record>
<record id="fieldservice.location_1" model="fsm.location">
<field name="fsm_route_id" ref="fieldservice_route.route_demo_north" />
</record>
<record id="fieldservice.location_2" model="fsm.location">
<field name="fsm_route_id" ref="fieldservice_route.route_demo_north" />
</record>
<record id="fieldservice.location_3" model="fsm.location">
<field name="fsm_route_id" ref="fieldservice_route.route_demo_south" />
</record>
</odoo>
23 changes: 23 additions & 0 deletions fieldservice_route/demo/fsm_order.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<odoo noupdate="1">
<record id="order_route_demo_1" model="fsm.order">
<field name="location_id" ref="fieldservice.location_1" />
<field name="person_id" ref="fieldservice.person_1" />
<field name="scheduled_date_start">2026-06-30 08:00:00</field>
<field name="dayroute_id" ref="fieldservice_route.dayroute_demo_north" />
<field name="description">North route demo order 1</field>
</record>
<record id="order_route_demo_2" model="fsm.order">
<field name="location_id" ref="fieldservice.location_2" />
<field name="person_id" ref="fieldservice.person_1" />
<field name="scheduled_date_start">2026-06-30 10:00:00</field>
<field name="dayroute_id" ref="fieldservice_route.dayroute_demo_north" />
<field name="description">North route demo order 2</field>
</record>
<record id="order_route_demo_3" model="fsm.order">
<field name="location_id" ref="fieldservice.location_3" />
<field name="person_id" ref="fieldservice.person_2" />
<field name="scheduled_date_start">2026-06-30 09:00:00</field>
<field name="dayroute_id" ref="fieldservice_route.dayroute_demo_south" />
<field name="description">South route demo order 1</field>
</record>
</odoo>
32 changes: 32 additions & 0 deletions fieldservice_route/demo/fsm_route.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<odoo noupdate="1">
<record id="route_demo_north" model="fsm.route">
<field name="name">North District Route</field>
<field name="fsm_person_id" ref="fieldservice.person_1" />
<field name="max_order">10</field>
<field
name="day_ids"
eval="[(6, 0, [
ref('fieldservice_route.fsm_route_day_0'),
ref('fieldservice_route.fsm_route_day_1'),
ref('fieldservice_route.fsm_route_day_2'),
ref('fieldservice_route.fsm_route_day_3'),
ref('fieldservice_route.fsm_route_day_4'),
])]"
/>
</record>
<record id="route_demo_south" model="fsm.route">
<field name="name">South District Route</field>
<field name="fsm_person_id" ref="fieldservice.person_2" />
<field name="max_order">5</field>
<field
name="day_ids"
eval="[(6, 0, [
ref('fieldservice_route.fsm_route_day_0'),
ref('fieldservice_route.fsm_route_day_1'),
ref('fieldservice_route.fsm_route_day_2'),
ref('fieldservice_route.fsm_route_day_3'),
ref('fieldservice_route.fsm_route_day_4'),
])]"
/>
</record>
</odoo>
14 changes: 14 additions & 0 deletions fieldservice_route/demo/fsm_route_dayroute.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<odoo noupdate="1">
<record id="dayroute_demo_north" model="fsm.route.dayroute">
<field name="name">DR-NORTH-063026</field>
<field name="route_id" ref="fieldservice_route.route_demo_north" />
<field name="date">2026-06-30</field>
<field name="stage_id" ref="fieldservice_route.fsm_stage_route_new" />
</record>
<record id="dayroute_demo_south" model="fsm.route.dayroute">
<field name="name">DR-SOUTH-063026</field>
<field name="route_id" ref="fieldservice_route.route_demo_south" />
<field name="date">2026-06-30</field>
<field name="stage_id" ref="fieldservice_route.fsm_stage_route_new" />
</record>
</odoo>
Loading
Loading