Skip to content

Commit cae1d18

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

24 files changed

+1421
-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

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

0 commit comments

Comments
 (0)