Skip to main content

Attendance Database Ownership and Boundaries

Summary​

Attendance Service owns Attendance and Time Office persistence. Other domains are represented only by identifiers, local projections, integration calls, or snapshots.

Audience​

  • Backend developers, architects, QA engineers, and data-governance reviewers

Ownership model​

Data categoryOwner / classificationBoundary
Attendance records, punches, reopen requestsAttendance Service / masterAggregate state stored locally
Shifts, weekly offs, policies, assignmentsAttendance Service / Time Office masterCurrent ownership; legacy coexistence remains Transitional
Employee profileEmployee domain master; Attendance-local read modelNo cross-database join is modeled
LeaveExternal domainNo Leave table is modeled in this context
Payroll-approved snapshotAttendance-owned snapshot; Payroll is a consumerSnapshot is not the Payroll master record
Audit, timeline, outboxAttendance Service / operational historyStored with Attendance changes
Legacy persistenceMonolith / TransitionalRead-only source for backfill; no shared-table assumption

Automatic synchronization of the employee projection from integration events is Foundation / Requires confirmation at runtime; the current source explicitly supports an upsert path.

Source References​

  • microservices/src/attendance-service/Infrastructure/AttendanceDbContext.cs
  • microservices/src/attendance-service/Domain/Attendance/EmployeeProfile.cs
  • microservices/src/attendance-service/Domain/Attendance/PayrollApprovedSnapshot.cs
  • microservices/src/attendance-service/Backfill/AttendanceMonolithSourceReader.cs

See Also​

Keywords​

  • Attendance persistence
  • EF Core
  • PostgreSQL

Revision Information​

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