HIGH story-duplicate-activity-detection-organization-admin-004 8 pts
8
Story Points
High
Priority
Duplicate Activity Detection
Feature

User Story

As a Organization Administrator
I want the duplicate check to run automatically when I register activities on behalf of one or more peer mentors using proxy or bulk registration
So that I do not accidentally create duplicate records while performing batch registrations for recurring group activities

Acceptance Criteria

  • Given a coordinator submits a proxy registration on behalf of a peer mentor, When the submitted activity matches an existing record for that peer mentor, Then a duplicate-warning-dialog appears with the same comparison interface as self-registration
  • Given a coordinator submits a bulk registration for 10 peer mentors, When 3 of the 10 have conflicting existing records, Then a consolidated duplicate summary shows all 3 conflicts grouped in one review screen before the batch is saved
  • Given the consolidated duplicate summary is shown, When the coordinator resolves each conflict (mark distinct or skip), Then only the non-conflicting records plus the explicitly approved duplicates are saved
  • Given a bulk registration is completed with some conflicts skipped, When the coordinator views the confirmation screen, Then it displays a count of successfully saved records and a count of skipped records
  • Given a recurring bulk registration template is applied, When any participant in the template already has an activity within the same date/time window, Then those participants are highlighted before the coordinator submits

Business Value

Coordinators who manage large groups are most exposed to accidental duplicate creation because they submit high volumes of records rapidly. A coordinator running weekly group activities for 20 peer mentors across 52 weeks could inadvertently create hundreds of duplicate entries per year without automated detection. Catching these at bulk submission time eliminates the most statistically likely source of duplicate contamination in Bufdir data.