Aller au contenu

Story Index: QR Attendance (QRCONTR)

Module: qr-attendance Total stories: 18 Decomposed from: docs/architecture/qr-attendance-arch.md (approved) PRD reference: docs/prd/qr-attendance-prd.md Design reference: docs/design/qr-attendance-design.md Brand context: [BOTH] Papillon HR Suite + ALTARYS ENTERPRISE HR Suite Date: 31/03/2026


Dependency Graph

                          QR-001 (Module Skeleton)
                         /    |    \         \
                        /     |     \         \
                   QR-002  QR-003  QR-004   QR-005
                   (Sites) (Sched) (Config) (Holidays)
                    / \      |        |         |
                   /   \     |        |         |
              QR-008  QR-006 ←───────┘         |
              (Site   (Clock-In/Out +           |
              Assign)  Offline Sync)            |
                          |                     |
                       QR-007                   |
                       (Clock-Out +             |
                        Validation)             |
                       /    |   \               |
                      /     |    \              |
                 QR-011  QR-016  QR-009 ←──────┘
                 (Reg.   (Hist.) (Dashboard +
                  Req.)          Detection)
                    |              |
                 QR-012         QR-010
                 (Reg.         (Anomaly +
                  Approv.)     Auto-Close)
                  / \
                 /   \
            QR-013  QR-017
            (HR     (Monthly
            Direct)  Report)

        QR-014 ←── QR-004 (Config for limits)
        (Télétrav.
         Request)
            |
         QR-015
         (Télétrav.
          Approval)

        QR-018 ←── QR-004 (Overtime config)
        (Overtime
         Report)

Story List

# Story ID Title Depends On Complexity Status
1 QR-001 Module Skeleton + Test Infrastructure + Shared Events CP S 🔲 Not started
2 QR-002 Site Management + QR Code Generation QR-001 M 🔲 Not started
3 QR-003 Work Schedule Configuration + Assignment QR-001 M 🔲 Not started
4 QR-004 Module Configuration + Overtime Bands + Compliance QR-001 M 🔲 Not started
5 QR-005 Public Holidays + Company Non-Working Days QR-001 S 🔲 Not started
6 QR-006 Employee Clock-In/Out + QR Scanner + Offline Sync QR-002, QR-003 L 🔲 Not started
7 QR-007 Clock-Out + Validation Rules (Duplicate, Terminated, Early Departure) QR-006 M 🔲 Not started
8 QR-008 Employee Site Assignment QR-002 S 🔲 Not started
9 QR-009 Daily Attendance Dashboard — Summary + Detection QR-007, QR-005 L 🔲 Not started
10 QR-010 Dashboard Anomalies + Auto-Close Batch + Manager Scope QR-009 M 🔲 Not started
11 QR-011 Regularization Request (Employee/Manager) QR-006 M 🔲 Not started
12 QR-012 Regularization Approval (Manager + HR) QR-011 M 🔲 Not started
13 QR-013 HR Direct Regularization QR-012 S 🔲 Not started
14 QR-014 Télétravail Request + Calendar QR-006, QR-004 M 🔲 Not started
15 QR-015 Télétravail Approval + Day-of Status Handling QR-014 M 🔲 Not started
16 QR-016 Employee Attendance History QR-006 M 🔲 Not started
17 QR-017 Monthly Attendance Report + Export QR-012 M 🔲 Not started
18 QR-018 Overtime Report + Weekly Classification QR-006, QR-004 M 🔲 Not started

Concurrency Tiers

Tier Stories Can Start After
0 QR-001 Control Plane available
1 QR-002, QR-003, QR-004, QR-005 QR-001 merged
2 QR-006, QR-008 QR-002 + QR-003 merged
3 QR-007, QR-011, QR-014, QR-016, QR-018 QR-006 merged (QR-014 also needs QR-004, QR-018 also needs QR-004)
4 QR-009, QR-012, QR-015 QR-007 + QR-005 merged (for QR-009), QR-011 merged (for QR-012), QR-014 merged (for QR-015)
5 QR-010, QR-013, QR-017 QR-009 merged (for QR-010), QR-012 merged (for QR-013 + QR-017)

PRD Acceptance Criteria Coverage

