Configure which days of the week your school operates and manage holidays throughout the year. Set up your regular working schedule and mark special non-working days like public holidays and school events.
Navigation
Start from the left sidebar navigation menu:
- Look for the "Working Days" menu item in the left sidebar (calendar icon)
- Click on "Working Days" to navigate to this page
- The page will load and display: "Working Days" header, a table showing all 7 days of the week with their status, a calendar preview, and a holidays section
Overview
The Working Days page helps you configure your school's weekly operating schedule and special non-working days throughout the year. You can designate which days of the week are regular working days (like Monday through Friday) versus non-working days (like weekends), view a summary showing your total working days per week, manage holidays and special events using the Holiday Manager, and preview your schedule in a monthly calendar format. The page shows all seven days of the week with clear status badges indicating whether each day is a working day or non-working day.
Tasks
Read - View Working Days Configuration
Navigation: Start from sidebar → Click "Working Days" → Page loads
Display Format: The page shows several sections:
-
Schedule Settings Card:
- Table with all 7 days of the week (Sunday through Saturday)
- Each row shows:
- Day name (e.g., "Monday", "Tuesday")
- Status badge (green "Working Day" or blue "Non-Working Day")
- Footer showing total count: "You have X working days per week"
-
Calendar Preview Card:
- Monthly calendar view
- Shows working days in monthly format
- Helps visualize the weekly pattern
-
Holidays Card:
- Lists school holidays and special events
- "Add Holiday" button to create new holidays
- Displays holiday dates and descriptions
Example: "When you open Working Days, you see a table listing all 7 days. Monday through Friday show green 'Working Day' badges, while Saturday and Sunday show blue 'Non-Working Day' badges. The footer says 'You have 5 working days per week'."
Update - Edit Working Days
Navigation: Start from sidebar → Click "Working Days" → Click "Edit Working Days" button
Steps:
- Click Button: Click the blue gradient "Edit Working Days" button in the top-right area
- Dialog Opens: A dialog appears titled "Edit Working Days" showing all 7 days with dropdown menus
- View Current Settings: Each day shows its current status in a dropdown (either "Working Day" or "Non-Working Day")
- Select Day: Click on the dropdown for any day you want to change (e.g., Monday)
- Change Status: Select either "Working Day" or "Non-Working Day" from the dropdown options
- Repeat: Change as many days as needed
- Unsaved Indicator: The "Save Changes" button becomes enabled when you make changes
- Submit: Click the green "Save Changes" button at the bottom of the dialog
- Result: Dialog closes, the table updates to show new status badges, and the working days count updates
Save Button: Green "Save Changes" button at bottom of dialog (disabled when no changes, enabled after making changes) Success: Changes immediately reflect in the table after saving
Example: "To make Saturday a working day, click 'Edit Working Days', find the Saturday dropdown showing 'Non-Working Day', click it, select 'Working Day', and click 'Save Changes'. Saturday now shows a green 'Working Day' badge and the count changes from 5 to 6 working days."
Update - Toggle Single Working Day
Navigation: Start from sidebar → Click "Working Days" → Click "Edit Working Days"
Steps:
- Open Dialog: Click "Edit Working Days" button
- Find Day: Locate the day you want to change (e.g., Friday)
- Click Dropdown: Click the dropdown showing current status (e.g., "Working Day")
- Select Opposite: Choose the opposite option:
- If currently "Working Day", select "Non-Working Day"
- If currently "Non-Working Day", select "Working Day"
- Save: Click "Save Changes"
- Result: That day's status badge changes color and text
Example: "To mark Friday as non-working (for a long weekend), open the dialog, click Friday's dropdown, select 'Non-Working Day', and save. Friday switches from green 'Working Day' to blue 'Non-Working Day'."
Update - Toggle Multiple Working Days
Navigation: Start from sidebar → Click "Working Days" → Click "Edit Working Days"
Steps:
- Open Dialog: Click "Edit Working Days" button
- Change First Day: Click Monday's dropdown, change to desired status
- Change Second Day: Click Wednesday's dropdown, change to desired status
- Change Additional Days: Repeat for as many days as needed
- Observe Changes: "Save Changes" button remains enabled after first change
- Save All: Click "Save Changes" once to save all modifications
- Result: All changed days update their badges simultaneously
Example: "To set up a 4-day work week (Monday, Tuesday, Thursday, Friday), open the dialog, set Monday to Working Day, Tuesday to Working Day, Wednesday to Non-Working Day, Thursday to Working Day, Friday to Working Day, and Saturday/Sunday to Non-Working Day. Click 'Save Changes' and all seven days update at once."
Update - Cancel Changes Without Saving
Navigation: Start from sidebar → Click "Working Days" → Click "Edit Working Days"
Steps:
- Open Dialog: Click "Edit Working Days" button
- Make Changes: Change one or more day statuses using the dropdowns
- Cancel: Click the "Cancel" button instead of "Save Changes"
- Dialog Closes: The dialog closes without saving
- Verify: Open the dialog again - all days show their original status (changes were discarded)
Example: "If you accidentally change Thursday to non-working but realize it's a mistake, click 'Cancel' instead of 'Save Changes'. When you reopen the dialog, Thursday still shows 'Working Day' - your accidental change was discarded."
Create - Add Holiday
Navigation: Start from sidebar → Click "Working Days" → Scroll to Holidays section
Steps:
- Locate Section: Scroll down to the "Holidays" card
- Click Button: Click the "Add Holiday" button
- Dialog Opens: Holiday creation form appears
- Fill Details:
- Enter holiday name (e.g., "Independence Day")
- Select date from calendar picker
- Choose holiday type (e.g., "Public Holiday" or "School Event")
- Add description (optional)
- Toggle "Recurring" if it repeats annually
- Submit: Click "Add Holiday" button
- Result: Holiday appears in the holidays list, shows on calendar preview
Example: "To add Christmas as a holiday, click 'Add Holiday', enter 'Christmas Day' as the name, select December 25, choose 'Public Holiday', turn ON recurring since it's annual, and click 'Add Holiday'. It now appears in your holidays list and on the calendar."
Delete - Remove Holiday
Navigation: Start from sidebar → Click "Working Days" → Scroll to Holidays section
Steps:
- Find Holiday: Locate the holiday in the holidays list
- Click Delete: Click the delete button (trash icon) for that holiday
- Confirm: Confirm the deletion if prompted
- Result: Holiday is removed from the list and no longer shows on the calendar
Example: "To remove an outdated 'Teacher Training Day', find it in the holidays list, click the delete icon, confirm, and it disappears from both the list and calendar."
Buttons & Controls
- Edit Working Days (Blue Gradient Button): Opens the dialog to modify which days are working days. Located in the top-right area of the page.
- Back to Dashboard (Outlined Button): Returns to the main dashboard. Located next to "Edit Working Days" button.
- Day Status Dropdown (in Edit Dialog): Dropdown menu for each day showing "Working Day" or "Non-Working Day". Click to change the status for that day.
- Save Changes (Green Button in Dialog): Saves all modifications made to working days. Disabled when no changes have been made, enabled after making changes.
- Cancel (Outlined Button in Dialog): Closes the dialog without saving changes. Discards all modifications.
- Add Holiday (Button in Holidays Section): Opens form to create a new holiday or special event.
- Delete Holiday (Trash Icon): Removes a holiday from the list.
Visual Elements
- Working Day Badge (Green with Border): Shows "Working Day" in green to indicate this day is a regular school day. Appears in the Status column.
- Non-Working Day Badge (Blue with Border): Shows "Non-Working Day" in blue to indicate this day is not a school day. Appears in the Status column.
- Working Days Count (Info Icon): Footer message showing "You have X working days per week" - updates dynamically as you change settings.
- Calendar Preview: Monthly calendar showing working days highlighted, helps visualize the weekly pattern.
- Unsaved Changes Indicator: "Save Changes" button state (disabled/enabled) indicates whether you have unsaved modifications.
- Loading Spinner: Animated spinner that appears while working days data is being loaded from the database.
- Dialog Overlay: Semi-transparent overlay that appears behind the Edit Working Days dialog.
Form Fields Reference
In Edit Working Days Dialog:
- Day Name Labels: Static labels for each day (Sunday, Monday, Tuesday, etc.) - not editable
- Status Dropdown: For each day, dropdown with two options:
- "Working Day" - marks the day as a school day
- "Non-Working Day" - marks the day as non-school day
- Default selection shows current status
In Add Holiday Dialog:
- Holiday Name: Text field, required, name of the holiday. Example: "Independence Day", "Teacher Training Day"
- Date: Date picker, required, when the holiday occurs
- Type: Dropdown, holiday category like "Public Holiday" or "School Event"
- Description: Text field, optional, additional details about the holiday
- Recurring: Toggle switch, mark ON if the holiday repeats every year at the same date
Alerts & Errors
- "Failed to load working days": Error message shown at the top if working days data cannot be fetched from the database. May include a "Go to Home Page" button if initialization is required.
- "Changes saved successfully": Implicit success - dialog closes and table updates after clicking "Save Changes" in Edit Working Days dialog.
- No Changes Made: "Save Changes" button stays disabled if you open the dialog but don't modify any day statuses.
- Loading State: Spinner with text while initial page data loads.
Rules & Constraints
-
All 7 Days Always Display: The table always shows all seven days of the week (Sunday through Saturday)
- What Happens: Even if a day has no specific configuration, it appears with a default status
- Example: Fresh installation shows all 7 days, with your chosen working days marked as "Working Day"
-
Working Days Count Updates Automatically: The footer count updates immediately after saving changes
- What's Valid: Any number from 0 to 7 working days per week
- Example: Changing from 5-day (Mon-Fri) to 6-day (Mon-Sat) schedule updates count from "5 working days" to "6 working days"
-
Changes Require Saving: Modifying day statuses in the dialog doesn't take effect until you click "Save Changes"
- What Happens: Clicking "Cancel" or closing the dialog discards all unsaved changes
- Example: If you change Monday to non-working but click "Cancel", Monday remains a working day - changes are lost
-
Save Button Disabled Without Changes: The "Save Changes" button is disabled when you first open the dialog
- What Happens: Button becomes enabled only after you modify at least one day's status
- Example: Opening the dialog and clicking "Save Changes" without changes does nothing - button is disabled
-
Each Day Has Exactly Two Options: Every day can only be either "Working Day" or "Non-Working Day"
- What's Valid: Selecting "Working Day" or "Non-Working Day" from the dropdown
- What's Invalid: No partial states or custom options
- Example: Friday is either fully working or fully non-working - no half-day options in this setting
-
Changes Persist After Page Reload: Once saved, working day settings remain until you change them again
- What Happens: Refreshing the page or navigating away and back shows your saved configuration
- Example: After setting up Mon-Fri as working days and saving, closing the browser and returning tomorrow still shows Mon-Fri as working days
Tips & Notes
- Standard 5-Day Week: Most schools use Monday through Friday as working days, with Saturday and Sunday as non-working days.
- Save Changes to Apply: Remember to click "Save Changes" in the dialog - just selecting options doesn't save them.
- Unsaved Changes Indicator: Watch the "Save Changes" button - if it's disabled, you haven't made any changes yet.
- Cancel Discards Everything: The "Cancel" button discards ALL changes you made in the dialog, not just the last one.
- Count Shows Total: The "You have X working days per week" message helps you quickly verify your configuration without counting manually.
- Calendar Preview Helps: Use the calendar preview to visualize how your working days pattern looks across a month.
- Holidays Are Separate: Marking a day as "Non-Working Day" means it's never a school day. Holidays are for special one-time or annual non-working dates (like Christmas) that override working days.
- Six-Day Weeks: Some schools operate Monday through Saturday - simply set Saturday to "Working Day" for a 6-day schedule.
- Changes Apply Globally: Working day settings affect the entire school system - timetable generation, scheduling, and reporting all use these settings.
- No Partial Days: This setting is for full working days only. If your school has half-day operations, manage those through bell times or special schedules.