Skip to main content

Employees

Overview

The Employees API manages worker records used for labor cost calculations and crew assignments in bids. Employees are referenced when creating labor items to apply specific hourly rates and per diem costs.

Base Operations

List Employees

GET /api/employees
Cookie: sAccessToken=...; sRefreshToken=...

Roles: ADMIN, ESTIMATOR, PM


Create Employee

POST /api/employees
Cookie: sAccessToken=...; sRefreshToken=...
Content-Type: application/json

{
"name": "Jane Smith",
"hourlyRate": 42.50,
"perDiemRate": 85.00
}

Roles: ADMIN, ESTIMATOR

Required Fields:

  • name (string) - Employee full name
  • hourlyRate (number) - Hourly wage rate
  • perDiemRate (number) - Daily per diem allowance

Update Employee

PATCH /api/employees/:id
Cookie: sAccessToken=...; sRefreshToken=...
Content-Type: application/json

{
"hourlyRate": 45.00,
"perDiemRate": 90.00
}

Roles: ADMIN, ESTIMATOR


Update Employee Status

PATCH /api/employees/:id/status
Cookie: sAccessToken=...; sRefreshToken=...
Content-Type: application/json

{
"status": "INACTIVE"
}

Roles: ADMIN

Status Values:

  • ACTIVE - Employee available for assignment
  • INACTIVE - Employee not available (archived)

Delete Employee

DELETE /api/employees/:id
Cookie: sAccessToken=...; sRefreshToken=...

Roles: ADMIN

warning

Deleting an employee will fail if they are referenced in any labor items. Set status to INACTIVE instead.

Data Model

interface Employee {
id: string // UUID
name: string // Full name
hourlyRate: number // Hourly wage
perDiemRate: number // Daily per diem
status: EmployeeStatus // ACTIVE or INACTIVE
createdAt: DateTime
updatedAt: DateTime
}

enum EmployeeStatus {
ACTIVE
INACTIVE
}
  • Labor Items - Reference employees in labor cost calculations