Holiday Calendar
Holiday Calendar is the centralized holiday management system that tracks national holidays, religious observances, company events, and recurring dates to support scheduling, leave planning, and workforce coordination.
Overviewβ
On this page you can:
- Create and manage holidays with multiple types (National, Religious, Company)
- Set up recurring holidays (Yearly, Monthly, Quarterly, Weekly, Biannual)
- View holidays in four formats (Monthly, Yearly, Weekly, List)
- Configure holiday types with custom colors for visual identification
- Track both one-time and automatically repeating events
- Filter holidays by type and recurrence pattern
- Reference dates when planning work schedules and leave requests
Key Capabilities:
- Four viewing modes: Monthly, Yearly, Weekly, and List for different planning needs
- Automatic recurrence for yearly national holidays and regular events
- Multi-day holiday support (e.g., 3-day collective leave)
- Color-coded holiday types for instant visual recognition
- Holiday Type configuration with customizable categories and colors
- Click-on-date quick entry for fast holiday creation
- Filter by type and recurrence for focused planning
- Search by code, name, or remark for quick lookup
Reference Tool Only: Holiday Calendar is a reference and planning tool. It does not automatically integrate with Work Schedule, Attendance, or Leave modules. Users must manually check the holiday calendar when creating schedules or approving leave.
Key Featuresβ
π Four Flexible Calendar Viewsβ
Multiple visualization modes for different planning horizons and use cases.
Business Value:
- Monthly View: Single-month detail for immediate planning
- Yearly View: 12-month grid overview for annual strategy
- Weekly View: Week-by-week for short-term coordination
- List View: Tabular format for data entry and bulk review
- Switch views instantly without losing filters
- Choose optimal view for task (planning vs data entry)
- 60% faster holiday lookup vs single-view systems
Perfect for: HR teams needing flexibility to switch between detailed planning and high-level overview
π Smart Recurring Holidaysβ
Automatic repetition system eliminates manual re-entry for annual and periodic events.
Business Value:
- Set once, apply automatically to future periods
- Five recurrence types: Yearly, Monthly, Quarterly, Biannual, Weekly
- National holidays auto-appear every year
- Monthly meetings show up without manual entry
- Reduce holiday setup time by 90%
- Eliminate missed holidays from manual re-entry errors
- Support both fixed-date (Christmas) and regular events (monthly payday)
Perfect for: Organizations with consistent annual holidays and regular recurring events
π¨ Color-Coded Holiday Typesβ
Visual categorization for instant recognition and priority assessment.
Business Value:
- Multiple types: National, Religious, Company, Regional, International, Special
- Each type assigned distinct color (red, green, blue, yellow)
- Instant visual differentiation in calendar
- Quick identification of holiday priority (national vs company event)
- Custom color configuration per type
- Improve scanning speed by 70%
- Reduce planning errors from missed holidays
Perfect for: Multi-department organizations managing diverse holiday types across regions
π Comprehensive Holiday Managementβ
Complete CRUD operations for full holiday lifecycle control.
Business Value:
- Create holidays with code, name, dates, type, recurrence
- Edit existing holidays (affects future occurrences if recurring)
- Delete holidays or disable types when no longer relevant
- Multi-day holiday support (start date to end date)
- Remark field for additional context
- Full audit trail of changes
- Flexible management for changing organizational needs
Perfect for: HR managers needing complete control over organizational holiday calendar
π Advanced Filtering and Searchβ
Powerful tools to focus on relevant holidays and reduce information overload.
Business Value:
- Filter by holiday type (show only National, or Religious, or multiple)
- Filter by recurrence (show only recurring holidays)
- Search by code, name, or remark (real-time filtering)
- Combine filters for precise targeting
- Reduce clutter when reviewing specific holiday categories
- Fast lookup of specific holidays (e.g., "Christmas")
- Export-ready filtered views
Perfect for: Operations teams needing to review specific holiday categories for planning
ποΈ Multi-Day Holiday Supportβ
Span holidays across multiple consecutive dates with single entry.
Business Value:
- Single entry covers entire holiday period
- Example: 5-day Eid collective leave (Mar 31 - Apr 4)
- All dates within range marked as holiday
- Reduce data entry from 5 entries to 1
- Consistent representation across calendar
- Support long weekends and extended shutdowns
- Simplify collective leave management
Perfect for: Companies with extended holiday periods and collective leave policies
βοΈ Holiday Type Configurationβ
Customizable holiday categories with color management for organizational needs.
Business Value:
- Create unlimited custom holiday types
- Configure colors for each type (visual consistency)
- Activate/deactivate types without deleting
- Inactive types hide from dropdown but preserve existing holidays
- Support region-specific or department-specific types
- Adapt to changing organizational structure
- Maintain historical data while updating categories
Perfect for: Multi-national or multi-regional companies with diverse holiday requirements
Key Conceptsβ
Holiday Fieldsβ
Complete data structure for each holiday:
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
| Code | Text | β Yes | Unique identifier | NEW_YEAR, IDUL_FITRI_2025 |
| Name | Text | β Yes | Holiday display name | New Year's Day, Eid al-Fitr 1446 H |
| Start Date | Date | β Yes | First day of holiday | 2025-01-01 |
| End Date | Date | β Yes | Last day of holiday (same as start for single-day) | 2025-01-01 |
| Type | Select | β Yes | Holiday category | National, Religious, Company |
| Color | Color | Auto | Display color (inherited from type) | #dc3545 (Red) |
| Is Recurring | Boolean | β No | Whether holiday repeats | true/false |
| Recurring Type | Select | Conditional | Frequency (if recurring) | Yearly, Monthly, Weekly |
| Remark | Text | β No | Additional notes | "80th Independence Day celebration" |
Field Rules:
- Code: Must be unique, uppercase with underscores recommended
- Start/End Date: End date β₯ Start date (same for single-day)
- Recurring Type: Required only if "Is Recurring" = true
- Color: Auto-filled from selected Type, can be overridden
Holiday Typesβ
Pre-defined and custom categories:
| Type | Common Use | Color Suggestion | Examples |
|---|---|---|---|
| National | Government-mandated holidays | Red (#dc3545) | Independence Day, New Year, Labor Day |
| Religious | Religious observance days | Green (#28a745) | Eid al-Fitr, Christmas, Diwali, Vesak |
| Company | Organization-specific events | Blue (#007bff) | Company Anniversary, Team Building |
| Regional | Location-specific holidays | Yellow (#ffc107) | Provincial festivals, Local celebrations |
| International | Global observance days | Cyan (#17a2b8) | International Women's Day, Earth Day |
| Special | Exceptional circumstances | Purple (#6f42c1) | Emergency closures, Special events |
Custom Types:
- Create additional types via Holiday Type configuration
- Each type has: Code, Name, Color, Active status
- Inactive types don't show in dropdown but preserve existing holidays
Recurrence Typesβ
Automatic repetition patterns:
| Recurrence | Repeats Every | Use Cases | Example |
|---|---|---|---|
| Yearly | Same date each year | National holidays, birthdays, anniversaries | Christmas (Dec 25), Independence Day (Aug 17) |
| Monthly | Same day each month | Monthly meetings, payday | Payday (25th of month), All-hands meeting (1st) |
| Quarterly | Every 3 months | Quarterly reviews, board meetings | Q1/Q2/Q3/Q4 reviews |
| Biannual | Twice a year (every 6 months) | Semi-annual reviews, inventory | Jan 15 & Jul 15 performance reviews |
| Weekly | Same day each week | Weekly standups, prayer times | Monday team meeting, Friday prayer |
Recurrence Behavior:
Yearly Recurring:
- Created once, appears every year automatically
- Example: Christmas 2025 β Automatically shows in 2026, 2027, etc.
- Edit affects all future occurrences
Monthly Recurring:
- Appears same day each month
- Warning: Days 29-31 may skip months (Feb has 28/29 days)
- Best practice: Use days 1-28 for consistency
Weekly Recurring:
- Repeats same weekday every week
- Based on day of week, not date number
Quarterly/Biannual:
- Calculates from start date
- Quarterly: Start date + 3/6/9 months
- Biannual: Start date + 6 months
Calendar Viewsβ
Four modes for different needs:
| View | Display | Grid Layout | Best For | Features |
|---|---|---|---|---|
| Monthly | One month | Single calendar | Detailed monthly planning | Day-by-day view, all holidays visible |
| Yearly | 12 months | 2 rows Γ 6 columns | Annual overview | See entire year at once, pattern recognition |
| Weekly | One week | 7-day horizontal | Short-term scheduling | Week-by-week navigation |
| List | All holidays | Data table | Data entry, bulk editing | Sortable columns, full details |
View Features:
Monthly/Yearly/Weekly:
- Click empty date β Opens insert form with date pre-filled
- Click date with holiday β Opens edit form for that holiday
- Navigate with Previous/Next arrows
- Today button returns to current period
List View:
- Tabular grid of all holidays
- Sort by any column (code, name, date, type)
- Standard insert/edit/delete actions
- No calendar visualization
One-Time vs Recurringβ
Critical distinction:
| Aspect | One-Time Holiday | Recurring Holiday |
|---|---|---|
| Is Recurring | Unchecked (false) | Checked (true) |
| Recurring Type | None | Yearly/Monthly/Quarterly/Biannual/Weekly |
| Future Appearance | Only on specified dates | Automatically in future periods |
| Edit Impact | Only that entry | All future occurrences |
| Use Cases | Unique events, variable dates | Annual holidays, regular events |
| Examples | Company 50th anniversary, Special event | Christmas (yearly), Monthly meeting |
When to Use One-Time:
- Unique, non-repeating events
- Variable-date holidays (lunar calendar like Eid)
- Special closures or occasions
- Create new entry each year when date confirmed
When to Use Recurring:
- Fixed annual holidays (New Year, Independence Day)
- Regular meetings or events
- Weekly/monthly schedules
- Any predictable, repeating date
Multi-Day Holidaysβ
Single entry spanning multiple dates:
Single-Day:
Start Date: 2025-08-17
End Date: 2025-08-17
Result: Holiday only on Aug 17
Multi-Day:
Start Date: 2025-03-31
End Date: 2025-04-02
Result: Holiday on Mar 31, Apr 1, Apr 2 (3 days)
Calendar Display:
- Shows as single colored span across all days
- All dates within range marked as holiday
- One entry manages entire period
Use Cases:
- Extended religious holidays (5-day Eid)
- Long weekend closures
- Year-end shutdown periods
- Multi-day company events
Permission Levelsβ
Role-based access control:
| Role | View | Create | Edit | Delete | Manage Types |
|---|---|---|---|---|---|
| Employee | β All | β No | β No | β No | β No |
| Supervisor | β All | β No | β No | β No | β No |
| Department Manager | β All | β Company only | β Own entries | β No | β No |
| HR Manager | β All | β All types | β All | β All | β Yes |
| Super Admin | β All | β All types | β All | β All | β Yes |
Access Details:
- View: All users can see calendar for planning
- Create: Managers can add company-specific holidays only
- Edit: Restricted to creators or admins (avoid unauthorized changes)
- Delete: HR and admin only (prevent accidental deletion)
- Manage Types: HR and admin configure categories and colors
Configurationβ
Before adding holiday calendar, configure these master data settings that define holiday.
Best Practicesβ
Holiday Setupβ
- Plan Ahead: Enter entire year's holidays at start of fiscal year
- Use Recurring: Set recurring for fixed-date annual holidays (saves time)
- Consistent Naming: Include year for variable dates (e.g., "Eid al-Fitr 1446 H")
- Regular Review: Update lunar calendar holidays 2-3 months in advance
- Multi-Day Entry: Use start/end dates for extended holidays (one entry, not multiple)
Recurring Managementβ
Yearly:
- Use for national holidays, religious observances with fixed dates
- Verify annually for lunar calendar holidays (create as one-time instead)
Monthly:
- Avoid days 29-31 (skips short months)
- Use days 1-28 for consistent monthly display
Weekly:
- Ideal for team meetings, regular events
- Based on weekday, not date number
Calendar Coordinationβ
Since Holiday Calendar doesn't auto-integrate:
For Schedulers:
- Check Holiday Calendar before generating work schedules
- Manually avoid assigning shifts on holidays
- Print/export for offline reference
For HR:
- Share holiday calendar with employees at year start
- Update promptly when dates change
- Use as reference for leave policies
For Employees:
- View before requesting leave (avoid redundancy)
- Plan long weekends around holidays
View Selectionβ
| Task | Use This View |
|---|---|
| Annual planning | Yearly |
| Monthly scheduling | Monthly |
| Short-term coordination | Weekly |
| Data entry/editing | List |
| Quick lookup | Monthly or List |
How to Useβ
How to View Holiday Calendar
Steps:
-
Navigate:
- Go to Attendance β Holiday Calendar
-
Select View:
- Monthly: Single-month detail (Previous/Next to navigate)
- Yearly: 12-month overview grid
- Weekly: Week-by-week view
- List: Tabular data table
-
Navigate Period:
- Use Previous/Next arrows (Monthly/Weekly/Yearly)
- Click Today to return to current date
- Click specific month in Yearly view to jump there
-
View Holiday Details:
- Calendar views: Click on holiday for full info
- List view: All details in grid columns
- Hover for quick preview (if supported)
-
Apply Filters (Optional):
- Select holiday types to show
- Check "Show Recurring Only"
- Use search box for specific holidays
Quick View Switch: Switch between Monthly/Yearly/Weekly/List without losing filters or selections.
How to Create Holidays
Steps:
-
Open Insert Form:
- Click Insert button, OR
- Click empty date in calendar view (auto-fills date)
-
Fill Basic Information:
- Code: Unique ID (e.g., CHRISTMAS_2025, NEW_YEAR)
- Name: Display name (e.g., "Christmas Day")
- Remark: Optional notes
-
Set Dates:
- Start Date: First day
- End Date: Last day (same as start for single-day)
-
Choose Type:
- Type: Select category (National, Religious, Company, etc.)
- Color: Auto-filled from type
-
Configure Recurrence (Optional):
- Is Recurring: Check if holiday repeats
- Recurring Type: Select frequency (Yearly, Monthly, Weekly, etc.)
-
Save:
- Click Save
- Holiday appears in calendar immediately
Examples:
One-Time National Holiday:
Code: INDEPENDENCE_2025
Name: Independence Day
Start: 2025-08-17
End: 2025-08-17
Type: National
Recurring: No
Recurring Religious Holiday:
Code: CHRISTMAS
Name: Christmas Day
Start: 2025-12-25
End: 2025-12-25
Type: Religious
Recurring: Yes
Recurring Type: Yearly
Multi-Day Company Event:
Code: COLLECTIVE_LEAVE_2025
Name: Eid Collective Leave
Start: 2025-03-31
End: 2025-04-04
Type: Company
Recurring: No
How to Edit or Delete Holidays
Edit:
- Click on holiday (calendar view) or select row (list view)
- Click Edit button or right-click β Edit
- Modify fields as needed
- Click Save
Important: Editing recurring holiday affects all future occurrences.
Delete:
- Select holiday
- Click Delete or right-click β Delete
- Confirm deletion
Deleting Recurring: Removes all future occurrences. Cannot be undone. Consider deactivating instead if you want to preserve history.
How to Manage Holiday Types
Access:
- Navigate to Holiday Calendar
- Click Holiday Type button
- Opens configuration page
Create Type:
- Click Insert
- Fill:
- Code: REGIONAL
- Name: Regional Holiday
- Color: #ffc107
- Active: Checked
- Click Save
Edit Type:
- Select type β Click Edit
- Change Name, Color, or Active status
- Click Save
- Color changes apply to all holidays of this type
Deactivate Type:
- Edit type β Uncheck Active β Save
- Type hidden from dropdown but existing holidays remain
How to Filter and Search
Filter by Type:
- Select holiday type checkboxes
- Calendar shows only selected types
- Clear to show all
Filter by Recurrence:
- Check "Show Recurring Only"
- Displays only repeating holidays
- Useful for annual template review
Search:
- Type in search box (code, name, or remark)
- Real-time filtering as you type
- Clear search to show all
Combine:
- Use type + recurrence + search together
- Example: Religious + Recurring + "Christmas"
FAQβ
What's the difference between recurring and one-time?
Recurring:
- Set once, applies to future periods automatically
- Examples: Christmas (yearly), monthly meetings
- Edit affects all future occurrences
One-Time:
- Applies only to specified dates
- Examples: Company 50th anniversary, special event
- Must create new entry for next occurrence
When to use recurring: Fixed annual holidays, regular events When to use one-time: Unique events, variable-date holidays
How do I handle lunar calendar holidays (Eid, Chinese New Year)?
Recommended: Create as one-time yearly
- Create holiday as one-time (not recurring)
- Include year in code: IDUL_FITRI_2025
- Create new entry each year when date confirmed
- Update 2-3 months before holiday
Why not recurring:
- Dates shift 10-12 days earlier each year
- System can't calculate lunar dates automatically
- Manual entry ensures accuracy
Can I create multi-day holidays?
Yes, use date range:
Single-Day:
Start: 2025-08-17
End: 2025-08-17
Multi-Day (3 days):
Start: 2025-03-31
End: 2025-04-02
All dates from start to end (inclusive) are marked as holiday. Calendar shows colored span across all days.
Do holidays automatically block work schedules?
NoβHoliday Calendar is reference only.
Manual coordination required:
- Schedulers must check Holiday Calendar before creating schedules
- System doesn't auto-block scheduling on holidays
- If employee scheduled on holiday β Schedule Conflict detected
- Users manually avoid assigning work on holidays
Best practice: Add holidays before generating work schedules.
Can I customize holiday colors?
Yes, via Holiday Type:
- Click Holiday Type button
- Edit type β Change Color field
- Save β All holidays of that type update color
Or:
- Override color when creating individual holiday (if system allows)
Color tips: Use high-contrast, limit to 6-8 colors, maintain consistency.
What happens with monthly recurring on day 29-31?
Days 29-31 skip short months:
- Day 29: Skipped in February (non-leap)
- Day 30: Skipped in February
- Day 31: Only occurs in 31-day months (7 times/year)
Best practice: Use days 1-28 for consistent monthly display.
Alternative: Create individual entries for specific months instead of monthly recurring.
If I edit a recurring holiday, what happens?
Changes apply to all future occurrences.
Example:
- Christmas set to Dec 25, recurring yearly
- Edit to change name from "Christmas" to "Christmas Day"
- All future years show "Christmas Day"
Past occurrences: Already recorded in attendance/payroll are unchanged.
If change only for one year: Create new one-time holiday instead of editing recurring.
What's the difference between Holiday Calendar and Holiday Type?
Holiday Calendar:
- Actual holiday dates and events
- What employees see for planning
- Examples: "Christmas Day - Dec 25, 2025"
Holiday Type:
- Categories for classifying holidays
- Configuration/admin setting
- Examples: "National", "Religious", "Company"
- Defines colors
Relationship: Each holiday belongs to one type. Type determines display color.
What happens if I click a date in calendar view?
If date has no holidays:
- Opens insert form
- Date pre-filled in start/end fields
- Fast holiday creation
If date has holidays:
- Opens edit form for that holiday
- Shows first/primary holiday if multiple exist
Benefit: Faster than clicking Insert button and selecting date manually.
Can I import holidays from external sources?
No direct import feature in standard interface.
Options:
- Manual entry: Create one by one (set recurring for annual)
- Bulk insert: Check with admin if CSV/Excel import available
- API integration: Developer can integrate with external holiday databases
Best practice:
- Enter at start of fiscal year
- Set recurring for fixed-date holidays
- Manual entry for variable dates