Bulk Registration Screen
Component Detail
Description
Screen for coordinators to register the same recurring activity (e.g. weekly training session) for multiple peer mentors in a single operation. Pre-fills date and activity type with coordinator-overridable defaults and presents a participant list with add/remove controls.
bulk-registration-screen
Summaries
The Bulk Registration Screen delivers a significant efficiency gain for coordinators managing recurring group activities such as weekly training sessions or monthly meetings. Instead of submitting N individual registrations, a coordinator selects all participants in a single operation and submits the entire batch atomically — drastically reducing time spent on administrative data entry and eliminating the risk of partial registrations that leave some participants unrecorded. Pre-filled defaults for date and activity type further reduce friction for recurring workflows. The per-participant duplicate detection surface means data quality issues are surfaced and resolved before submission, not discovered later during audits, protecting the integrity of Bufdir reporting data.
This is the highest-complexity UI component in the proxy registration feature set, with four component dependencies — bulk-participant-list, proxy-activity-form, duplicate-warning-dialog, and coordinator-role-guard — and a complex multi-state submission flow that includes dynamic participant management, defaults override, and per-participant conflict resolution. Budget additional QA time compared to the single-proxy screen: the participant list add/remove interactions, transactional batch submission failure handling, and the BulkDuplicateSummary presentation all need explicit test coverage. Integration tests must simulate at least three scenarios: clean batch submission, batch with some conflicting participants confirmed, and batch cancellation after conflict review. Dependency on bulk-participant-list is the most likely scheduling bottleneck.
This Flutter mobile screen maintains two primary state concerns: a BulkRegistrationDefaults object (date, activity type, overridable by the coordinator) and a dynamic List
State restoration after a failed batch submission (network error) is a required edge case: the participant list and defaults must remain intact so the coordinator can retry without re-entering data.
Responsibilities
- Pre-fill date and activity type with sensible defaults for recurring activities
- Allow coordinators to override any pre-filled default value
- Manage a dynamic list of selected peer mentor participants
- Show per-participant duplicate conflict indicators before submission
- Submit all registrations as a transactional batch
Interfaces
build(BuildContext)
onParticipantAdded(String mentorId)
onParticipantRemoved(String mentorId)
onDefaultsOverridden(BulkRegistrationDefaults defaults)
onBatchSubmit(BulkRegistrationDraft draft)
showBulkDuplicateSummary(List<DuplicateConflict> conflicts)
onConfirmBatchWithConflicts()
onCancel()
Relationships
Dependencies (4)
Components this component depends on