Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2a39020
[ADD] fieldservice_route_availability: New module fieldservice_route_…
Apr 22, 2025
6d82975
[UPD] Update fieldservice_route_availability.pot
Apr 28, 2025
a034bfc
[BOT] post-merge updates
OCA-git-bot Apr 28, 2025
e4fcb66
Added translation using Weblate (Italian)
mymage Apr 29, 2025
e3c03a4
Translated using Weblate (Italian)
mymage Apr 29, 2025
2cda66c
Added translation using Weblate (Portuguese (Brazil))
marcelsavegnago May 14, 2025
38f2190
[IMP] fieldservice_route_availability: Consider ZIP code on blackout …
BernatObrador Jun 23, 2025
7c6ee0b
[UPD] Update fieldservice_route_availability.pot
Jun 25, 2025
126ca8c
[BOT] post-merge updates
OCA-git-bot Jun 25, 2025
dbf58af
Update translation files
weblate Jun 25, 2025
f4ac560
Translated using Weblate (Italian)
mymage Jun 25, 2025
db737d7
Translated using Weblate (Spanish)
peluko00 Jun 26, 2025
43bb2e9
Translated using Weblate (Catalan)
peluko00 Jun 26, 2025
17ca59f
[IMP] fieldservice_route_availability: pre-commit auto fixes
Jul 31, 2025
40be76c
[MIG] fieldservice_route_availability: Migration to 18.0
Jul 31, 2025
6c2952c
[UPD] Update fieldservice_route_availability.pot
Aug 21, 2025
510c134
[BOT] post-merge updates
OCA-git-bot Aug 21, 2025
072ca5e
[MIG] fieldservice_route_availability: Migration to 19.0
LINTOANTONY007 Jul 20, 2026
0290aa1
[15.0][ADD] fieldservice_availability: New module fieldservice_availa…
ppyczko Feb 5, 2025
7f2e521
[UPD] Update fieldservice_availability.pot
Mar 5, 2025
31948c8
[BOT] post-merge updates
OCA-git-bot Mar 5, 2025
3f88902
[IMP] fieldservice_availability: pre-commit auto fixes
Apr 16, 2025
d599c64
[MIG] fieldservice_availability: Migration to 17.0
Apr 16, 2025
4478376
[UPD] Update fieldservice_availability.pot
Apr 16, 2025
6a5ad4d
[BOT] post-merge updates
OCA-git-bot Apr 16, 2025
7d86cbf
[IMP] fieldservice_availability: Group black out days
Apr 16, 2025
cf4950b
Added translation using Weblate (Italian)
mymage Apr 16, 2025
8823990
[UPD] Update fieldservice_availability.pot
Apr 22, 2025
bda8e1b
[BOT] post-merge updates
OCA-git-bot Apr 22, 2025
0c239b4
Update translation files
weblate Apr 22, 2025
37553cb
Translated using Weblate (Italian)
mymage Apr 23, 2025
4296bac
[IMP] fieldservice_availability: pre-commit auto fixes
Jul 31, 2025
e84216c
[MIG] fieldservice_availability: Migration to 18.0
Jul 31, 2025
a71968b
[UPD] Update fieldservice_availability.pot
Aug 1, 2025
d68e028
[BOT] post-merge updates
OCA-git-bot Aug 1, 2025
5abe30e
Translated using Weblate (Spanish)
Ed-Spain Apr 12, 2026
fc9d623
Translated using Weblate (Catalan)
mtbochaca Apr 21, 2026
9023c98
[MIG] fieldservice_availability: Migration to 19.0
LINTOANTONY007 Jul 20, 2026
e7f2c18
Merge branch '19.0-mig-fieldservice_availability' of https://github.c…
LINTOANTONY007 Jul 23, 2026
9062ae9
[IMP] fieldservice_availability: merged features of fieldservice_rout…
LINTOANTONY007 Jul 23, 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
135 changes: 135 additions & 0 deletions fieldservice_availability/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=========================
Fieldservice Availability
=========================

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

.. |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_availability
: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_availability
: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|

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 is a technical module and does not provide functionality on its
own. Extend this module to integrate availability management into field
service workflows.

**Table of contents**

.. contents::
:local:

Usage
=====

Navigate to Field Service > Configuration > Availability. Once there,
you can select Delivery Time Ranges, Blackout Days, Blackout Groups or
Stress Days to create new records.

Steps to restrict blackout days for Scheduled Start (ETA) orders with
the same date

