Configure Activity Types with Expense Association Flags
When defining or editing an activity type, the coordinator can toggle whether this type typically involves expense registration and whether a receipt is required above a threshold. This metadata is used by the registration wizard to conditionally show the expense registration step: if the selected activity type has the expense flag set, the wizard includes the expense step; if not, it is skipped entirely. This directly reduces the number of steps for the 60–70% of HLF registrations that have no reimbursement.
User Story
Acceptance Criteria
- Given I am on the activity type form screen, When I toggle 'Involves Expenses', Then an additional option appears to set whether a receipt is required
- Given an activity type has 'Involves Expenses' set to false, When a peer mentor selects that type, Then the expense registration step is skipped in the wizard
- Given an activity type has 'Involves Expenses' set to true, When a peer mentor selects that type, Then the expense registration step is included in the wizard
- Given an activity type requires a receipt, When a peer mentor completes an expense above the configured threshold, Then they are prompted to attach a receipt image before submission
- Given I save an activity type with expense configuration, When I view the type in the admin list, Then an icon or badge indicates it is expense-enabled
- Given the expense flag is changed on an existing activity type, When peer mentors next use it, Then the wizard flow updates accordingly without requiring a cache clear
Business Value
HLF explicitly stated that 60–70% of registrations involve no reimbursement and must be extremely simple. By encoding expense relevance directly into activity type configuration, the system can present a minimal wizard for expense-free activities and a full wizard for expense-eligible ones—without peer mentors needing to understand the distinction. This reduces average registration time for the majority case and eliminates the common error of submitting expense claims for activity types where they are not applicable, which causes attest queue backlog for coordinators.
Components
- Activity Type Form Screen ui
- Activity Type Service service
- Activity Type Metadata Resolver service
- Activity Type Repository data
- Activity Type Cache Provider data
- Activity Registration Cubit service
- Expense Validation Service service
- Expense Threshold Configuration infrastructure