Holidays

Configure public holidays and special dates to adjust parking rates and system behavior

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
💡 Use Case: Configure statutory holidays for free parking, special event dates for premium pricing, or seasonal periods with adjusted rates.

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
⚠️ Validation: The system validates your rule configuration to ensure valid dates. Common errors include invalid day numbers (e.g., February 30) or missing required fields.

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)

✓ Best For: Traditional statutory holidays with fixed calendar dates

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)

💡 Preview: The system shows a live preview: "This will be: 3rd Monday of February"

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

⚠️ Note: Base holiday must be created first

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

⚡ Tip: This holiday will not recur in following years

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
💡 Recommendation: Enable "Move to Monday" for New Year's Day, Canada Day, and Christmas Day to match standard statutory holiday observance practices.

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
✅ Pro Tip: Create a "Holiday Template" document listing all your standard holidays with their configurations. This makes it easy to replicate settings across different parking facilities or restore after system updates.

Holidays Configured!

Your holiday system is set up. Explore related settings and shift configurations for complete scheduling management.