Tag-based targeting (MEC groups, pilot groups, individual users) — today's tag inventory is only the fs-{ScheduleKey} flight-subscription tags; no MEC/pilot-group tags exist yet
Notification history and delivery tracking
Azure Notification Hub integration management
Access
Authentication
ALPA staff credentials required
Environment
Production backend
Integration
Azure Notification Hub (APNS for iOS, FCM for Android)
Usage
Sending Notifications
Navigate to https://pilotcomms.alpa.org/notifications
Compose notification (title, message, payload)
Select targeting (tags, user groups, broadcast)
Review payload structure (Document, WebLink, DeepLink, or empty contentType)
Send
Payload Types
Document: Displays PDF, HTML, or web content in-app. Requires: docType, destination (file URL)
WebLink: Opens URL in the system browser (MauiExternalBrowser → Browser.OpenAsync with SystemPreferred), not an in-app WebView. Requires: destination (URL)
DeepLink: Routes to specific app screen (FTDT, Jumpseat, Settings, etc.). Requires: destination (route path)
Empty contentType: No destination — the app renders the title and message themselves as the content. Not an edge case: 83 of 241 cached production records carry an empty contentType (see the comms notification detail design gap).
Device registration (APNS/FCM tokens) — the app registers via the PilotComms API (RestService.RegisterPushTokenAsync → pilotCommsClient.CreateUpdateRegistrationAsync); Azure Notification Hub is used directly by the app only for flight-change alerts (FlightSearchPushNotificationService, fs-* tags)
Tag updates — currently only fs-{ScheduleKey} flight-subscription tags