Repository
OCA/field-service · module folder · Try on Runboat
Module version
1.0.0
Category
Field Service
Folder size
0.1 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/field-service
Last tracking update
2026-08-07 09:06:25
Authors
Odoo Community Association (OCA), APSL-Nagarro
Maintainers
Odoo Community Association (OCA), APSL-Nagarro
Committers
OCA-git-bot, oca-ci, linto-antony
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
fieldservice_route_availability
Description
This module defines blackout days (non-operational days), stress days
(high-demand periods), and delivery time ranges for field service
operations. It provides the necessary models to store this information,
which can be used by other modules to manage scheduling, availability,
and workload adjustments.

- **Blackout Days (\`fsm.blackout.day\`)**: Represent dates when field
  service operations are unavailable (e.g., holidays, company-wide
  closures).
- **Blackout Groups (\`fsm.blackout.group\`)**: Represent groups of days when field
  service operations are unavailable (e.g., holidays, company-wide
  closures).
- **Stress Days (\`fsm.stress.day\`)**: Indicate dates with increased
  service demand (e.g., peak business periods requiring additional
  workforce).
- **Delivery Time Ranges (\`fsm.delivery.time.range\`)**: Define
  available time slots for scheduling field service operations.
- **Restricts blackout days for Scheduled Start (ETA) orders with the same date**

This module validates Scheduled Start (ETA) dates on field service orders
against blackout days configured on their route. Orders with an ETA that
falls on a matching blackout day cannot be saved.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
view_fsm_blackout_day_form fsm.blackout.day.form fsm.blackout.day form New
view_fsm_blackout_day_tree fsm.blackout.day.tree fsm.blackout.day list New
view_fsm_blackout_group_form fsm.blackout.group.form fsm.blackout.group form New
view_fsm_blackout_group_tree fsm.blackout.group.tree fsm.blackout.group list New
view_fsm_delivery_time_range_form fsm.delivery.time.range.form fsm.delivery.time.range form New
view_fsm_delivery_time_range_tree fsm.delivery.time.range.tree fsm.delivery.time.range list New
view_fsm_route_form_inherit fsm.route.form.inherit fsm.route form Inherits fieldservice_route.fsm_route_form
view_fsm_stress_day_form fsm.stress.day.form fsm.stress.day form New
view_fsm_stress_day_tree fsm.stress.day.tree fsm.stress.day list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (6)

New fields (3)
  • date Date
    required=True string='Blackout Day'
  • name Char
    required=True string='Description'
  • zip Char
    help='Postal code of the blackout day.'
Public methods (0)

No public methods.

New fields (2)
  • fsm_blackout_day_ids Many2many → fsm.blackout.day
    string='Days' args: 'fsm.blackout.day', 'fsm_blackout_group_ids', 'fsm_blackout_group_id', 'fsm_blackout_day_id'
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (5)
  • end_time Float
    required=True
  • name Char
    compute='_compute_name' store=True
  • route_id Many2one → fsm.route
    help='Specific route this time range applies to. Leave empty for global time ranges.' string='Route' args: 'fsm.route'
  • sequence Integer
    default=10 help='Customize the order of time ranges. Lower numbers are shown first.'
  • start_time Float
    required=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check_black_out_days(self)
    @api.constrains('scheduled_date_start', 'location_id')

New fields (1)
  • fsm_blackout_group_ids Many2many → fsm.blackout.group
    string='Blackout Group Days' args: 'fsm.blackout.group', 'fsm_route_ids', 'fsm_route_id', 'fsm_blackout_group_id'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    required=True string='Stress Day'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…