Skip to main content

Employee Shift Assignment

Summary

Two assignment shapes coexist. The compatibility employee profile stores one optional fixed shift link. The extracted Attendance Service stores tenant-scoped, effective-dated assignment records and uses them during attendance-policy resolution.

Audience

HR administrators, managers, employees, product, QA and support.

Reference Content

Business process

Verified rules

  • Employee/labor identity, shift and start date must be valid.
  • The shift must exist and be active.
  • End date cannot precede start date.
  • Active date ranges for the same employee cannot overlap.
  • The assignment is tenant-scoped and leaves audit/timeline evidence.
  • A direct shift deactivation is blocked while active assignments exist; compatibility deletion detaches/deactivates them.

UI and responsibilities

The employee administration form can select a fixed shift or “No fixed shift.” The current Shift Management page does not list or create effective-dated assignments, and no manager roster-assignment screen is verified. Direct assignment endpoints therefore represent backend foundation without a confirmed React administrator workflow.

Employees can see shift timing on the attendance-punch page when the employee data source returns it. They cannot choose, swap, accept or reject a shift.

Integration boundary

Assignments use the attendance domain’s labor-compatible identity rather than a relational Employee Service aggregate. Employee profile synchronization into Attendance is currently an explicit upsert/seed path; event-driven synchronization is described in source as future work.

Requires confirmation

The authoritative assignment surface after production cutover, assignment correction procedures, historical display and employee communication require confirmation.

Business Evidence Checklist

  • Business purpose: Associate one employee with a valid shift over an effective range.
  • Actors: HR administrators assign; employees view; Attendance resolves.
  • Business process: Choose employee/shift/range, validate, store and resolve by date.
  • Status transitions: Assignments are active or inactive and may be open-ended.
  • Responsibilities: HR prevents incorrect/overlapping allocation; support reconciles routed models.
  • Business rules: Positive identities, active shift, valid dates and no overlap apply.
  • Integrations: Employee identity, shift definitions, Attendance and indirect Payroll.
  • Limitations: No effective-dated assignment UI, bulk operation, swap or acknowledgement.
  • Requires confirmation: Cutover ownership, correction and communication require confirmation.

Source References

  • microservices/src/attendance-service/Domain/TimeOffice/EmployeeShiftAssignment.cs
  • microservices/src/attendance-service/Application/Services/ShiftPolicyCommands.cs
  • microservices/src/attendance-service/Application/Services/AttendancePolicyResolver.cs
  • Models/Labor.cs
  • UI/salary-ui/apps/client-hrms-portal/src/pages/Labor.tsx

See Also

Keywords

  • Effective-dated assignment
  • Fixed shift
  • Overlap prevention

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Review cycle: Quarterly