Mobile Applications
Native iOS and Android applications for booking, check-in, and trip management.
Scope
Core Features
- Flight search and booking
- Manage reservations
- Mobile check-in
- Digital boarding passes
- Flight status and notifications
- Loyalty program access
Mobile-Specific Features
- Push notifications
- Wallet integration (Apple/Google)
- Biometric authentication
- Offline boarding pass
- Location-based services
- Camera for document scanning
- iOS (iPhone, iPad)
- Android (phones, tablets)
- Tablet-optimized layouts
- Watch apps (status, boarding)
Research Topics
Architecture Considerations
Technology Options
| Approach | Pros | Cons |
|---|
| Native (Swift/Kotlin) | Best performance, full API access | Dual codebase |
| React Native | Code sharing, large community | Bridge overhead |
| Flutter | Single codebase, good perf | Smaller ecosystem |
| Kotlin Multiplatform | Shared business logic | UI still separate |
Recommended: React Native
src/
├── components/ # Shared UI components
├── screens/ # Screen components
├── navigation/ # React Navigation setup
├── services/ # API and native modules
├── store/ # Redux state
├── hooks/ # Custom hooks
├── utils/ # Helpers
└── native/ # Platform-specific code
├── ios/
└── android/
Offline Support
Online Mode:
API Request → Server → Response → Update Cache → UI
Offline Mode:
User Action → Queue Action → Update Local State → UI
Sync (when online):
Process Queue → Reconcile → Update UI
Data Caching
| Data | Storage | Sync |
|---|
| User profile | Secure storage | On login |
| Bookings | SQLite | On app open |
| Boarding passes | Secure storage | Real-time |
| Flight status | Memory | Every 5 min |
Integration Points
| System | Direction | Purpose |
|---|
| Booking API | Bidirectional | Search, book, manage |
| Push Service | Inbound | Notifications |
| Wallet API | Outbound | Pass generation |
| Analytics | Outbound | Event tracking |
| Loyalty | Bidirectional | FFP features |
Push Notifications
Notification Types
| Type | Trigger | Priority |
|---|
| Flight status | Delay/gate change | High |
| Check-in open | 24h before | High |
| Boarding | Boarding start | High |
| Booking confirm | After payment | Normal |
| Promotions | Marketing | Low |
Implementation
- APNs (iOS)
- FCM (Android)
- Rich notifications (images, actions)
- Silent push for data sync
- Notification preferences
Wallet Integration
Apple Wallet
PKPass Structure:
├── pass.json # Pass data
├── manifest.json # File hashes
├── signature # Apple signature
├── icon.png # App icon
├── logo.png # Pass logo
└── strip.png # Header image
Google Pay
- JWT-based passes
- Save to Phone API
- Real-time updates
- Location-based alerts
Security
Authentication
- Biometric (Face ID, Touch ID, fingerprint)
- PIN fallback
- OAuth 2.0 + refresh tokens
- Secure token storage
Data Protection
- Keychain (iOS) / Keystore (Android)
- Certificate pinning
- Encrypted local database
- No sensitive data in logs
| Metric | Target |
|---|
| App launch (cold) | <2s |
| App launch (warm) | <1s |
| Search response | <3s |
| Memory usage | <150MB |
| Battery impact | Minimal |
| App size | <50MB |
App Store Considerations
Compliance
- App Store Guidelines
- Google Play policies
- Accessibility requirements
- Privacy labels
Release Process
- Beta testing (TestFlight, Internal Track)
- Staged rollout
- Version management
- Crash monitoring
- User reviews response