Overview

Managing attendance starts with defining when employees are expected to work. You create Shifts (templates of working hours) and then assign them via Schedules to employees.

1. Create a Shift

Define entry time, exit time, and break duration.

POST/api/v1/time-and-attendance/shifts
Request Body
{
  "name": "Morning Shift",
  "startTime": "09:00",
  "endTime": "18:00",
  "breakMinutes": 60,
  "isOvernight": false
}

2. Assign Schedule

Assign a shift to an employee for a specific date range or recurring pattern.

POST/api/v1/time-and-attendance/schedules
Request Body
{
  "employeeId": "emp-123",
  "shiftId": "shift-morning",
  "startDate": "2024-01-01",
  "endDate": "2024-12-31",
  "daysOfWeek": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
}

3. Get Employee Schedule

Retrieve the expected schedule for an employee to compare against actual punches.

GET/api/v1/time-and-attendance/schedules/employee/{id}