1. Set up Blackout Days on Configuration > Blackout Groups and create or
edit one with blackout days
2. Go to Field Service > Master Data > Routes > Create or edit route and
assign Blackout Group Days and a Person
3. Create a Field Service order and set up Scheduled Start (ETA) with
date that you put on blackout days and the Odoo will throw an error

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_availability%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
-------

* APSL-Nagarro

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

- `APSL-Nagarro <https://www.apsl.tech>`__:

- Patryk Pyczko <ppyczko@apsl.net>
- Antoni Marroig <amarroig@apsl.net>

- `CIT Services <https://cit-services.in/>`__:

- Linto Antony <l.antony@cit-services.eu>

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-ppyczko| image:: https://github.com/ppyczko.png?size=40px
:target: https://github.com/ppyczko
:alt: ppyczko

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

|maintainer-ppyczko|

This module is part of the `OCA/field-service <https://github.com/OCA/field-service/tree/19.0/fieldservice_availability>`_ 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_availability/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
31 changes: 31 additions & 0 deletions fieldservice_availability/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2025 Patryk Pyczko (APSL-Nagarro)<ppyczko@apsl.net>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Fieldservice Availability",
"version": "19.0.1.0.0",
"summary": "Provides models for defining blackout days, stress days, "
"and delivery time ranges for FSM availability management.",
"category": "Field Service",
"website": "https://github.com/OCA/field-service",
"author": "APSL-Nagarro, Odoo Community Association (OCA)",
"maintainers": ["ppyczko"],
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": ["fieldservice_route"],
"data": [
"security/ir.model.access.csv",
"views/fsm_blackout_day_templates.xml",
"views/fsm_delivery_time_range_templates.xml",
"views/fsm_stress_day_templates.xml",
"views/fsm_route.xml",
"views/menu.xml",
],
"demo": [
"demo/fsm_blackout_day_demo.xml",
"demo/fsm_blackout_group_demo.xml",
"demo/fsm_delivery_time_range_demo.xml",
"demo/fsm_stress_day_demo.xml",
],
}
16 changes: 16 additions & 0 deletions fieldservice_availability/demo/fsm_blackout_day_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<odoo noupdate="1">
<record id="fsm_blackout_day_01_demo" model="fsm.blackout.day">
<field name="name">BlackOut Day 01</field>
<field name="date" eval="DateTime.today()" />
</record>

<record id="fsm_blackout_day_02_demo" model="fsm.blackout.day">
<field name="name">BlackOut Day 02</field>
<field name="date" eval="DateTime.today() + relativedelta(days=1)" />
</record>

<record id="fsm_blackout_day_03_demo" model="fsm.blackout.day">
<field name="name">BlackOut Day 03</field>
<field name="date" eval="DateTime.today() + relativedelta(days=2)" />
</record>
</odoo>
9 changes: 9 additions & 0 deletions fieldservice_availability/demo/fsm_blackout_group_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<odoo noupdate="1">
<record id="fsm_blackout_group_01_demo" model="fsm.blackout.group">
<field name="name">BlackOut Group 01</field>
<field
name="fsm_blackout_day_ids"
eval="[(6, 0, [ref('fsm_blackout_day_01_demo'), ref('fsm_blackout_day_02_demo'), ref('fsm_blackout_day_03_demo')])]"
/>
</record>
</odoo>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<odoo noupdate="1">
<record id="fsm_delivery_time_range_01_demo" model="fsm.delivery.time.range">
<field name="name">Delivery Time Range 01</field>
<field name="start_time">09.00</field>
<field name="end_time">18.00</field>
<field name="route_id" ref="fieldservice_route.route_demo_north" />
</record>
</odoo>
16 changes: 16 additions & 0 deletions fieldservice_availability/demo/fsm_stress_day_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<odoo noupdate="1">
<record id="fsm_stress_day_01_demo" model="fsm.stress.day">
<field name="name">Stress Day 01</field>
<field name="date" eval="DateTime.today()" />
</record>

<record id="fsm_stress_day_02_demo" model="fsm.stress.day">
<field name="name">Stress Day 02</field>
<field name="date" eval="DateTime.today() + relativedelta(days=1)" />
</record>

<record id="fsm_stress_day_03_demo" model="fsm.stress.day">
<field name="name">Stress Day 03</field>
<field name="date" eval="DateTime.today() + relativedelta(days=2)" />
</record>
</odoo>
Loading
Loading