# HR Holidays Public

This module handles public holidays.

The calculation of each leave can exclude rest public holiday, depending on the leave type configuration.

In HR holiday app, public holiday will be displayed as unusual days (grey like weekends).

Table of contents

- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

## Configuration

Go to Time Off -> Configuration -> Time Off Types and open a Leave Type

- Check “Exclude Public Holidays” to exclude public holidays.

## Usage

For adding public holidays:

1. Go to the menu Leaves > Public Holidays > Public Holidays.
2. Create your public holidays.

For using public holidays on leaves:

1. Go to Time Off > Dashboard.
2. Select dragging on the calendar the days you want to be on leave, or go to the form view for selecting start and end dates.
3. Select the proper “Leave Type” that has “Exclude Public Holidays” checked.
4. If no leave type is yet specified, then default configuration is to exclude public holidays.
5. The number of days will be computed excluding public holidays that match the selected employee, including global, country and state holidays.
6. If no employee is yet selected, only global holidays will be taken into account.

In calendar views in HR holiday app public will be display (likes other unusual days) according the current user employee country/state. If not set the there is a fallback to the current company country/state to filter public holidays.

## Known issues / Roadmap

In Odoo 12.0, _leave_intervals() returns Intervals which is a list of tuples (start_timestamp, end_timestamp, resource.calendar.leaves record). Since this module does not operate with resource.calendar.leaves, it’s setting third component of a tuple to a hr.holidays.public.line record. This may or may not be a problem, yet since this component is also being set to resource.calendar.attendance records in _attendance_intervals(), seems it should be ok.

There are no restrictions to block users from modifying or removing calendar events linked to public holidays. There’s a suggestion to overload write and unlink methods of calendar.event, but it might have other impacts like users not being able to edit event tags, or even custom fields.

Regional public holidays are shown in the public calendar. The regions will be noted in the description of the event, but it’ll be shown to all users. It’d be good to have it show only for users in these regions.

## Bug Tracker

Bugs are tracked on GitHub 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.

Do not contact contributors directly about support or help with technical issues.

## Credits

### Authors

- Michael Telahun Makonnen
- Tecnativa
- Fekete Mihai (Forest and Biomass Services Romania)
- Druidoo

### Contributors

- Michael Telahun Makonnen <mmakonnen@gmail.com>
- Fekete Mihai <feketemihai@gmail.com>
- Nikolina Todorova <nikolina.todorova@initos.com>
- Alexis de Lattre <alexis.delattre@akretion.com>
- Salton Massally (iDT Labs) <smassally@idtlabs.sl>
- Ivan Yelizariev <yelizariev@it-projects.info>
- Bassirou Ndaw <b.ndaw@ergobit.org>
- Dhara Solanki <dhara.solanki@initos.com>
- Tecnativa:
  - Pedro M. Baeza
- CorporateHub
  - Alexey Pelykh <alexey.pelykh@corphub.eu>
- Camptocamp:
  - Damien Crier <damien.crier@camptocamp.com>
- Druidoo:
  - Iván Todorovich <ivan.todorovich@gmail.com>
- Pesol:
  - Pedro Evaristo Gonzalez Sanchez <pedro.gonzalez@pesol.es>

### Maintainers

This module is maintained by the OCA.

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.

This module is part of the OCA/hr-holidays project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.