Skip to content

Commit 7b9da38

Browse files
committed
[15.0][ADD] fieldservice_availability: New module fieldservice_availability
1 parent d832a09 commit 7b9da38

24 files changed

+1470
-0
lines changed

fieldservice_availability/README.rst

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
=========================
2+
Fieldservice Availability
3+
=========================
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:2a9639ee2b8e8c0fbcb6afd0bd5ad682e64856a8fbdbe47f9da3d62e859321ce
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Beta
16+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
18+
:alt: License: AGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffield--service-lightgray.png?logo=github
20+
:target: https://github.com/OCA/field-service/tree/15.0/fieldservice_availability
21+
:alt: OCA/field-service
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/field-service-15-0/field-service-15-0-fieldservice_availability
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/field-service&target_branch=15.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
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.
32+
33+
- **Blackout Days (`fsm.blackout.day`)**: Represent dates when field service operations are unavailable (e.g., holidays, company-wide closures).
34+
- **Stress Days (`fsm.stress.day`)**: Indicate dates with increased service demand (e.g., peak business periods requiring additional workforce).
35+
- **Delivery Time Ranges (`fsm.delivery.time.range`)**: Define available time slots for scheduling field service operations.
36+
37+
This is a technical module and does not provide functionality on its own. Extend this module to integrate availability management into field service workflows.
38+
39+
**Table of contents**
40+
41+
.. contents::
42+
:local:
43+
44+
Usage
45+
=====
46+
47+
Navigate to Field Service > Configuration > Scheduling. Once there, you can select `Delivery Time Ranges`, `Blackout Days` or `Festive Days` to create new records.
48+
49+
Bug Tracker
50+
===========
51+
52+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/field-service/issues>`_.
53+
In case of trouble, please check there if your issue has already been reported.
54+
If you spotted it first, help us to smash it by providing a detailed and welcomed
55+
`feedback <https://github.com/OCA/field-service/issues/new?body=module:%20fieldservice_availability%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
56+
57+
Do not contact contributors directly about support or help with technical issues.
58+
59+
Credits
60+
=======
61+
62+
Authors
63+
~~~~~~~
64+
65+
* APSL-Nagarro
66+
67+
Contributors
68+
~~~~~~~~~~~~
69+
70+
* `APSL-Nagarro <https://www.apsl.tech>`_:
71+
* Patryk Pyczko <ppyczko@apsl.net>
72+
73+
Maintainers
74+
~~~~~~~~~~~
75+
76+
This module is maintained by the OCA.
77+
78+
.. image:: https://odoo-community.org/logo.png
79+
:alt: Odoo Community Association
80+
:target: https://odoo-community.org
81+
82+
OCA, or the Odoo Community Association, is a nonprofit organization whose
83+
mission is to support the collaborative development of Odoo features and
84+
promote its widespread use.
85+
86+
.. |maintainer-ppyczko| image:: https://github.com/ppyczko.png?size=40px
87+
:target: https://github.com/ppyczko
88+
:alt: ppyczko
89+
90+
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
91+
92+
|maintainer-ppyczko|
93+
94+
This module is part of the `OCA/field-service <https://github.com/OCA/field-service/tree/15.0/fieldservice_availability>`_ project on GitHub.
95+
96+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

fieldservice_availability/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
2+
3+
from . import models
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Copyright 2025 Patryk Pyczko (APSL-Nagarro)<ppyczko@apsl.net>
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
{
5+
"name": "Fieldservice Availability",
6+
"version": "15.0.1.0.0",
7+
"summary": "Provides models for defining blackout days, stress days, "
8+
"and delivery time ranges for FSM availability management.",
9+
"category": "Field Service",
10+
"website": "https://github.com/OCA/field-service",
11+
"author": "APSL-Nagarro, Odoo Community Association (OCA)",
12+
"maintainers": ["ppyczko"],
13+
"license": "AGPL-3",
14+
"application": False,
15+
"installable": True,
16+
"depends": ["fieldservice_route"],
17+
"data": [
18+
"security/ir.model.access.csv",
19+
"views/fsm_blackout_day_templates.xml",
20+
"views/fsm_delivery_time_range_templates.xml",
21+
"views/fsm_stress_day_templates.xml",
22+
"views/menu.xml",
23+
],
24+
}

