Shifts
The Shifts section is used to define work schedules used in employee assignments and attendance workflows.
Shifts Index Page
The index page displays all shifts with timing, total hours, break duration, overnight flag, and status.

Available Filters
| Filter | Description |
|---|---|
| Search | Searches shifts by text. |
| Branch | Filters by branch (shown only for users not assigned to one branch). |
| From | Start date for creation date filtering. |
| To | End date for creation date filtering. |
Available Actions
- Create: Opens the shift creation form.
- Edit: Updates an existing shift.
- Delete: Deletes one shift after confirmation.
- Bulk Delete: Deletes selected shifts after confirmation.
Create Shift Page
Use this page to add a new shift schedule.

Form Fields
| Field | Purpose |
|---|---|
| Branch | Branch for the shift (visible on create for non branch-assigned users). |
| Name (multi-language) | Shift name in each enabled language. |
| Start Time | Shift start time. |
| End Time | Shift end time. |
| Break Minutes | Break duration in minutes. |
| Description (multi-language) | Optional shift details. |
| Active | Enables or disables the shift. |
Validation Rules
- Name: required, text, minimum 2 and maximum 255 characters.
- Description: optional, minimum 2 and maximum 500 characters when entered.
- Start Time / End Time: required in time format.
- Break Minutes: required integer from 0 to 255.
- Active: required boolean.
Edit Shift Page
Use this page to update an existing shift.

The edit page uses the same structure as create and recalculates timing-related values after save.
Notes
- Overnight status is calculated automatically when end time is less than or equal to start time.
- The index page shows calculated Timing and Total Hours for quick review.
