Bulk Registration Service
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Backend service that accepts a single bulk-registration payload and fans it out into individual activity records, one per selected peer mentor. Enforces coordinator authorization and ensures atomic, attributable creation of the resulting activities.
bulk-registration-service
Sources & reasoning
Matrix row 101 places bulk at SHOULD HAVE / Fase 2 (= Core Product). §2.4 explicitly calls out "samlet for faste aktiviteter" and the 380-registrations anecdote justifies the volume-reduction motive. Depends on proxy-reporting since each bulk row is logically a proxy entry.
-
docs/source/likeperson.md · line 50-51registrere aktivitet på vegne av sine likepersoner, enten enkeltvis eller samlet for faste aktiviteter (f.eks. ukentlig trening med mange deltakere)
-
docs/source/likeperson.md · line 13En likeperson hadde 380 enkeltregistreringer på ett år.
-
docs/source/likeperson.md · line 101Bulkregistrering / proxy-rapportering | ✓ | ✓ | - | ✓ | ✓ | SHOULD HAVE | 2
Responsibilities
- Validate coordinator authorization and selected peer mentor identities
- Expand the activity template into one activity record per peer mentor
- Persist all activity records transactionally with proper attribution
- Return a per-mentor success/failure breakdown to the caller
- Emit audit entries linking the bulk submission to each created activity
Interfaces
createBulkRegistration(coordinatorId, activityTemplate, mentorIds): BulkRegistrationResult
validateBulkPayload(payload): ValidationResult
expandToActivityRecords(template, mentorIds): ActivityRecord[]