PRD User Story ACs Assigned To (PRD AC # → Story)
US-QR-001: Employee Clock-In 5 ACs PRD AC 1,2,3 → QR-006; PRD AC 4,5 → QR-007
US-QR-002: Employee Clock-Out 3 ACs PRD AC 1,3 → QR-007; PRD AC 2 → QR-010
US-QR-003: View Own Attendance History 2 ACs PRD AC 1,2 → QR-016
US-QR-004: Request Regularization 3 ACs PRD AC 1,2,3 → QR-011
US-QR-005: Approve Regularization 4 ACs PRD AC 1,2,3,4 → QR-012
US-QR-006: HR Direct Regularization 2 ACs PRD AC 1,2 → QR-013
US-QR-007: Request Télétravail 5 ACs PRD AC 1,2,3 → QR-014; PRD AC 4,5 → QR-015
US-QR-008: Configure Sites and QR Codes 3 ACs PRD AC 1,2,3 → QR-002
US-QR-009: Configure Work Schedules 4 ACs PRD AC 1,2,3,4 → QR-003
US-QR-010: Daily Attendance Dashboard 5 ACs PRD AC 1,2,5 → QR-009; PRD AC 3,4 → QR-010
US-QR-011: Monthly Attendance Report 3 ACs PRD AC 1,2,3 → QR-017
US-QR-012: Overtime Report for Payroll 2 ACs PRD AC 1,2 → QR-018
US-QR-013: Module Activation Compliance 3 ACs PRD AC 1,2,3 → QR-004
TOTAL 44 ACs 44 assigned ✅

Technical Stories (No PRD User Story)

Story Justification
QR-001: Module Skeleton Technical enabler — package structure, dependencies, test infrastructure. No tables.
QR-005: Public Holidays Supports US-QR-010 (dashboard no-show), US-QR-011 (reports), US-QR-018 (overtime).
QR-008: Employee Site Assignment Supports flexible site scanning, dashboard site filter, non-primary scan flagging.

Flyway Migration Registry

All migrations use the V001_NNN__attendance_ prefix. Each migration is introduced in the story that first needs the table.

Migration File Table Introduced In
V001_001__attendance_module_config.sql attendance_module_config QR-002
V001_002__attendance_cached_employee.sql attendance_cached_employee QR-002
V001_003__attendance_site.sql attendance_site QR-002
V001_004__attendance_work_schedule.sql attendance_work_schedule + attendance_work_schedule_day QR-003
V001_005__attendance_schedule_assignment.sql attendance_employee_schedule_assignment + attendance_department_schedule_assignment QR-003
V001_006__attendance_overtime_config.sql attendance_overtime_config QR-004
V001_007__attendance_department_config.sql attendance_department_config QR-004
V001_008__attendance_overtime_ci_defaults.sql (seed data) QR-004
V001_009__attendance_public_holiday.sql attendance_public_holiday QR-005
V001_010__attendance_company_non_working_day.sql attendance_company_non_working_day QR-005
V001_011__attendance_ci_holidays_seed.sql (seed data) QR-005
V001_012__attendance_clock_event.sql attendance_clock_event QR-006
V001_013__attendance_daily_attendance.sql attendance_daily_attendance QR-006
V001_014__attendance_employee_site_assignment.sql attendance_employee_site_assignment QR-008
V001_015__attendance_regularization_request.sql attendance_regularization_request QR-011
V001_016__attendance_remote_work_request.sql attendance_remote_work_request QR-014
V001_017__attendance_weekly_overtime_summary.sql attendance_weekly_overtime_summary QR-018

Architecture Slice → Story Mapping

Arch Slice Story
QR-T0-001: Module Skeleton QR-001
QR-T0-002: Flyway Migrations Distributed across QR-002 to QR-018 (each story owns its tables)
QR-T0-003: Shared Events QR-001
QR-T0-004: CachedEmployeeData QR-002 (table + listeners)
QR-T1-001: Site CRUD + QR Gen QR-002
QR-T1-002: Schedule CRUD + Assignment QR-003
QR-T1-003: Module Config QR-004
QR-T1-004: Holidays QR-005
QR-T2-001: Clock Event + QR Validation QR-006 + QR-007
QR-T2-002: Employee Site Assignment QR-008
QR-T3-001: Late/Early Detection QR-009 (late) + QR-007 (early)
QR-T3-002: Auto-Close Batch QR-010
QR-T3-003: No-Show Detection QR-009
QR-T3-004: Shared Device Anomaly QR-010
QR-T4-001: Regularization Workflow QR-011 + QR-012 + QR-013
QR-T4-002: Télétravail Workflow QR-014 + QR-015
QR-T4-003: Weekly Overtime QR-018
QR-T5-001: Dashboard API QR-009 + QR-010
QR-T5-002: Monthly Report QR-017
QR-T5-003: Overtime Report QR-018
QR-T5-004: Report Export QR-017 (introduces export infra) + QR-018 (reuses)
QR-T5-005: Batch Sync QR-006 (embedded in clock-in story)
QR-T5-006: Compliance QR-004
QR-T5-007: QR Cache Endpoint QR-006 (embedded in clock-in story)

Implementation Order

  1. QR-001 — Technical foundation: module skeleton, dependencies, test infra, shared events
  2. QR-002 — Site management: first user-visible feature, enables QR code printing at physical sites
  3. QR-003 — Work schedules: enables late/overtime detection, required before clock events can compute hours
  4. QR-004 — Module config: compliance onboarding, overtime bands, département tolerance — needed by clock events and télétravail
  5. QR-005 — Holidays: enables no-show detection to correctly distinguish absent from holiday
  6. QR-006 — Core clock-in/out: the module's hero feature — QR scanning, offline sync, daily attendance
  7. QR-007 — Clock-out + validation: completes the clock event flow with duplicate/terminated/early departure rules
  8. QR-008 — Site assignment: non-blocking, enables non-primary site flagging
  9. QR-009 — Dashboard: HR's primary daily tool — summary, filters, late/no-show detection
  10. QR-010 — Dashboard enhancements: anomalies, auto-close batch, manager scope
  11. QR-011 — Regularization request: employee/manager correction workflow
  12. QR-012 — Regularization approval: manager/HR approval with attendance recalculation
  13. QR-013 — HR direct regularization: fast correction from dashboard
  14. QR-014 — Télétravail request: calendar-based remote work requests
  15. QR-015 — Télétravail approval: approve/reject with day-of status handling
  16. QR-016 — Employee history: self-service attendance viewing
  17. QR-017 — Monthly report + export: attendance sheet with Excel/CSV export
  18. QR-018 — Overtime report: weekly classification with payroll-ready export