Multi-week calendars
Allow a calendar to alternate between multiple weeks.
Multi-week calendars
Allow a calendar to alternate between multiple weeks.
An implementation of this functionality exists in Odoo's resource module since version 13. In Odoo's implementation, you can only alternate between two weeks. Furthermore, the implementation is more than a little wonky.
The advantage of this module over the implementation in resource is that you can alternate between more than two weeks. The implementation is (hopefully) better.
The downside of adopting this module is that all modules which interact with the week-alternating functionality of resource must be adapted to be compatible with this module. At the time of writing (2024-07-29), the only Odoo module which does this is hr_holidays.
Table of contents
Known issues / Roadmap
This module is a template for building on top of. It _will_ need glue modules to work with various other modules. Most notably, hr_holidays will not work without modification.
The existing base Odoo two-week calendar functionality is hidden rather than disabled. This may or may not be desirable.
The module may need improvements for timezone handling; this is currently untested. _split_into_weeks splits weeks on the timezone of the datetime objects passed to it instead of on the timezone of the calendar. The calculation of the current week number uses fields.Date.today() instead of the environment's or calendar's timezone. Finally, child calendars may have a different timezone compared to their parent, which is probably not a desired feature.
This module assumes that a week always starts on a Monday. Upstream Odoo appears to do the same, but this may not be desired by certain audiences.
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
- Coop IT Easy SC
Contributors
- Coop IT Easy SC:
- Carmen Bianca BAKKER
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.
Current maintainer:
This module is part of the OCA/hr project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Once the user has seen at least one product this snippet will be visible.