User Interface medium complexity mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Mobile screen for registering travel expenses including kilometer reimbursement, tolls, parking, and public transport costs. Presents fixed-choice type fields and standard defaults to minimize input friction for common scenarios. Displays real-time approval status feedback and queues entries for sync when offline.

Feature: Travel Expense Registration

expense-registration-screen

Sources & reasoning

Lines 66 and 341 explicitly describe the expense registration need for HLF and Blindeforbundet. The priority matrix at line 148 places the parent area as SHOULD HAVE Fase 2, which maps to v1.0 by ordinal phase position.

  • Begge organisasjoner har behov for registrering av kilometergodtgjørelse, bompenger, parkering og kollektivt. Behovene er like, men HLF har mest detaljert krav:
  • Reiserefusjon / utleggsregistrering | - | - | ✓ | ✓ | ✓ | SHOULD HAVE | 2
  • Reiserefusjonshåndtering (faste valg, terskelbasert godkjenning)

Responsibilities

  • Render expense type selector with fixed choices preventing invalid type combinations
  • Pre-populate standard defaults for common expense scenarios
  • Display automatic approval confirmation or pending-attestation status
  • Show offline indicator and sync queue state to the user
  • Navigate to parent activity record for context and linkage

Interfaces

render(activityId: string): void
onExpenseTypeChange(type: ExpenseType): void
onSubmit(draft: ExpenseDraft): Promise<SubmitResult>
onSyncStatusChange(status: SyncStatus): void

Related Data Entities (1)

Data entities managed by this component