Shift Change Request
The Shift Change Request feature allows employees to request changes to their assigned shifts directly from their dashboard. This ensures a smooth and transparent workflow between employees and administrators.
⚙️ Prerequisite: Permission Setup
Section titled “⚙️ Prerequisite: Permission Setup”Before an employee can request a shift change, the correct permission must be enabled.
Step 1: Configure Role Permissions
Section titled “Step 1: Configure Role Permissions”- Go to Employee Roles & Permissions
- Navigate to Attendance
- Set View Shift Roster permission to Owned
- Save the changes
This setting ensures employees can view only their own shift roster and request changes accordingly.
? Employee Action: Raise Shift Change Request
Section titled “? Employee Action: Raise Shift Change Request”Step 2: Login as Employee
Section titled “Step 2: Login as Employee”- Log in using the employee account
Step 3: Request Shift Change
Section titled “Step 3: Request Shift Change”- Open the Dashboard
- Go to the Shift Schedule section
- Select the shift you want to change
- Click on “Shift Change Request”
- Submit the request with required details (if any)
Once submitted, the request is sent to the admin or manager for review.
? What Happens Next?
Section titled “? What Happens Next?”- The admin/manager receives the shift change request in shift roaster menu -> shift change requests
- The request can be approved or rejected
- Employees are notified about the status update
? Benefits of Shift Change Requests
Section titled “? Benefits of Shift Change Requests”- Empowers employees to manage their schedules
- Reduces manual coordination with HR
- Maintains proper approval workflow
- Improves transparency in shift management
✅ Summary
Section titled “✅ Summary”By enabling the View Shift Roster permission as Owned, employees gain access to their shift schedules and can easily raise shift change requests directly from the dashboard—making shift management efficient and hassle-free.
document.querySelectorAll(‘.portal-attachment-thumbnail-img’).forEach(function(img) {
img.addEventListener(‘error’, function () {
attachment_error_image(this);
});
});
const attachment_error_image = (attachment) => {
const parentElement = attachment.parentElement;
const defaultIcon = <span class="icon-file-empty"></span><span class="fw-attachment-ext">${escapeHtml(attachment.dataset.extension)}</span>;
parentElement.innerHTML = defaultIcon;
};