| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/18.0/fieldservice_route |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, EdgarRetes |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - html_editor |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_list_view |
Route Day | fsm.route.day | list | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_list |
fsm.route.dayroute.list | fsm.route.dayroute | list | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_list |
fsm.route.list | fsm.route | list | New |
fsm_route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
comodel_name='fsm.route.dayroute'
index=True
string='Day Route'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
index=True
readonly=False
store=True
string='Assigned To'
create(self, vals_list)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
comodel_name='fsm.route.day'
string='Days'
fsm_person_id
Many2one → fsm.person
comodel_name='fsm.person'
string='Person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
string='Maximum Orders'
name
Char
required=True
run_on(self, date)
name
Selection
selection=[('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
No public methods.
date
Date
required=True
date_start_planned
Datetime
compute='_compute_date_start_planned'
readonly=False
store=True
string='Planned Start Time'
end_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='End Location'
last_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Last Location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
order_count
Integer
compute='_compute_order_count'
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
comodel_name='fsm.order'
inverse_name='dayroute_id'
string='Orders'
order_remaining
Integer
compute='_compute_order_count'
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
readonly=False
store=True
string='Person'
route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
stage_id
Many2one → fsm.stage
comodel_name='fsm.stage'
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
start_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Start Location'
team_id
Many2one → fsm.team
comodel_name='fsm.team'
default=<expr>
string='Team'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals_list)
stage_type
Selection
ondelete={'route': 'cascade'}
selection_add=[('route', 'Route')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/17.0/fieldservice_route |
| VERSION | |
| VERSION | 1.2.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Antoni Marroig Campomar, bobrador, Samuel Macias Oropeza (smo) |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_order_route_calendar_view |
fsm.order.route.calendar | fsm.order | xpath | Inherits fieldservice.fsm_order_calendar_view |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_tree_view |
Route Day | fsm.route.day | tree | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_dayroute_tree |
fsm.route.dayroute.tree | fsm.route.dayroute | tree | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_tree |
fsm.route.tree | fsm.route | tree | New |
fsm_route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
comodel_name='fsm.route.dayroute'
index=True
string='Day Route'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
index=True
readonly=False
store=True
string='Assigned To'
create(self, vals_list)
get_utc_date(self, date)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
comodel_name='fsm.route.day'
string='Days'
fsm_person_id
Many2one → fsm.person
comodel_name='fsm.person'
string='Person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
string='Maximum Orders'
name
Char
required=True
run_on(self, date)
name
Selection
selection=[('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
No public methods.
date
Date
required=True
date_start_planned
Datetime
compute='_compute_date_start_planned'
readonly=False
store=True
string='Planned Start Time'
end_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='End Location'
last_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Last Location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
order_count
Integer
compute='_compute_order_count'
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
comodel_name='fsm.order'
inverse_name='dayroute_id'
string='Orders'
order_remaining
Integer
compute='_compute_order_count'
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
readonly=False
store=True
string='Person'
route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
stage_id
Many2one → fsm.stage
comodel_name='fsm.stage'
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
start_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Start Location'
team_id
Many2one → fsm.team
comodel_name='fsm.team'
default=<expr>
string='Team'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals_list)
stage_type
Selection
ondelete={'route': 'cascade'}
selection_add=[('route', 'Route')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/16.0/fieldservice_route |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Brian McMaster, Goncalo Brito |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_tree_view |
Route Day | fsm.route.day | tree | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_dayroute_tree |
fsm.route.dayroute.tree | fsm.route.dayroute | tree | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_tree |
fsm.route.tree | fsm.route | tree | New |
fsm_route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
comodel_name='fsm.route.dayroute'
index=True
string='Day Route'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
index=True
readonly=False
store=True
string='Assigned To'
create(self, vals_list)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
comodel_name='fsm.route.day'
string='Days'
fsm_person_id
Many2one → fsm.person
comodel_name='fsm.person'
string='Person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
string='Maximum Orders'
name
Char
required=True
run_on(self, date)
name
Selection
selection=[('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
No public methods.
date
Date
required=True
date_start_planned
Datetime
compute='_compute_date_start_planned'
readonly=False
store=True
string='Planned Start Time'
end_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='End Location'
last_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Last Location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
order_count
Integer
compute='_compute_order_count'
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
comodel_name='fsm.order'
inverse_name='dayroute_id'
string='Orders'
order_remaining
Integer
compute='_compute_order_count'
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
readonly=False
store=True
string='Person'
route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
stage_id
Many2one → fsm.stage
comodel_name='fsm.stage'
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
start_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Start Location'
team_id
Many2one → fsm.team
comodel_name='fsm.team'
default=<expr>
string='Team'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals_list)
stage_type
Selection
ondelete={'route': 'cascade'}
selection_add=[('route', 'Route')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/15.0/fieldservice_route |
| VERSION | |
| VERSION | 1.4.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Patryk Pyczko, bobrador, ppyczko |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:30 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_order_tree_inherit_route |
fsm.order.tree.inherit | fsm.order | xpath | Inherits fieldservice.fsm_order_tree_view |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_tree_view |
Route Day | fsm.route.day | tree | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_dayroute_tree |
fsm.route.dayroute.tree | fsm.route.dayroute | tree | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_tree |
fsm.route.tree | fsm.route | tree | New |
fsm_route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
comodel_name='fsm.route.dayroute'
index=True
string='Day Route'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
compute='_compute_person_id'
index=True
readonly=False
store=True
string='Assigned To'
create(self, vals)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
comodel_name='fsm.route.day'
string='Days'
fsm_person_id
Many2one → fsm.person
comodel_name='fsm.person'
string='Person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
string='Maximum Orders'
name
Char
required=True
run_on(self, date)
write(self, vals)
name
Selection
selection=[('Monday', _('Monday')), ('Tuesday', _('Tuesday')), ('Wednesday', _('Wednesday')), ('Thursday', _('Thursday')), ('Friday', _('Friday')), ('Saturday', _('Saturday')), ('Sunday', _('Sunday'))]
name_get(self)
date
Date
required=True
date_start_planned
Datetime
string='Planned Start Time'
end_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='End Location'
last_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Last Location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
order_count
Integer
compute='_compute_order_count'
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
comodel_name='fsm.order'
inverse_name='dayroute_id'
string='Orders'
order_remaining
Integer
compute='_compute_order_count'
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
comodel_name='fsm.person'
string='Person'
route_id
Many2one → fsm.route
comodel_name='fsm.route'
string='Route'
stage_id
Many2one → fsm.stage
comodel_name='fsm.stage'
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
start_location_id
Many2one → fsm.location
comodel_name='fsm.location'
string='Start Location'
team_id
Many2one → fsm.team
comodel_name='fsm.team'
default=<expr>
string='Team'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals)
stage_type
Selection
ondelete={'route': 'cascade'}
selection_add=[('route', 'Route')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/14.0/fieldservice_route |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Daniel Reis, Yann Papouin, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Freni-OSI |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_tree_view |
Route Day | fsm.route.day | tree | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_dayroute_tree |
fsm.route.dayroute.tree | fsm.route.dayroute | tree | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_tree |
fsm.route.tree | fsm.route | tree | New |
fsm_route_id
Many2one → fsm.route
string='Route'
args: 'fsm.route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
index=True
string='Day Route'
args: 'fsm.route.dayroute'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
default=_get_default_person
index=True
string='Assigned To'
args: 'fsm.person'
create(self, vals)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
string='Days'
args: 'fsm.route.day'
fsm_person_id
Many2one → fsm.person
string='Person'
args: 'fsm.person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
args: 'Maximum Orders'
name
Char
required=True
args: 'Name'
run_on(self, date)
name
Selection
string='Name'
args: [('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
No public methods.
date
Date
required=True
string='Date'
date_start_planned
Datetime
string='Planned Start Time'
end_location_id
Many2one → fsm.location
string='End Location'
args: 'fsm.location'
last_location_id
Many2one → fsm.location
string='Last Location'
args: 'fsm.location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
string='Name'
order_count
Integer
compute=_compute_order_count
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
string='Orders'
args: 'fsm.order', 'dayroute_id'
order_remaining
Integer
compute=_compute_order_count
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
string='Person'
args: 'fsm.person'
route_id
Many2one → fsm.route
string='Route'
args: 'fsm.route'
stage_id
Many2one → fsm.stage
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
args: 'fsm.stage'
start_location_id
Many2one → fsm.location
string='Start Location'
args: 'fsm.location'
team_id
Many2one → fsm.team
default=<expr>
string='Team'
args: 'fsm.team'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals)
stage_type
Selection
ondelete={'route': 'cascade'}
selection_add=[('route', 'Route')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/13.0/fieldservice_route |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | david, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_partner_fields |
res.partner | field | Inherits fieldservice.fsm_partner_fields | |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_tree_view |
Route Day | fsm.route.day | tree | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_dayroute_tree |
fsm.route.dayroute.tree | fsm.route.dayroute | tree | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_tree |
fsm.route.tree | fsm.route | tree | New |
fsm_route_id
Many2one → fsm.route
string='Route'
args: 'fsm.route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
index=True
string='Day Route'
args: 'fsm.route.dayroute'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
default=_get_default_person
index=True
string='Assigned To'
args: 'fsm.person'
create(self, vals)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
string='Days'
args: 'fsm.route.day'
fsm_person_id
Many2one → fsm.person
string='Person'
args: 'fsm.person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
args: 'Maximum Orders'
name
Char
required=True
args: 'Name'
territory_id
Many2one → res.territory
string='Territory'
args: 'res.territory'
run_on(self, date)
name
Selection
string='Name'
args: [('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
No public methods.
date
Date
required=True
string='Date'
date_start_planned
Datetime
string='Planned Start Time'
end_location_id
Many2one → fsm.location
string='End Location'
args: 'fsm.location'
last_location_id
Many2one → fsm.location
string='Last Location'
args: 'fsm.location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
string='Name'
order_count
Integer
compute=_compute_order_count
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
string='Orders'
args: 'fsm.order', 'dayroute_id'
order_remaining
Integer
compute=_compute_order_count
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
string='Person'
args: 'fsm.person'
route_id
Many2one → fsm.route
string='Route'
args: 'fsm.route'
stage_id
Many2one → fsm.stage
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
args: 'fsm.stage'
start_location_id
Many2one → fsm.location
string='Start Location'
args: 'fsm.location'
team_id
Many2one → fsm.team
default=<expr>
string='Team'
args: 'fsm.team'
territory_id
Many2one → res.territory
related='route_id.territory_id'
string='Territory'
args: 'res.territory'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals)
stage_type
Selection
selection_add=[('route', 'Route')]
No public methods.
fsm_route_id
Many2one → fsm.route
comodel_name='fsm.route'
compute='_compute_fsm_route_id'
inverse='_inverse_fsm_route_id'
readonly=False
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/12.0/fieldservice_route |
| VERSION | |
| VERSION | 2.5.0 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Maxime Chambreuil, GitHub, david, OCA Transbot, oca-travis, Weblate, OCA-git-bot, scampbell, Murtuza Saleh |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice OCA/partner-contact: - partner_fax OCA/web: - web_timeline odoo/odoo: - base_geolocalize - base - base_setup - web - bus - web_tour - resource - contacts |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view_route_inherit |
fsm.location.form | fsm.location | field | Inherits fieldservice.fsm_location_form_view |
fsm_order_form_inherit_route |
fsm.order.form | fsm.order | field | Inherits fieldservice.fsm_order_form |
fsm_partner_fields |
res.partner | field | Inherits fieldservice.fsm_partner_fields | |
fsm_route_day_form_view |
Route Day | fsm.route.day | form | New |
fsm_route_day_tree_view |
Route Day | fsm.route.day | tree | New |
fsm_route_dayroute_calendar |
fsm.route.dayroute.calendar | fsm.route.dayroute | calendar | New |
fsm_route_dayroute_form |
fsm.route.dayroute.form | fsm.route.dayroute | form | New |
fsm_route_dayroute_graph_view |
fsm.route.graph | fsm.route.dayroute | graph | New |
fsm_route_dayroute_pivot_view |
fsm.route.pivot | fsm.route.dayroute | pivot | New |
fsm_route_dayroute_tree |
fsm.route.dayroute.tree | fsm.route.dayroute | tree | New |
fsm_route_form |
fsm.route.form | fsm.route | form | New |
fsm_route_tree |
fsm.route.tree | fsm.route | tree | New |
fsm_route_id
Many2one → fsm.route
string='Route'
args: 'fsm.route'
No public methods.
dayroute_id
Many2one → fsm.route.dayroute
index=True
string='Day Route'
args: 'fsm.route.dayroute'
fsm_route_id
Many2one
related='location_id.fsm_route_id'
string='Route'
person_id
Many2one → fsm.person
default=_get_default_person
index=True
string='Assigned To'
args: 'fsm.person'
create(self, vals)
prepare_dayroute_values(self, values)
write(self, vals)
day_ids
Many2many → fsm.route.day
string='Days'
args: 'fsm.route.day'
fsm_person_id
Many2one → fsm.person
string='Person'
args: 'fsm.person'
max_order
Integer
default=0
help='Maximum number of orders per day route.'
args: 'Maximum Orders'
name
Char
required=True
args: 'Name'
territory_id
Many2one → fsm.territory
string='Territory'
args: 'fsm.territory'
run_on(self, date)
name
Selection
string='Name'
args: [('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
No public methods.
date
Date
required=True
string='Date'
date_start_planned
Datetime
string='Planned Start Time'
end_location_id
Many2one → fsm.location
string='End Location'
args: 'fsm.location'
last_location_id
Many2one → fsm.location
string='Last Location'
args: 'fsm.location'
latitude
Float
longitude
Float
max_allow_time
Float
default=10.0
string='Maximal Allowable Time (in hours)'
max_order
Integer
help='Maximum numbers of orders that can be added to this day route.'
related='route_id.max_order'
store=True
string='Maximum Capacity'
name
Char
copy=False
default=<expr>
required=True
string='Name'
order_count
Integer
compute=_compute_order_count
store=True
string='Number of Orders'
order_ids
One2many → fsm.order
string='Orders'
args: 'fsm.order', 'dayroute_id'
order_remaining
Integer
compute=_compute_order_count
store=True
string='Available Capacity'
person_id
Many2one → fsm.person
string='Person'
args: 'fsm.person'
route_id
Many2one → fsm.route
string='Route'
args: 'fsm.route'
stage_id
Many2one → fsm.stage
copy=False
default=<expr>
domain="[('stage_type', '=', 'route')]"
index=True
string='Stage'
args: 'fsm.stage'
start_location_id
Many2one → fsm.location
string='Start Location'
args: 'fsm.location'
team_id
Many2one → fsm.team
default=<expr>
string='Team'
args: 'fsm.team'
territory_id
Many2one → fsm.territory
related='route_id.territory_id'
string='Territory'
args: 'fsm.territory'
work_time
Float
default=8.0
string='Time before overtime (in hours)'
check_capacity(self)
check_day(self)
create(self, vals)
stage_type
Selection
selection_add=[('route', 'Route')]
No public methods.
fsm_route_id
Many2one → fsm.route
comodel_name='fsm.route'
compute='_compute_fsm_route_id'
inverse='_inverse_fsm_route_id'
readonly=False
store=True
No public methods.
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/field-service |
| PULL REQUEST | |
| PULL REQUEST | [19.0][MIG] fieldservice_route: Migration to 19.0 (#1552) |