Project_stage_assignments rows keyed `${projectId}::${taskId}` carry the crew, plus the stage type and name for display. Reassignment is an upsert on the same key.
Also called: assign a stage to a sub · who is doing the concrete · stage ownership
- 1The project's Labor & Costs panel assigns each stage to a crew.
- 2The subcontractor portal lists exactly the stages assigned to that crew, grouped by project.
- 3The in-app field view lists the signed-in worker's own crew's assignments.
- 4The worker log endpoint reads crew_id from the stage's assignment rather than trusting the client.
Hours logged on a job with three crews on it price differently depending on whose rate they take, so anything that lets the phone doing the logging decide is an invitation to cost labour at the wrong rate. Each stage of a project is assigned to a crew, and hours logged against that stage take that crew's rate, decided on the office side and never accepted from the field. Assigning stages to crews is also what makes the schedule and the labour costs agree about who is doing what.
- No record of which labour source owns a given stage.
- Hours priced at the wrong crew's rate.
- Portals showing work belonging to somebody else.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →