PCS User Manual
A step-by-step guide for new users of PCS (Project Control System) — the construction operations platform for activity tracking, team assignment, multi-level approvals, attendance, and payroll.
What you will learn
- What PCS does and which features matter day to day
- Sign in and navigate the console
- Create users, roles, projects, labor, and teams
- Publish and approve field activities
- Manage attendance, leave, idle time, and payroll
Introduction
PCS bridges on-site work execution with office control and payroll. Office users configure projects, rates, and teams; field crews execute activities through the worker experience; supervisors approve completed work with quality ratings; payroll then consumes attendance, leave, idle time, and approved activity values through team wallets.
Core flow
Projects → Properties → Activities → Team assignment → Approval → Team wallet → Payroll period.
Access model
Menus and actions appear based on your system role and permissions. If a button is missing, ask an admin to grant access.
Features of PCS
PCS is built around construction activity control: plan the site structure, publish measurable work packages, assign skilled teams, verify quality, and convert approved work plus attendance into fair payouts.
At a glance
Project control
Wizard-based project setup with hierarchy, properties, geofences, rates, and assigned users.
Go to Projects →Activity lifecycle
Draft → publish → assign → execute → complete → rate & approve or reject, with full status history.
Go to Activities →Workforce & pay
Labor pool, teams, attendance, leave, idle time, team wallets, and payroll periods/reports.
Go to Payroll →Feature catalog
-
DashboardsRole-aware landing pages. General users open
/dashboard; site engineers are redirected to a dedicated SE dashboard for site-focused KPIs and queues. -
Users & rolesCreate staff accounts, assign system roles, and control menus via permissions. Role hierarchy defines superior/subordinate relationships used for oversight and approval authority. See what each role can do.
-
Project wizardGuided creation in five steps: project details, building/floor hierarchy, properties, activity rates, and project users — so a project is operational before work is published.
-
Hierarchy & propertiesModel the site as Project → buildings / types / floors → properties. Activities are always tied to a property so quantity and location stay unambiguous.
-
GeofencesDefine project geofence areas (circle or polygon) used for location-aware field controls. Workers mark attendance from the mobile app only when inside an allowed site boundary. Mobile attendance.
-
MastersMaintain reusable activity masters and activity rate masters (unit prices / work definitions) that projects and published activities consume.
-
Labor managementRegister workers (manually or via import), manage the labor pool, reset access credentials, and assign labor roles that drive payroll share weights.
-
Labor rolesPay grades such as Team Leader, Chargehand, Skilled, Semi Skilled, and Helper. Fixed-pay roles take a leadership cut; others share the remaining wallet by FTE × attendance. Details.
-
TeamsForm crews with a team leader, optional site engineer, members, skills, and primary/secondary project links. Teams apply for or get assigned to activities across their linked projects and own attendance / idle-time records.
-
ActivitiesCreate measurable work packages (project, property, rate, dates, quantity, compensation). Publish to the field, track progress on a status stepper, and export lists when needed.
-
Approvals & ratingsWhen work is completed, authorized users approve with a quality star rating and remarks, or reject with a reason. Approvals unlock compensation credit into the team wallet.
-
Activity bundlesGroup related activities for coordinated planning, tracking, and bundle-level review.
-
AttendanceTrack present / absent / leave by team against a payroll period. Open team detail for member-level marks, rates, and authorized overrides.
-
Annual leaveRequest, review, approve, or reject leave. Leave interacts with attendance and payroll period calculations.
-
Team idle timeCapture non-productive but compensable waiting/idle periods for a team, then approve or reject before payroll impact.
-
Team wallet & payrollApproved activity value credits team wallets. Payroll periods, settings, and reports distribute amounts using labor-role rules and attendance, and support PDF/report viewing.
-
HolidaysMaintain the holiday calendar so working-day counts used by attendance and payroll stay accurate.
-
NotificationsIn-app notification center for operational alerts such as assignments, approvals, and system notices.
-
Activity / audit logsTrace who created or changed sensitive records for compliance and troubleshooting.
-
Worker surfacesField-facing worker routes/APIs for team info, applying to activities, updating progress, marking attendance, and submitting leave — used by team leaders and workers outside the admin console.
-
Plot / layout viewAuthenticated plot layout visualization (
/project-layout) for spatial project context.
Who uses which features
| User type | Primary features |
|---|---|
| Administrators | Users, roles, hierarchy, masters, holidays, system settings, audit logs, full project/labor setup. |
| Project Managers | Project oversight, activity create/manage, approvals, idle-time decisions, payroll review. |
| Site / Construction Engineers | SE dashboard, day-to-day activities, teams, attendance follow-up, idle time, on-site coordination. |
| Quantity Surveyors | Rates, quantities, commercial checks (once permissions are assigned on the QS role). |
| Team Leaders & labor | Worker app: apply/execute activities, attendance, leave; paid via labor-role wallet distribution. |
Getting started
Before day-to-day operations, an administrator should complete setup in this order:
- Create roles & hierarchyDefine who can approve whom.
- Create usersInvite staff and assign project access.
- Create a project via wizardDetails → hierarchy → properties → activity rates → project users.
- Configure mastersActivity masters and rate masters used when publishing work.
- Add labor & teamsRegister workers, then form teams with a leader.
- Publish activitiesTeams apply / get assigned, execute, and submit for approval.
- Run payroll cycleAttendance + approvals feed payroll periods and reports.
1. Sign in
Open the PCS web app and go to the sign-in page.
-
Open
/loginEnter your Email or Employee ID and Password. - Submit the form Successful login redirects you to the dashboard (site engineers are redirected to the SE dashboard).
2. Dashboard
After login you land on /dashboard. Use the left sidebar to open modules.
Site engineers (sitengineer) are routed to /dashboard/site-engineer.
- Use the header project switcher when your work is scoped to a specific project.
- On the Team Performance chart, pick a payroll period that has data to compare target vs actual days.
- Check the notification bell for approvals and operational alerts.
- Sidebar sections expand for Projects, Activities, Masters, Labor, Teams, Insights, Payroll, and User Management.
- Open Profile (
/profile) from the user menu to update personal details and password.
2.1 Profile
Route: /profile. Review assigned projects, update contact details, and change your password.
3. Create and manage users
Route: /users (permission: manage_users).
- Open User Management From the sidebar choose User Management → Users. Filter by role or status, or search by name/email.
- Click Add User The New User drawer opens from the right.
- Fill required fields Name, employee ID, email, phone, role, password/status, and project assignments as needed.
- Save The user appears in the list and can sign in once active.
4. Roles and hierarchy
Routes: /roles, /roles/hierarchy (permission: manage_roles).
System roles control which menus and actions a user can access. Hierarchy relationships control reporting / approval authority (who is superior to whom).
- Review rolesOpen Roles to inspect role definitions and permissions.
- Click Add RoleThe New Role drawer opens. Enter name, display name, and permissions, then save.
- Configure hierarchyOpen Role Hierarchy and click Add Role Relationship to set superior → subordinate links so approvals and oversight flow correctly.
4.1 What each system role can do
Capabilities below match the seeded / live PCS roles. Exact menus still depend on the permission checkboxes
saved on each role in /roles — always verify there if someone cannot see an expected screen.
| Role | Who it’s for | What they can do |
|---|---|---|
Super Adminsuperadmin |
System owner / IT | Full access to every console module: users, roles, projects, masters, labor, teams, activities (including publish/manage), idle time approvals, holidays, and system settings. Typically the only role that should freely change role definitions and user access. |
Adminadmin |
Operations administrator |
Broad operational control similar to Super Admin for projects, labor, teams, activities, masters,
holidays, and idle-time approvals. Seeded admin access usually excludes
manage_users / manage_roles so user/role governance stays with Super Admin
(confirm on your environment).
|
Project Managerproject_manager |
Project delivery lead | View assigned projects and properties; create/edit activities; manage activities (publish / approve / reject completed work); view activity rates and logs; create and approve team idle-time requests. Focused on delivery oversight rather than system configuration. |
Site Engineersitengineer |
On-site supervisor |
Day-to-day site operations: projects/properties, create & edit activities, teams visibility,
idle-time create/approve. After login they are redirected to the
Site Engineer dashboard (/dashboard/site-engineer).
In many environments they also carry wider setup permissions — tighten via Roles if needed.
|
Construction Managerconstructionmanager |
Construction leadership |
Broad project/labor/team/activity visibility and setup similar to Site Engineer, with publish
rights for activities. Seeded setup typically does not include
manage_activities (final approve/manage), so Construction Managers coordinate work
while Project Managers / Admins handle final activity management — verify locally.
|
Quantity Surveyorquantity_surveyor |
Commercial / QS | Role exists for commercial measurement and cost control workflows. Permissions are assigned manually in Roles (commonly view projects, properties, activity rates, and reports). Out of the box it may have no permissions until an admin configures them. |
Capability cheat sheet
| Capability | Super Admin | Admin | PM | Site Eng. | Constr. Mgr |
|---|---|---|---|---|---|
| Manage users & roles | Yes | Limited / No* | No | Env-dependent | Env-dependent |
| Create / configure projects | Yes | Yes | View | Yes* | Yes* |
| Create & publish activities | Yes | Yes | Create / manage | Create / publish* | Create / publish* |
| Approve completed activities | Yes (manage_activities) |
Yes | Yes | If granted | Usually no* |
| Manage labor & teams | Yes | Yes | No | Yes* | Yes* |
| Idle time approve | Yes | Yes | Yes | Yes | Yes* |
| Holidays / system settings | Yes | Yes | No | If granted | If granted |
* Depends on the permissions currently saved on that role in your database. Use Roles → edit permissions to tighten or expand access.
5. Create a project
Prefer the guided wizard at /projects/wizard (also linked as Create Project).
The wizard has five steps:
5.1 Open projects and start the wizard
- Go to All ProjectsSidebar → Projects → All Projects (
/projects). - Create ProjectOpen
/projects/wizardand complete Project Details (name, code, location, dates, status, description). - Continue through stepsUse Next to define hierarchy, properties, rates, and assigned users.
5.2 Project details and configuration pages
After creation, open a project to manage its operational configuration:
- Details —
/projects/{id}/details - Users —
/projects/{id}/users - Hierarchy —
/projects/{id}/hierarchy - Geofences —
/projects/{id}/geofences - Properties —
/projects/{id}/properties
5.3 Geofence attendance (mobile)
After geofences are saved on a project, team leaders and workers use the worker mobile app to mark attendance. On Mark Attendance, the app shows Your Location on a map with the project geofence boundary. Check-in and check-out are only allowed when the device reports Inside site.
-
Configure geofences
On
/projects/{id}/geofences, add each site boundary (name, map polygon, active status). - Open Mark Attendance In the mobile app, open Mark Attendance. The map loads your current coordinates and compares them to the allowed geofence.
- Confirm you are inside the site When location is valid, the status badge shows Inside site and the primary action becomes available. If you are outside the boundary, check-in/check-out stays disabled until you enter an allowed area.
- Check in Tap Check In to record the start of the workday. Admins review the mark on the web Attendance screens.
- Check out When leaving site, return to Mark Attendance and tap Check Out while still inside the geofence (or per your site policy).
5.4 Plot layout
Route: /project-layout. Visual plot/layout view for spatial project planning alongside hierarchy and properties.
6. Configure masters
Masters are reusable catalogs used across projects.
6.1 Activity masters
Route: /masters/activities. Define the master activity catalog that rates and project work reference.
- Open Activity MastersSidebar → Masters → Activity Masters.
- Click Add ActivityFill CCS code, levels, UOM, and rates in the New Activity drawer, then save.
6.2 Activity rate masters
Route: /masters/activity-rates. Maintain unit prices / rate definitions that feed activity compensation.
- Open Activity Rate MastersSidebar → Masters → Activity Rate Masters.
- Click Add Activity RateSelect project, building, activity, quantity, and unit price, then save.
7. Labor management
7.1 Create labor
Route: /labors.
- Open LaborsSidebar → Labor Management → Labors.
- Click Add LaborFill employee ID, name, email, labor role, and status in the New Labor drawer.
- Optional importUse Import when onboarding workers in bulk.
7.2 Labor pool — assign labor to a team
Route: /labors/pool (Livewire LaborPool, models Labor, Team, TeamMember).
The pool lists labors who are not a team leader and not already on an active team.
- Open Labor Pool Sidebar → Labor Management → Labor Pool. Search by name/employee ID or filter by labor role.
- Click Assign On an available labor row, click Assign. The Assign to Team drawer opens with labor details and skills.
- Select a team Teams are listed with leader, member count, and skill match. Choose the destination team (best matches appear first).
-
Click Assign to Team
A
TeamMemberrecord is created (joined_atnow,is_activetrue). The labor leaves the pool and appears on the team’s Members tab.
team_members row.
7.3 Labor roles (pay grades)
Route: /labor-roles (permission: manage_labor_roles).
Labor roles classify field workers for payroll distribution when an approved activity credits a team wallet. They do not control web-console menus.
- Open Labor RolesSidebar → Labor Management → Labor Roles.
- Click Add RoleIn New Labor Role, set name, payout %, and whether Fixed Pay is enabled.
How payout works
- Fixed-pay roles take their cut first Members whose labor role has Fixed Pay enabled receive a configured percentage of the team wallet compensation (leadership share).
-
Remaining amount is split by FTE
Everyone else shares what is left. Each member’s weight is
payout % × attendance ratefor the payroll period, then normalized across the team.
| Labor role | Pay model | Seeded payout | What this role does on site / in payroll |
|---|---|---|---|
| Team Leader | Fixed pay | Configured fixed share (seeded leadership role) | Leads the crew, applies for / executes activities via the worker app, marks team attendance, and receives a fixed leadership share of approved activity compensation before FTE split. |
| Chargehand | Fixed pay | Configured fixed share (seeded leadership role) | Senior skilled supervisor under the team leader. Also treated as fixed-pay leadership for wallet distribution (excluded from the variable FTE pool). |
| Acting Chargehand | FTE share | 110% weight | Temporary / acting chargehand. Paid from the remaining pool with a higher-than-skilled FTE weight (1.10×), adjusted by attendance. |
| Skilled Labour | FTE share | 100% weight | Fully skilled tradesperson. Baseline FTE share of remaining compensation × attendance. |
| Semi Skilled Labor | FTE share | 85% weight | Partially skilled worker. Receives 0.85× the skilled FTE weight before attendance adjustment. |
| Helper | FTE share | 75% weight | General helper / support labor. Receives 0.75× skilled FTE weight before attendance adjustment. |
/labor-roles, set Name, optional description, Payout Percentage,
and whether Fixed Pay is enabled. Fixed-pay roles are pulled out of the FTE pool;
non-fixed roles compete for the remaining wallet balance by weighted attendance.
8. Create and manage teams
Route: /teams.
A team is the field crew that executes activities, records attendance, and receives wallet compensation. Each team has one primary project (main site) and may optionally be linked to a secondary project when the same crew works across two sites.
8.1 Create a team
- Open TeamsSidebar → Teams.
- Click Add Team Enter team name/code, select team leader, optional site engineer, and members, then Save.
8.2 Assign primary and secondary projects
The Teams list shows Primary Project and Secondary Project columns for every crew. The primary project is the team’s main assignment; the secondary project is optional and used when the same team picks up work on a second site without creating a duplicate crew.
- Open the Teams list Confirm the team row shows its current primary project. The secondary column shows Assign Secondary Project when no second site is linked yet.
- Click Assign Secondary Project (or the pencil icon next to an existing secondary project to change it). The Secondary Project Assignment modal opens.
-
Select the project and enter a reason
Choose the second site from the dropdown. The reason is required (minimum 10 characters) and is stored for
audit purposes on the
team_projectsrecord. - Click Save Changes The Teams list updates immediately. Primary and secondary projects must be different — the form excludes the project already assigned on the other column.
8.3 Team details
Route: /teams/{id}/details.
Open a team from the list (eye icon) to manage members, skills, idle time, payroll, and assigned activities. Use the tabs across the top of the page to switch between views.
- Members Review team leader, site engineer, member roster, and role breakdown. Click Add Member to attach unassigned labor (same outcome as Labor Pool → Assign).
- Skills Open the Skills tab and click Edit Skills to tag trades the crew can perform. Skills drive labor-pool matching and which published activities the team can apply for.
- Activities Open the Activities tab to see every activity assigned to this team. The table matches the main Activities list (project, property, activity details, duration, quantity, compensation, status). When the team is linked to two projects, use the project filter or scan the Project column to see work from both sites in one place.
- Idle Time Review idle-time submissions for this crew and approve or reject them (site engineers).
- Payroll Choose a payroll period with wallet data to review activity compensation, idle-time breakdown, and per-member payout distribution.
team_activities assignment. The
Project column shows which linked site the work belongs to — filter by project to isolate one
site, or leave All Projects selected to see the full cross-site workload. Click the view icon to
open full activity details, including approval status and evidence.
9. Create and manage activities
Route: /activities.
- Open All Activities Filter by project/status or use the search bar. Search by activity type (e.g. tile) or property number (e.g. 101).
- Click Add Activity In New Activity, select Project, search for a property by unit number, then search activity rates (e.g. tile fixing).
- Save as Draft or Publish Draft keeps the activity editable; Publish makes it available for assignment/application.
-
Open activity details
Track status stepper, assigned team, quantity/timeline, and completion evidence at
/activities/{id}/details.
10. Approve a completed activity
When an activity reaches Completed (or under review), users with approval permissions can approve or reject it from the details page.
- Open a completed activity Confirm status shows Completed and Approve / Reject actions are visible.
- Click Approve The Rate Quality of Work modal opens.
- Set a star rating Optionally add remarks, then confirm Approve Activity.
- Or reject Choose Reject and enter a reason so the team can rework and resubmit.
11. Activity bundles
Route: /activities/bundles (details: /activities/bundles/{id}/details).
Bundles group related draft activities for coordinated planning, publishing, assignment, and tracking. Open Activities → Activity Bundles, create a bundle, then open it for details.
- Open Activity Bundles Review existing bundles. Filter by project/status or search by name.
- Click Create Bundle The New Activity Bundle drawer opens.
- Fill the form Select a Project, enter a Bundle Name and optional description, then check one or more available draft activities for that project.
- Click Create Bundle The bundle is saved as draft and appears in the list.
- Open bundle details Review included activities, totals, timeline, and next actions (publish / assign / approve when available).
12. Attendance
Routes: /attendance, /attendance/{team}.
Field crews mark daily attendance from the worker mobile app; when geofences are enabled, check-in requires
being inside an allowed site — see Geofence attendance (mobile).
- Open Attendance Select the active Payroll Period so records align with the pay cycle.
- Choose a team Open a team row to view team-level attendance detail.
- Review team attendance Check present/absent/leave counts, attendance rate, and per-member daily marks. Use overrides only when authorized corrections are needed.
13. Annual leaves
Route: /annual-leaves.
- Open Annual LeavesReview pending and historical leave requests.
- Click Add Leave RequestComplete the New Annual Leave Request form (worker/team, dates, reason).
- Approve or rejectOn a pending row, open Approve, choose paid/unpaid/partial compensation, then confirm.
14. Team idle time
Route: /teams/idle-time.
Use idle time when a team is available but not productive on billable activities. Create requests, then approve/reject pending items. Approved idle time can feed compensation rules depending on your payroll configuration.
- Open Idle TimeSidebar → Teams → Idle Time (
/teams/idle-time). - Review pending reportsFilter by status/team/date. Open a pending item to approve or reject.
- ApproveEnter compensation details in Approve Team Idle Time Report, then confirm.
15. Payroll
Routes: /payroll/periods, /payroll/settings, /payroll/report.
-
Payroll periods
Open
/payroll/periodsand click Add Payroll Period to create the cycle attendance and payouts should use. - Payroll settings Configure system payroll rules/parameters before locking a cycle.
-
Payroll report
Open
/payroll/report, enter a team code and payroll period, then generate the interim payment application report.
16. Holidays
Route: /holidays (permission: manage_holidays).
Maintain the holiday calendar so attendance and payroll treat non-working days correctly.
- Open HolidaysSidebar → Global Settings → Holidays.
- Click Add HolidayEnter name, date, and type, then save.
17. System settings
Route: /settings/roles (permission: manage_system_settings).
Configure system-wide role settings and defaults used across the console.
18. Notifications
Route: /notifications.
The notification center collects operational alerts (approvals, assignments, and system notices). Open it from the sidebar or header bell, then mark items read as you process them.
19. Activity logs (audit)
Route: /activity-logs (permission: view_activity_logs).
Use audit logs to investigate who created/updated sensitive records. This is an admin/compliance tool, not a field workflow.
20. Insights reports
Routes under /insights/reports (Livewire Insights components).
- Attendance report
/insights/reports/attendance— attendance rates by team/period. - Project report
/insights/reports/projects— project progress and activity volume. - Payroll report
/insights/reports/payroll— payout summaries by period. - Team idle time report
/insights/reports/idle-time— idle-time trends for planning.
21. Other app surfaces
Besides the main authenticated console documented above, PCS also exposes related surfaces in routes/web.php:
Worker portal (/worker/*)
Field-facing endpoints for team info, activities, applying to work, marking attendance, and annual leave. Typically used by team leaders/workers via the worker UI, not the main admin sidebar.
Site Engineer dashboard
/dashboard/site-engineer and /site-engineer/dashboard provide SE-focused operational views.
Users with the sitengineer role are redirected here after login.
Wallet / PDF reports
/wallet-report and signed /payroll/pdf/view support payout report viewing outside the main periods UI.
Plot layout
/project-layout is an authenticated plot/layout view used for spatial project visualization.
See Projects → Plot layout for a screenshot.
/debug-*), API tester, and temporary test pages are internal tools and are intentionally omitted from day-to-day training.
22. Recommended first-week checklist
- Day 1 — AccessSign in, verify your role menus, confirm project assignment.
- Day 1 — Masters & projectConfirm masters exist; finish or verify a project wizard (hierarchy, properties, rates, users).
- Day 2 — Labor & teamsImport/create labor, create teams, assign leaders and members. Link a secondary project if a crew works on two sites; confirm assigned activities appear on the team Activities tab.
- Day 3 — ActivitiesPublish a small set of activities, assign a team, walk one activity to Completed → Approved.
- Day 4 — People opsReview attendance for the active payroll period; process a leave request; review idle time if used.
- Day 5 — Payroll dry runOpen payroll settings/periods/report and validate numbers against approved work + attendance.