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

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 keyPurpose
attendance_viewOpen attendance pages and view attendance data.
attendance_manageCreate and update attendance records manually (admin corrections).
attendance_checkinMark check?in.
attendance_checkoutMark check?out.
attendance_shift_manageCreate shifts and assign them to staff.
attendance_leave_requestSubmit leave requests.
attendance_leave_approveApprove or reject leave requests.
attendance_regularization_requestRequest missed punch or time corrections.
attendance_regularization_approveApprove or reject regularization requests.
attendance_holiday_manageCreate and manage holiday calendar entries.
attendance_overtime_viewAccess overtime listing and related views.
attendance_reports_viewAccess attendance reports and analytics.
attendance_payroll_exportGenerate payroll?oriented attendance exports where the product exposes them.
attendance_settings_manageConfigure 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.php and 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.php from admin, or equivalent staff management screens), set the attendance shift where the form exposes it.
  • Permission attendance_shift_manage is 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 rangeuser, 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_manage can add or correct records through the manual entry flow and modals provided on the page.
  • Users with attendance_checkin and attendance_checkout can 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 on attendance-leave.php and 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.php with attendance_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_request to ask for corrections when a check?in or check?out was missed or wrong.
  • Managers or HR use attendance_regularization_approve on attendance-regularization.php to 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 via attendance_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.php requires attendance_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_export unlocks 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 example staff/attendance.phpstaff/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.js and assets/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.