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