fieldservice_availability/i18n/ca.po

+193
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * fieldservice_availability
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 15.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2025-02-26 06:51+0000\n"
10+
"PO-Revision-Date: 2025-02-26 06:51+0000\n"
11+
"Last-Translator: \n"
12+
"Language-Team: \n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: \n"
17+
18+
#. module: fieldservice_availability
19+
#: model:ir.model.constraint,message:fieldservice_availability.constraint_fsm_blackout_day_unique_blackout_day
20+
msgid "A blackout day with this date already exists!"
21+
msgstr "Ja existeix un dia de bloqueig amb aquesta data!"
22+
23+
#. module: fieldservice_availability
24+
#: model:ir.model.constraint,message:fieldservice_availability.constraint_fsm_stress_day_unique_stress_day
25+
msgid "A stress day with this date already exists!"
26+
msgstr "Ja existeix un dia d'alta demanda amb aquesta data!"
27+
28+
#. module: fieldservice_availability
29+
#: model_terms:ir.actions.act_window,help:fieldservice_availability.action_fsm_blackout_days
30+
msgid "Add a Field Service Blackout Day here."
31+
msgstr "Afegeix un dia de bloqueig del servei de camp aquí."
32+
33+
#. module: fieldservice_availability
34+
#: model_terms:ir.actions.act_window,help:fieldservice_availability.action_fsm_delivery_time_range
35+
msgid "Add a Field Service Delivery Time Range here."
36+
msgstr "Afegeix un interval de temps de lliurament de serveis aquí."
37+
38+
#. module: fieldservice_availability
39+
#: model_terms:ir.actions.act_window,help:fieldservice_availability.action_fsm_stress_days
40+
msgid "Add a Field Service Stress Day here."
41+
msgstr "Afegeix un dia d'alta demanda del servei de camp aquí."
42+
43+
#. module: fieldservice_availability
44+
#: model:ir.ui.menu,name:fieldservice_availability.menu_fsm_config_availability
45+
msgid "Availability"
46+
msgstr "Disponibilitat"
47+
48+
#. module: fieldservice_availability
49+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__date
50+
msgid "Blackout Day"
51+
msgstr "Dia de bloqueig"
52+
53+
#. module: fieldservice_availability
54+
#: model:ir.actions.act_window,name:fieldservice_availability.action_fsm_blackout_days
55+
#: model:ir.ui.menu,name:fieldservice_availability.menu_fsm_blackout_days_root
56+
msgid "Blackout Days"
57+
msgstr "Dies de bloqueig"
58+
59+
#. module: fieldservice_availability
60+
#: model:ir.model,name:fieldservice_availability.model_fsm_blackout_day
61+
msgid "Blackout Days (No Service)"
62+
msgstr "Dies de bloqueig (Sense servei)"
63+
64+
#. module: fieldservice_availability
65+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__create_uid
66+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__create_uid
67+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__create_uid
68+
msgid "Created by"
69+
msgstr "Creat per"
70+
71+
#. module: fieldservice_availability
72+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__create_date
73+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__create_date
74+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__create_date
75+
msgid "Created on"
76+
msgstr "Creat el"
77+
78+
#. module: fieldservice_availability
79+
#: model:ir.model.fields,help:fieldservice_availability.field_fsm_delivery_time_range__sequence
80+
msgid "Customize the order of time ranges. Lower numbers are shown first."
81+
msgstr ""
82+
"Personalitza l'ordre dels intervals de temps. Els números més baixos es "
83+
"mostren primer."
84+
85+
#. module: fieldservice_availability
86+
#: model:ir.model,name:fieldservice_availability.model_fsm_delivery_time_range
87+
#: model_terms:ir.ui.view,arch_db:fieldservice_availability.view_fsm_delivery_time_range_form
88+
msgid "Delivery Time Range"
89+
msgstr "Interval de Temps de Lliurament"
90+
91+
#. module: fieldservice_availability
92+
#: model:ir.actions.act_window,name:fieldservice_availability.action_fsm_delivery_time_range
93+
#: model:ir.ui.menu,name:fieldservice_availability.menu_fsm_delivery_time_range
94+
msgid "Delivery Time Ranges"
95+
msgstr "Intervals de Temps de Lliurament"
96+
97+
#. module: fieldservice_availability
98+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__name
99+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__name
100+
msgid "Description"
101+
msgstr "Descripció"
102+
103+
#. module: fieldservice_availability
104+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__display_name
105+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__display_name
106+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__display_name
107+
msgid "Display Name"
108+
msgstr "Nom de Mostra"
109+
110+
#. module: fieldservice_availability
111+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__end_time
112+
msgid "End Time"
113+
msgstr "Hora de Finalització"
114+
115+
#. module: fieldservice_availability
116+
#: model:ir.model,name:fieldservice_availability.model_fsm_stress_day
117+
msgid "High-Demand Days"
118+
msgstr "Dies d'alta demanda"
119+
120+
#. module: fieldservice_availability
121+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__id
122+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__id
123+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__id
124+
msgid "ID"
125+
msgstr ""
126+
127+
#. module: fieldservice_availability
128+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day____last_update
129+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range____last_update
130+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day____last_update
131+
msgid "Last Modified on"
132+
msgstr "Última Modificació el"
133+
134+
#. module: fieldservice_availability
135+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__write_uid
136+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__write_uid
137+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__write_uid
138+
msgid "Last Updated by"
139+
msgstr "Última Actualització per"
140+
141+
#. module: fieldservice_availability
142+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_blackout_day__write_date
143+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__write_date
144+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__write_date
145+
msgid "Last Updated on"
146+
msgstr "Última Actualització el"
147+
148+
#. module: fieldservice_availability
149+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__name
150+
msgid "Name"
151+
msgstr "Nom"
152+
153+
#. module: fieldservice_availability
154+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__route_id
155+
msgid "Route"
156+
msgstr "Ruta"
157+
158+
#. module: fieldservice_availability
159+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__sequence
160+
msgid "Sequence"
161+
msgstr "Seqüència"
162+
163+
#. module: fieldservice_availability
164+
#: model:ir.model.fields,help:fieldservice_availability.field_fsm_delivery_time_range__route_id
165+
msgid ""
166+
"Specific route this time range applies to. Leave empty for global time "
167+
"ranges."
168+
msgstr ""
169+
"Ruta específica a la qual s'aplica aquest interval de temps. Deixa buit per "
170+
"a intervals de temps globals."
171+
172+
#. module: fieldservice_availability
173+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_delivery_time_range__start_time
174+
msgid "Start Time"
175+
msgstr "Hora d'Inici"
176+
177+
#. module: fieldservice_availability
178+
#: model:ir.model.fields,field_description:fieldservice_availability.field_fsm_stress_day__date
179+
msgid "Stress Day"
180+
msgstr "Dia d'alta demanda"
181+
182+
#. module: fieldservice_availability
183+
#: model:ir.actions.act_window,name:fieldservice_availability.action_fsm_stress_days
184+
#: model:ir.ui.menu,name:fieldservice_availability.menu_fsm_stress_days_root
185+
msgid "Stress Days"
186+
msgstr "Dies d'alta demanda"
187+
188+
#. module: fieldservice_availability
189+
#: code:addons/fieldservice_availability/models/fsm_delivery_time_range.py:0
190+
#: code:addons/fieldservice_availability/models/fsm_delivery_time_range.py:0
191+
#, python-format
192+
msgid "The start time must be earlier than the end time."
193+
msgstr "L'hora d'inici ha de ser anterior a l'hora de finalització."

0 commit comments

Comments
 (0)