Case study · Aviation
AeroPass
Integration platform bridging passenger-information systems and aviation stakeholders, with invoicing and reconciliation for airlines.
- Airline invoice generation
- Days → minutes
- Role
- Backend Engineering · Integrations
- Domain
- Aviation
Overview
AeroPass sits between passenger-information (API/PNR) systems and the stakeholders who need flight and passenger status at the airport. It receives data from upstream systems, makes it available to downstream aviation partners including Ghana Airports Company, and provides a portal for managing users, exporting flight data and issuing invoices to airlines.
The problem
Stakeholders had limited, delayed visibility into inbound and outbound flight and passenger-information status, and invoicing airlines was a slow process measured in days.
My role
- Implemented API key generation and management for integrating systems.
- Built the ingestion API through which API/PNR data is pushed into the platform.
- Built the integration that provides flight data to Ghana Airports Company.
- Wrote the business logic for airline invoice generation.
- Worked on the reconciliation engine and most remaining backend workflows.
Architecture
-
Upstream
- API/PNR systems Passenger information
-
AeroPass
- Ingestion API API-key authenticated
- Invoicing Airline billing rules
- Reconciliation engine
- Management portal
-
Downstream
- Airport operator Flight data feed
- Airlines Invoices
-
Platform
- MySQL
- Keycloak
- IIS
Scale
- Flight & passenger status
- Near real time
- Integration directions
- 3
- Upstream ingestion, downstream partners, and airline invoicing.
Engineering challenges
Accepting data from systems you do not control
Upstream systems push passenger information on their own schedule and in their own shape. The ingestion API has to authenticate callers, validate payloads and handle retries without creating duplicates.
Serving partners with different needs
The airport operator needs a timely flight data feed; airlines need accurate invoices. Both depend on the same underlying records being complete and consistent.
Invoices that match reality
Invoices are only useful if they reconcile with the flights and passenger data that justify them. Manual preparation made this slow and error-prone.
Approach
- API keys as a first-class feature. Integrating systems authenticate with issued keys that can be generated, scoped and revoked from the portal.
- Idempotent ingestion. Incoming records are validated and written so that repeated submissions do not create duplicate data.
- Reconciliation before invoicing. The reconciliation engine checks received data before the invoicing logic generates airline bills, so invoices are produced from verified records in minutes rather than days.
- Pragmatic hosting. Services run on IIS to fit the target environment, with Keycloak providing identity for portal users.
Impact
Days → minutes
Airline invoice generation
Near real time
Operational visibility
Stakeholders see flight and passenger-information status as data arrives.
Technologies
- C#
- .NET
- MySQL
- Entity Framework
- Dapper
- Keycloak
- IIS
Lessons
- 01 Integration APIs need to be designed for the partner who is least able to change. Clear authentication, validation errors and idempotent ingestion saved more support time than any feature.
- 02 Invoicing logic belongs close to the data it bills for. Generating invoices from reconciled records removed a class of disputes.
- 03 Machine-to-machine access needs its own lifecycle — issuing, rotating and revoking API keys is a product feature, not an afterthought.