Validation
Audience
Developers, QA engineers, support engineers, security engineers, solution architects, and implementation partners.
Reference Content
This page records source-verified technical behavior and boundaries for the workforce-scheduling capability.
Summary
Validation is distributed across parsing helpers, application orchestration, aggregates, and selected database constraints.
| Layer | Examples |
|---|---|
| Mapping helpers | Culture-independent shift-time parsing; named or numeric weekday parsing |
| Application | Required tenant, positive employee, active referenced shift, unique name, no overlap |
| Domain | Time bounds, hours and grace ranges, assignment interval order |
| Persistence | Unique weekly-off day per tenant, one default policy, unique policy rule key |
Error shaping
Parsing and application failures return field-oriented validation messages. Missing resources and overlaps use distinct result categories. Domain argument exceptions are converted to validation results by command handlers.
Gaps
Case-insensitive shift-name uniqueness and assignment overlap are not protected by database constraints. Frontend shift editing validates little beyond a name, so server validation is authoritative. Compatibility parsing accepts legacy textual overtime rules and necessarily loses semantics outside the supported mapping.
Source References
microservices/src/attendance-service/Domain/TimeOffice/Shift.csmicroservices/src/attendance-service/Domain/TimeOffice/EmployeeShiftAssignment.csmicroservices/src/attendance-service/Application/Services/ShiftPolicyCommands.csmicroservices/src/attendance-service/Application/TimeOffice/ShiftPolicyMappings.cs
Related Articles
See Also
Keywords
- Workforce scheduling
- Shift policy
- Attendance integration
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Next review: 2026-10-20