Overview
The Holidays management system allows you to configure public holidays, special dates, and recurring events that affect your parking facility's operations. The system automatically calculates holiday dates for each year based on flexible rule definitions.
Key Features:
- Flexible Rule Types: Support for fixed dates, nth weekdays, relative dates, date ranges, and custom formulas
- Automatic Date Calculation: System calculates holiday dates for each year automatically
- Weekend Handling: Optional "Move to Monday" for holidays falling on weekends
- Rate Integration: Holidays can trigger special pricing or free parking periods
- Multi-Year Support: Configure recurring holidays and one-time special dates
Viewing Holidays
Access the holidays management page from Settings → Holidays in the main navigation menu.
Holidays List
The holidays page displays all configured holidays in a table format with the following information:
- Name: The holiday name (e.g., "New Year's Day", "Canada Day")
- Rule Type: Visual badge indicating the rule type (Fixed Date, Nth Weekday, etc.)
- Description: Human-readable description of when the holiday occurs
- Next: The next occurrence date with countdown (e.g., "Jan 1, 2026" or "in 4 days")
- Status: Active or Inactive status indicator
- Actions: Edit and delete buttons
Rule Type Badges
Fixed Date - Annual fixed calendar date
Nth Weekday - Specific weekday occurrence in a month
Custom Formula - Complex calculation formula
Weekday Before Date - Weekday preceding a specific date
Search and Filter
Use the search bar to quickly find specific holidays by name. The table supports pagination for managing large numbers of holidays.
Creating Holidays
Click the + Add Holiday button to create a new holiday. The creation form includes several configuration sections:
Basic Information
- Name: A descriptive name for the holiday (e.g., "Christmas Day", "Spring Break")
- Rule Type: Select how the holiday date is calculated (see Rule Types section below)
- Move to Monday: Automatically shift weekend holidays to the following Monday
- Status: Toggle Active/Inactive to enable or disable the holiday
Rule Configuration
The rule configuration fields change dynamically based on the selected rule type. Each rule type has specific fields required to calculate the holiday date:
- Date Pickers: Select specific dates or reference dates
- Dropdowns: Choose months, weekdays, or occurrence numbers
- Number Inputs: Enter day numbers or offset values
- Preview: See a live preview of when the holiday will occur
Rule Types
LEXOH supports eight different rule types for holiday configuration, each suited for different scheduling patterns:
1. Fixed Date
Use Case: Holidays that occur on the same calendar date every year
Configuration: Select a specific month and day
Examples: New Year's Day (January 1), Canada Day (July 1), Christmas (December 25)
2. Nth Weekday
Use Case: Holidays defined as a specific occurrence of a weekday in a month
Configuration: Choose occurrence (1st-5th), weekday (Monday-Sunday), and month
Examples: Family Day (3rd Monday of February), Labour Day (1st Monday of September), Thanksgiving (2nd Monday of October)
3. Last Weekday
Use Case: Holidays occurring on the last occurrence of a specific weekday in a month
Configuration: Select weekday and month
Examples: Memorial Day (last Monday of May), End-of-month events
4. Weekday Before Date
Use Case: Holidays defined as a specific weekday immediately before a reference date
Configuration: Choose target weekday and reference date
Examples: Victoria Day (Monday before May 25), Good Friday (Friday before Easter)
5. Relative Date
Use Case: Holidays calculated relative to another existing holiday
Configuration: Select base holiday and offset in days (positive or negative)
Examples: Boxing Day (+1 day from Christmas), day after Thanksgiving
6. Date Range
Use Case: Multi-day periods or seasonal closures
Configuration: Set start date and end date
Examples: Christmas season (December 24-26), Spring break week, Summer closure period
7. Manual One-Time
Use Case: Non-recurring events for a specific year only
Configuration: Select a specific date including year
Examples: Special events, one-time facility closures, conference dates
8. Custom Formula
Use Case: Complex calculations requiring predefined formulas
Configuration: Select from available predefined formulas
Examples: Easter calculation, lunar calendar holidays, religious observances with complex rules
Common Examples
Here are real-world examples of holiday configurations for common statutory holidays:
Canadian Statutory Holidays
New Year's Day
- Rule Type: Fixed Date
- Date: January 1
- Move to Monday: Yes (observed on Monday if falls on weekend)
Family Day
- Rule Type: Nth Weekday
- Configuration: 3rd Monday of February
- Description: "3rd Monday of February"
Good Friday
- Rule Type: Custom Formula
- Formula: Easter-based calculation
- Description: "Custom: Good Friday"
Warning: Undefined array key "example_victoria" in /var/www/html/views/documentation/holidays.php on line 307
Warning: Undefined array key "example_victoria_rule" in /var/www/html/views/documentation/holidays.php on line 309
Warning: Undefined array key "example_victoria_config" in /var/www/html/views/documentation/holidays.php on line 310
Warning: Undefined array key "example_victoria_desc" in /var/www/html/views/documentation/holidays.php on line 311
Canada Day
- Rule Type: Fixed Date
- Date: July 1
- Move to Monday: Yes
Warning: Undefined array key "example_civic" in /var/www/html/views/documentation/holidays.php on line 323
Warning: Undefined array key "example_civic_rule" in /var/www/html/views/documentation/holidays.php on line 325
Warning: Undefined array key "example_civic_config" in /var/www/html/views/documentation/holidays.php on line 326
Warning: Undefined array key "example_civic_desc" in /var/www/html/views/documentation/holidays.php on line 327
Warning: Undefined array key "example_labour" in /var/www/html/views/documentation/holidays.php on line 331
Warning: Undefined array key "example_labour_rule" in /var/www/html/views/documentation/holidays.php on line 333
Warning: Undefined array key "example_labour_config" in /var/www/html/views/documentation/holidays.php on line 334
Warning: Undefined array key "example_labour_desc" in /var/www/html/views/documentation/holidays.php on line 335
Thanksgiving Day
- Rule Type: Nth Weekday
- Configuration: 2nd Monday of October
- Description: "2nd Monday of October"
Remembrance Day
- Rule Type: Fixed Date
- Date: November 11
- Move to Monday: No (observed on actual date)
Christmas Day
- Rule Type: Fixed Date
- Date: December 25
- Move to Monday: Yes
Boxing Day
- Rule Type: Fixed Date
- Date: December 26
- Move to Monday: Yes (observed on Monday if falls on weekend)
Truth & Reconciliation Day
- Rule Type: Fixed Date
- Date: September 30
- Move to Monday: No (federal statutory holiday)
Move to Monday
The "Move to Monday" feature automatically adjusts holidays that fall on weekends to be observed on the following Monday. This is a common practice for statutory holidays in many jurisdictions.
How It Works
- Saturday: Holiday observed on the following Monday
- Sunday: Holiday observed on the following Monday
- Weekday: Holiday observed on the actual date (no adjustment)
Example Scenarios
Scenario 1: New Year's Day 2026
Actual Date: January 1, 2026 (Thursday)
Observed: January 1, 2026 (same day - no adjustment)
Scenario 2: Canada Day 2026
Actual Date: July 1, 2026 (Wednesday)
Observed: July 1, 2026 (same day - no adjustment)
Scenario 3: Christmas 2025
Actual Date: December 25, 2025 (Thursday)
Observed: December 25, 2025 (weekday - no adjustment)
When to Use
- Enable: For statutory holidays that follow government observance rules
- Disable: For religious holidays, special events, or holidays always observed on their actual date
Best Practices
Naming Conventions
- Use official holiday names (e.g., "Canada Day" not "Canadian Independence")
- Be descriptive for special events (e.g., "Summer Festival Weekend 2026")
- Include year for one-time events (e.g., "Conference 2026")
- Use consistent capitalization and formatting
Rule Type Selection
- Choose the simplest rule type that accurately represents the holiday
- Use Fixed Date for traditional calendar holidays (Christmas, New Year's)
- Use Nth Weekday for floating holidays (Labour Day, Thanksgiving)
- Use Manual One-Time only for truly non-recurring events
- Test custom formulas thoroughly before activating
Integration with Pricing
- Coordinate holidays with your pricing configuration
- Set special rates for holiday periods (free parking, premium pricing, etc.)
- Configure grace periods for holiday transitions
- Test pricing calculations around holiday dates
Maintenance and Updates
- Review holiday list annually for changes in statutory holidays
- Add upcoming special events and facility closures in advance
- Mark one-time events as inactive after they pass
- Verify "Next" dates shown in the table are correct
- Update move-to-Monday settings if observance rules change
Testing Recommendations
- Create new holidays in inactive status initially
- Verify the "Next" occurrence date is correct
- Test with future years to ensure recurring holidays calculate properly
- Check move-to-Monday functionality around weekends
- Activate only after confirming accuracy
Common Mistakes to Avoid
- ❌ Creating duplicate holidays with different names
- ❌ Using manual one-time for recurring holidays
- ❌ Forgetting to enable move-to-Monday for statutory holidays
- ❌ Not testing custom formulas before activation
- ❌ Leaving old one-time events active indefinitely
Holidays Configured!
Your holiday system is set up. Explore related settings and shift configurations for complete scheduling management.