Note: The Holiday feature is not available by default. Please contact support at support@zohoiot.com for enabling the feature in your application.
The Holiday Management Module in Zoho IoT allows organizations to define and manage holidays centrally through Application Settings. Administrators can create Holiday Groups which are collections of holidays associated with one or more Business Hours. Here each holiday is assigned a category (Public, Weekend, Company, or Others), a type (Date, Day & Week, or Range), and an optional recurrence.
Holidays flow through a hierarchy, from Holiday Groups to Business Hours, then to Locations, and finally to Instances (Assets and Devices). So, every instance automatically inherits the correct schedule. They are also surfaced visually in charts, calendar widgets, and reports, where holiday periods are highlighted or marked by category color for quick identification.
Holiday Mapping to Instances
Holidays reach individual instances (Assets and Devices) through a four-level hierarchy. Each level inherits from the one above, so a single Holiday Group setting can automatically apply across hundreds of instances.
Holiday Group
|
| Business Hours
|
| Location
|
| Instance
|
Holiday Group 1
| →
| BH 1
| →
| Location 1
| →
| Instance 1
|
Holiday Group 2
| →
| →
| Location 2
| →
| Instance 2
|
Holiday Group 3
| →
| →
| Location 3
| →
| Instance 3
|
The mapping works as follows:
- Holiday Groups are mapped to Business Hours (BH) during group creation. A group can be associated with multiple Business Hours.
- Business Hours are mapped to Locations. In the Business Hours settings, the administrator selects which locations (or entire location hierarchies) a BH applies to.
- Locations are mapped to Instances (Assets and Devices). Each instance inherits the BH and Holiday Group of its assigned location.
The instance therefore uses the Business Hours and Holiday Group that are associated with the Location it belongs to. However the instance can be associated to a different holiday group if needed.
Operation Time Settings
In each Location, if multiple Business Hours and Holiday Groups are associated, administrators can use 'Operation Time Settings' to select which specific BH and Holiday Group applies to that location. Similarly, at the instance level, users can override the inherited BH and Holiday Group from 'Actions → Operation Time Settings'.
Holiday Categories
Each holiday in a group is assigned one of the following categories. The color associated with a category is set globally for the organization, and changing it in one group updates it across all groups.
Category | Description |
Public | Government-declared or nationally recognized holidays (e.g., nation independence days, public observances).
|
Weekend | Regularly recurring non-working days such as Saturdays and Sundays.
|
Company | Organization-specific days off such as company anniversaries, team events, or internal shutdowns.
|
Others | Any holiday that does not fall into the above categories; used for custom or miscellaneous non-working days.
|
Types of Holidays
When adding a holiday to a group, you select one of three types that determines how the holiday date or period is defined:
| Type | What You Configure | Example Use Cases
|
Date | Select a specific Date, Day, and/or Month. Choosing 'Any' for a field selects all values for that field. | January 15 every year; Every Friday that falls on the 13th of any month; All Saturdays and Sundays.
|
Day and Week | Select a Day of the week, a Week number within the month, and optionally a Month. | The 2nd and 4th weekends of every month; The last week of December, on weekdays only.
|
| Range | Choose a From date and a To date to mark a continuous period as a holiday. | January 25 to February 15 (e.g., an extended plant shutdown or seasonal closure).
|
Recurring Holidays
A Recurring Holiday is one that automatically repeats every year based on the rules you configured in its type. Once the 'Recurring Holiday' toggle is enabled for a holiday entry, the system applies the same rule in subsequent years without requiring manual re-entry.
Recurring holidays are supported for all three holiday types:
- Date type: Use recurring for annual fixed-date holidays (e.g., a national holiday always on January 26), or pattern-based dates (e.g., every Friday the 13th).
- Day and Week type: Use recurring for relative-date holidays (e.g., the 2nd and 4th weekend of every month, or the last week of December on weekdays only).
- Range type: Use recurring for annual shutdowns or extended closures that repeat over the same period each year (e.g., January 25 to February 15 annually).
Note: When Recurring Holiday is not enabled, the holiday applies only to the dates specified during creation and does not repeat in subsequent years.
Instances with No Mapped Location
Not all instances are guaranteed to be assigned to a location. The following behavior applies when an instance has no location mapping:
Note: If an Instance is not mapped to any Location, the user can manually assign a Business Hour and Holiday Group for that instance via Actions → Operation Time Settings. All Holiday Groups associated with the selected Business Hour will be listed for selection. By default, the system uses the Default Business Hour for all unmapped instances. Currently, since only one Business Hour exists in the system, it is automatically set as the default and is pre-populated for all instances, including those without a location mapping.
Key points:
- Business Hours for unmapped instances can be changed via 'Operation Time Settings' in the instance Actions menu.
- The Holiday Groups listed in that panel are those already mapped to the selected Business Hour.
- The Default Business Hour is pre-selected automatically; since only one BH currently exists, no manual selection is needed.
Customization Mode in Assets and Devices
Each Asset or Device has an 'Operation Time Settings' option under its Actions menu. This setting controls whether the instance uses the Business Hour and Holiday Group inherited from its mapped location, or a custom override.
From Source (Location)
When 'From Source' is selected, the instance inherits the Business Hour and Holiday Group of its mapped location.
• Any changes made to the Operation Time Settings of the mapped location are automatically reflected in all instances set to 'From Source'.
• The Business Hour and Holiday Group fields are disabled (read-only). The user cannot manually change them while this mode is active.
• This is the recommended mode for instances that should always stay in sync with their location's schedule.
Custom
When 'Custom' is selected, the user can independently choose the Business Hour and Holiday Group for that specific instance, overriding whatever the location specifies.
- Since only one Business Hour currently exists, the BH field is auto-populated and cannot be changed, but the Holiday Group can be selected from those mapped to that Business Hour.
- Custom mode is useful when a specific device or asset follows a different schedule than its location — for example, a critical machine that runs through local holidays.
No Location Assigned
If the instance is not mapped to any location:
- The 'From Source' option is automatically disabled, since there is no source location to inherit from.
- Custom mode is selected by default, and the user must manually choose the applicable Business Hour and Holiday Group.
Note: Business Hours are currently static per instance — only the Holiday Group can be changed at the instance level. This is because only one Business Hour exists in the system and it is pre-populated by default.
Holidays can be visually surfaced inside charts and reports in Zoho IoT. This helps users immediately recognize non-operational periods when reviewing data. The feature works across a range of widgets and report types.
The holiday highlight feature is available in the following:
Widgets (Charts): Time Series Chart (Line, Column, Area, Bar, Combined) and Calendar Widget.
Reports: Data Explorer, Aggregated Timeseries, Summary Timeseries, and Matrix.
Enabling Holiday Highlights
Users can turn on this feature from the widget or report settings. The setting is called Highlight Holiday. Once enabled, holiday periods are visually marked on the chart or table.
Two color modes are available:
Single Color: All holidays are highlighted using one color chosen by the user. This applies uniformly regardless of the holiday category.
Category Based Color: Each holiday is highlighted using the color assigned to its category (Public, Weekend, Company, or Others). This makes it easy to tell different holiday types apart at a glance.
Note: Holiday highlighting is not available for short-range day views such as Last 1 Hour, Last 24 Hours, Today, Yesterday, or Yearly with Day-wise grouping.
Grouped by Daily
When data is grouped by day, any date that falls on a holiday is highlighted with the configured color. Hovering over that date shows a tooltip with the date, the holiday name, and the holiday group name.
When multiple models are selected (for example, an Energy Meter model with several instances), different instances may have different holidays on the same date. In such cases, the system uses a marker icon (such as a calendar icon on the chart) instead of a full highlight. The tooltip then shows Contains Holidays along with the list of holidays for that date.
The table below summarizes when a highlight or a marker is shown in daily grouping:
Condition
| Display
| Tooltip Shows
|
All models have a holiday; all share the same category
| Highlight
| Date, holiday name, group name
|
All models have a holiday but from different groups
| Marker
| Contains Holidays with full list
|
All instances have holidays from different categories
| Marker
| Full holiday list (no Contains Holiday label)
|
All models have multiple categories; single color mode is active
| Highlight
| Date, holiday name, group name
|
Some models have a holiday but not all
| Marker
| Contains Holidays
|
Grouped by Weekly or Monthly
When data is grouped by week or month, the same highlight and marker logic applies but at the period level rather than the day level.
- If the entire week or month is a holiday for all selected instances, the cell or period is highlighted.
- If only some days in a week or month are holidays, a marker is shown instead of a full highlight.
- If all instances have holidays across the whole period but from different groups, a marker is shown when category color is selected. A highlight is shown when a single color is selected.
- If all models share the same holiday category across the period, a highlight is shown.
- If models have different categories across the period, a marker is shown. The tooltip lists all holidays without the Contains Holiday prefix since all instances are on holiday.
When to Use Highlight vs Marker
A highlight is a full colored background on a date, week, or month cell. A marker is a small indicator (such as a calendar icon) that signals a holiday exists without overriding the cell color. The rules for choosing between them are as follows:
- A highlight is used when a single instance is selected and it has a holiday on that day, week, or month.
- A highlight is used when a model with a single instance is selected and that instance has a holiday.
- A highlight is used when a model has multiple instances, all instances share the same holiday group, and all instances have a holiday on that period. If even one instance does not have a holiday, a marker is shown instead.
- A highlight is used when all instances across multiple holiday groups share the same category color and all instances have a holiday on that period.
- A highlight is used when single color mode is active and all selected instances have a holiday on that period.
- In all other cases, a marker is shown.
The Contains Holiday label in the tooltip appears in the following situations:
Daily grouping: When not all instances of the selected model have a holiday on that date.
Weekly or Monthly grouping: When not all instances have a holiday, or when not all days within the week or month are holidays.
Note: When all instances have holidays, the tooltip lists each holiday by name, category, and group directly without the Contains Holiday prefix. This gives the user full detail rather than a generic label.
Multiple Measures from Different Models
A chart or report can display multiple measures, each from a different model. The holiday display logic still applies in the same way. Each measure is treated as its corresponding instance. If both instances share the same holiday on a given date, a highlight is shown even if the measures come from different models. The four combinations handled are: same model with different holiday groups, same model with the same holiday group, different models with the same holiday group, and different models with different holiday groups.
In the Calendar Widget, holidays are always displayed as markers placed in the top right corner of the date cell. This is by design, since the calendar already uses cell colors for its own rules and holiday highlights cannot override them. Hovering over the marker shows a tooltip listing all holidays and their group names for that day. When multiple measures are selected, the tooltip lists the holidays of all corresponding instances.