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.

Feature: Bulk Registration

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.

  • registrere aktivitet på vegne av sine likepersoner, enten enkeltvis eller samlet for faste aktiviteter (f.eks. ukentlig trening med mange deltakere)
  • En likeperson hadde 380 enkeltregistreringer på ett år.
  • Bulkregistrering / 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[]

Related Data Entities (1)

Data entities managed by this component