ALPA Mobile — Feature Roadmap

Updated: 2026-09-30 09:48 ET · Audited: 2026-06-26

TL;DR: Running list of planned features and enhancements, one section per item with priority, status, and date added. Currently three entries: the FTDT N-Tier architecture port (WI-1908, high priority — work packages WP-1 through WP-7 complete, with follow-ups noted), Document Center search (priority TBD, not yet implemented) and the MEC and LEC representatives refactor (AB#2840, PR D, delivered: v2, the council trim, MEC officer sections with their seats, the role line and rep identity). Shipped behavior lives in the Feature Showcase; new items are added above the marker line at the bottom of this page.

Planned features and enhancements for future releases.

FTDT N-Tier Architecture Port (WI-1908)

PriorityHigh
StatusComplete — WP-1 through WP-6 landed via PR1648; WP-7 (this entry) done
Added2026-06-23

Description

Extract the FTDT rest-rules calculation engine and data sync service into the ALPAMobile.Application and ALPAMobile.Domain layers so they can be unit-tested in isolation and consumed by both the current MAUI head and the forthcoming Blazor Hybrid UI.

Work packages

PackageScopeStatus
WP-1Domain models (FlightSegment, Positioning, RestOpportunity) moved to ALPAMobile.DomainComplete
WP-2LiteDB _type discriminator migration for renamed assemblyComplete
WP-3IFTDTStore abstraction; RestRulesCalculationEngine stub in ALPAMobile.ApplicationComplete
WP-4AFTDTDutyPeriodMapper — hand-written bidirectional mapper replacing AutoMapper (NU1903)Complete
WP-4BIFTDTSyncService interface in ALPAMobile.ApplicationComplete
WP-4CWire FTDTDataSyncHelper : IFTDTSyncService; remove AutoMapper; DI registration; round-trip testsComplete
WP-5RestRulesCalculationEngine — CAN §§700.40–700.43 and USA §117.25 rest rules ported from legacy calculators, gated behind GatedFTDTCalculationEngineComplete
WP-6Architecture-test enforcement: Application_Should_Not_Reference_MauiComplete
WP-7Docs updateComplete (this entry)

Since this entry closed, the follow-ups have landed. The Blazor FTDT suite has shipped (ALPAMobile.Presentation/Components/Pages/FTDT/ — dashboard, duty-period list/form/edit, flight segment, rest, note, op-type select, and guide) and calculates exclusively through the gated engine. The ported calculators live in ALPAMobile.Application/Services/FlightTimeDutyTime and are selected per call by GatedFTDTCalculationEngine (feature-flag dispatch with shadow mode: legacy result surfaced, divergences logged); legacy FTDTCalculator_*.cs files remain in ALPAMobile/BusinessLogic as the default path until the flag flips. The native duty-period-ordering fix has been ported (FTDTDutyPeriodListViewModel, AB#2129). Still open: the follow-up check on the LiteDB type-rename migration against the assembly split already done by the Presentation Extraction (AB#2087).


PriorityTBD
StatusNot yet implemented
Added2026-02-15

Description

Add search functionality to the Document Center, allowing pilots to find documents by keyword across all scopes (ALPA International, MEC, LEC, KCM).

Requirements

Identified during .NET 10 migration feature testing as a gap between features.html and actual implementation.


MEC and LEC Representatives on v2 (AB#2840, PR D)

PriorityDelivered; follows PR C (one card per pilot)
StatusDelivered (PR D, 2026-09-30) — the v2 read, the council trim, MEC officer sections, the "Primary | Secondary" role line, identity by the rep's member id, and an MEC officer's seat from the LEC list, also on the legacy reps page. Shipped behavior is described in the Feature Showcase. The backend serves v2 of both calls in development/QA and production (confirmed 2026-09-29)
Added2026-09-29

Description

Move the representatives the app shows onto v2 of getlecreps (LEC reps) and getmecreps (MEC officers). The routes stay the same; the app asks for v2 with the query parameter ?api-version=2.0, from one constant in MecApiClient. Requests without it keep getting v1, so installed builds are unaffected. This finishes the one-card-per-pilot work for representatives.

Scope


Add new roadmap items above this line.