Worker Assignment
Worker assignment is what connects workers to projects. It determines who can work where, and it is the foundation for attendance tracking, verification, and payment calculations.
What Gets Tracked
Each worker-project assignment keeps track of:
- Who is assigned
- Which project they are on
- Status -- active or inactive
- When they were assigned
- When they were removed (if they have been)
How Workers Get Assigned
By the Admin
The Company Admin can assign any registered worker to any active project through the worker management or project management pages.
From the Project View
Managers or admins can also assign workers directly from a project's detail page by picking from the available pool of workers.
Multi-Project Workers
One of the key features of the system is that workers can be on multiple projects at the same time:
How It Works
- The same worker can have active assignments on Project A, Project B, and Project C all at once
- Each project assignment is independent of the others
- The worker can check in to any of their assigned projects
The Constraint
A worker cannot be marked as present on two different projects on the same day. The system enforces this everywhere -- if a worker has already checked in to Project A today, trying to mark them on Project B will trigger a warning and get blocked.
How It Affects Pay
- When payment time comes around, the system pulls together hours and earnings from all projects
- Each project contributes based on the worker's rates for that particular project
- The payment breakdown shows exactly how much came from each project
Rate Overrides Per Project
When a worker is assigned to a project, the admin can optionally set custom rates just for that assignment:
- Daily Base Advance -- different from the worker type's default
- Regular Hourly Rate -- different from the standard rate
- Overtime Hourly Rate -- different from the standard rate
If no override is set, the worker type's default rates kick in.
When Would You Use Overrides?
- A laborer on a high-risk project might earn a premium
- A worker filling a specialized role on one project might get the specialist rate there but their normal rate everywhere else
- A project with a tight budget might offer lower advance amounts
Removing a Worker from a Project
When a worker is taken off a project:
- Their assignment status changes to inactive
- The removal date is recorded (the record is not deleted)
- They can no longer submit verifications for that project
- All existing attendance and payment records stay intact
- If there is an open payment cycle, it will still include their hours up to the removal date
Worker Status vs. Assignment Status
These are two different things:
- Worker status (active or inactive) -- whether the worker is employable at all, across the entire system
- Assignment status (active or inactive) -- whether the worker is currently on a specific project
An inactive worker cannot be assigned to any project. An active worker can have inactive assignments on projects that have wrapped up while still being active on current ones.