Task Session includes an attendance module for check? in and check? out, shifts, leave, holidays, regularization (missed punch corrections), overtime, reports, and policy settings. This guide explains how to turn the module on, assign permissions, configure policies, and use each area from the admin and staff panels. Replace https://yourdomain.com/ with your real installation URL throughout.
Table of Contents
- Prerequisites
- Enabling the attendance module
- Roles and permissions
- Admin interface and URLs
- Attendance settings (policy, closed days, month lock)
- Shifts: definitions and assignment to staff
- Attendance dashboard (records, filters, manual entry)
- Leave requests and approvals
- Holiday calendar
- Regularization requests
- Overtime
- Reports and exports
- Staff experience and navigation
- Technical notes (APIs and database)
- FAQ
Prerequisites
Before you configure attendance, ensure that:
- Task Session is installed and you can sign in to
https://yourdomain.com/admin/as an administrator. - The attendance module’s database tables exist. If you are upgrading from an older build, run the SQL migration scripts supplied with your release (typically under the attendance includes path) so tables such as policies, shifts, daily records, leave, and holidays are present.
- Staff accounts use account status appropriate for internal users (admin and staff roles as defined in your installation).
Enabling the attendance module
1. System settings
- Open System settings in the admin area (for example
https://yourdomain.com/admin/system-settings.php). - Enable the Attendance module flag so the sidebar and attendance screens are available.
- If attendance is disabled, visiting attendance pages may redirect you back to system settings until you enable the module.
2. After enabling
- Use the sidebar Attendance entry to open the attendance area.
- Complete Attendance settings (policy and optional closed days) before relying on late rules and auto?absent behavior.
Roles and permissions
Attendance behavior is controlled by granular permissions under Roles in the admin panel. Assign them to each role that should use attendance features.
| Permission key | Purpose |
|---|---|
attendance_view | Open attendance pages and view attendance data. |
attendance_manage | Create and update attendance records manually (admin corrections). |
attendance_checkin | Mark check?in. |
attendance_checkout | Mark check?out. |
attendance_shift_manage | Create shifts and assign them to staff. |
attendance_leave_request | Submit leave requests. |
attendance_leave_approve | Approve or reject leave requests. |
attendance_regularization_request | Request missed punch or time corrections. |
attendance_regularization_approve | Approve or reject regularization requests. |
attendance_holiday_manage | Create and manage holiday calendar entries. |
attendance_overtime_view | Access overtime listing and related views. |
attendance_reports_view | Access attendance reports and analytics. |
attendance_payroll_export | Generate payroll?oriented attendance exports where the product exposes them. |
attendance_settings_manage | Configure attendance policies, closed days, locks, and see the full attendance tab bar on staff when granted to a staff role. |
Staff users without attendance_settings_manage still see an attendance section if they have other attendance permissions; the first tab is labelled Dashboard and additional tabs appear only for permissions they hold (for example Shifts only if they have attendance_shift_manage).
Admin interface and URLs
Typical admin pages (paths relative to https://yourdomain.com/admin/):
- Attendance (dashboard) —
attendance.php - Shifts —
attendance-shifts.php - Leave —
attendance-leave.php - Holidays —
attendance-holidays.php - Regularization requests —
attendance-regularization.php - Overtime —
attendance-overtime.php - Reports —
attendance-reports.php - Settings —
attendance-settings.php
A horizontal tab bar links these sections when your role has access. Individual pages also enforce permissions and the module flag.
Attendance settings (policy, closed days, month lock)
Open https://yourdomain.com/admin/attendance-settings.php (permission: attendance_settings_manage). The page has three sections: General, Closed Days, and Month Lock.
1. General policy
- Grace time (minutes) — window after shift start before lateness is counted.
- Late threshold (minutes) — used with grace rules to classify late arrivals.
- 3 Late = Half Day — number of late marks that convert a day to half day (default often 3; adjust to your policy).
- Minimum working hours (minutes) — expected time on duty for a full day (for example 480 for eight hours).
- Half day threshold (minutes) — minimum worked minutes to avoid treating the day as half day when rules apply.
- Duplicate punch prevention (minutes) — minimum gap between punches to ignore accidental double clicks.
- Default salary deduction mode and value — default for new or global deduction behavior (fixed amount or percentage); per?staff overrides may exist on staff profiles where your build exposes them.
- Auto absent rules — when enabled, days without punch can be treated as absent according to system logic.
- Flexible timing — when enabled, allows more flexible interpretation of shift times where implemented.
Save the form to persist changes. Settings are stored against the active attendance policy record.
2. Closed days
- Closed weekdays — tick days that are normally non?working for the organization (for example Saturday and Sunday). Selected days are treated as weekly off unless a shift or user override allows work.
- User day overrides — for specific employees, mark a weekday as a working or non?working day relative to the closed?weekday rules. You can add rows and remove existing overrides using the table and form on the same page.
3. Month lock
- Choose a month (year?month) and use Lock to lock attendance after month close so records for that period cannot be changed casually. Use this as part of your payroll close process.
Shifts: definitions and assignment to staff
1. Managing shift templates
- Go to
attendance-shifts.phpand create shifts with start and end times, labels, and active status as your UI provides. - Staff must have an assigned shift for daily expectations and late calculations to align with the correct window.
2. Assigning a shift to an employee
- When adding a staff member (
add-staff.php) or editing a user with staff privileges (staff/edit.phpfrom admin, or equivalent staff management screens), set the attendance shift where the form exposes it. - Permission
attendance_shift_manageis required to manage shift definitions; assignment on user profiles is part of staff administration.
Attendance dashboard (records, filters, manual entry)
The main attendance page (attendance.php) summarises presence, absence, leave, and lateness for a date range and supports filtering.
- Use date range, user, and shift filters where shown to narrow the grid.
- Summary cards typically reflect the same filters (present, on time, absent, late, on leave).
- Users with
attendance_managecan add or correct records through the manual entry flow and modals provided on the page. - Users with
attendance_checkinandattendance_checkoutcan punch in and out according to IP or other rules your installation applies.
Leave requests and approvals
- Requesting leave requires
attendance_leave_request. Staff submit leave with type, dates, and reason where the form requires them. - Approving leave requires
attendance_leave_approve. Approvers see pending items onattendance-leave.phpand can approve or reject. - Approved leave links to daily attendance status (for example
on_leave) in reports and the dashboard.
Holiday calendar
- Open
attendance-holidays.phpwithattendance_holiday_manage. - Add organization holidays with dates and names so they are excluded or flagged in attendance logic alongside closed weekdays.
Regularization requests
- Employees use
attendance_regularization_requestto ask for corrections when a check?in or check?out was missed or wrong. - Managers or HR use
attendance_regularization_approveonattendance-regularization.phpto approve or reject. - Administrators can often submit or approve regularization on behalf of a selected user where the modal and API support a target user id.
Overtime
- The overtime screen (
attendance-overtime.php) lists overtime records for users who have access viaattendance_overtime_view. - Eligibility and calculation may depend on policy (including overtime?eligible flags in policy data) and recorded work times. Use reports for auditing alongside this list.
Reports and exports
attendance-reports.phprequiresattendance_reports_view.- Filter by date range, user, and shift where available to match the main attendance module.
- Tables show check?in and check?out times, reasons where stored, and status columns appropriate to your build.
attendance_payroll_exportunlocks payroll?oriented export actions when the product exposes export buttons on report or related pages.
Staff experience and navigation
- Staff open attendance under
https://yourdomain.com/staff/with filenames parallel to admin (for examplestaff/attendance.php,staff/attendance-shifts.php, and so on). - The same permission keys apply: staff only see tabs and actions they are allowed to perform.
- When a staff user edits their own profile only, sensitive blocks such as IP restriction and attendance compensation fields may be hidden, and saving does not change shift or salary fields reserved for administrators. Full attendance administration for that user remains on the admin side.
Technical notes (APIs and database)
- Server logic for attendance is concentrated under
includes/attendance/(helpers, leave, regularization, settings endpoints, reporting, and related scripts). - Admin and staff pages include shared helpers (for example
page-helpers.php) for guards, summary cards, and tab definitions. - Front?end behaviour may use
assets/js/attendance.jsandassets/css/attendance.css. - After code updates, apply any new SQL migrations and clear server opcode caches if you use them, then verify permissions and policy in a non?production copy first.
FAQ
Why do I get redirected away from attendance pages?
Enable the attendance module in system settings. Also confirm your role includes attendance_view (and the specific permission for the page you need).
Why does a staff user not see all attendance tabs?
Without attendance_settings_manage, staff see a reduced tab set: always the dashboard tab if they may view attendance, plus only tabs matching their other permissions (for example Leave if they can request or approve leave).
Where do I fix a wrong attendance day after payroll review?
Users with attendance_manage can correct records on the attendance dashboard. If the month is locked, adjust lock policy or unlock according to your procedure before editing.
Do closed weekdays apply to everyone equally?
Closed weekdays apply globally unless you add a user day override for specific employees in Attendance settings.
With the module enabled, migrations applied, policies saved, shifts assigned, and roles granted the right permissions, Task Session attendance supports daily operations from self?service punch and leave through approvals, reporting, and month lock for payroll control.

