User Interface high complexity mobile
2
Dependencies
0
Dependents
6
Entities
0
Integrations

Description

Multi-section form screen for registering travel expenses with structured fixed-choice fields for kilometre allowance, toll fees, parking, and public transport costs. Enforces mutual-exclusivity rules client-side (e.g., cannot select both kilometre allowance and bus ticket for the same trip) and links each expense to a specific activity.

Feature: Travel Expense Registration

expense-form-screen

Responsibilities

  • Render expense type selector with mutual-exclusivity enforcement
  • Capture kilometre distance, toll fees, parking costs, and public transport amounts
  • Link expense to an existing activity from the activity list
  • Display real-time validation feedback for invalid field combinations
  • Submit completed expense form to backend for approval routing

Interfaces

buildExpenseForm(activityId)
selectExpenseType(type)
validateFieldCombinations()
setKilometreDistance(km)
setTollFees(amount)
setParkingCost(amount)
setPublicTransportCost(amount)
linkToActivity(activityId)
submitExpense()
showValidationError(field, message)
resetForm()

Relationships

Dependencies (2)

Components this component depends on