architecture · Oct 2023 – Sep 2024
Integrating 3 GDS Platforms and 35+ Airline APIs
Integrated 3 GDS systems via SOAP (+13% revenue) and built and optimized 35+ REST, GraphQL, and SOAP airline APIs with validation and structured errors (+8% backend performance).
- Role
- Built the GDS integrations, the airline-facing APIs, and the CI/CD pipelines that ship them
- Team
- Backend integrations team
- Scope
- Airline integrations across 3 global distribution systems (GDS) at Universal Weather and Aviation
- Level
- SDE-1
Revenue
Method: Revenue increase attributed to integrating 3 GDS systems via SOAP APIs and the AI-driven microservices built on them.
Window: during tenure
Backend performance
Method: Backend performance improvement from building and optimizing the airline-integration APIs with input validation and structured error handling.
Window: during tenure
APIs built & optimized
Method: Count of REST, GraphQL, and SOAP APIs built and optimized for airline integrations.
Window: Oct 2023 – Sep 2024
Context
At Universal Weather and Aviation I worked on the integrations that connect airline operations to the outside world — in particular, global distribution systems (GDS), the external platforms airlines use for distribution. Each one has its own SOAP interface, schemas, and quirks. I integrated three of them and built and optimized 35+ REST, GraphQL, and SOAP APIs for airline integrations.
One internal model, many partners
The fastest way to integrate a partner is to call its API straight from the feature that needs it. Do that for three partners and every feature has to understand three sets of quirks.
So each GDS sits behind its own adapter that translates its SOAP interface into one shared internal model. Partner-specific complexity lives in exactly one place per partner; features — including the AI-driven microservices built on this data — are written once. That integration work is what drove the 13% revenue increase.
Fail fast, fail clearly
With high request volumes against external systems, bad input that travels deep into the stack is expensive: it burns partner calls and compute, then fails with an error nobody can act on. Across the APIs I added strict validation at the boundary and a structured error model, so bad requests fail cheaply with a clear message. That was part of an 8% backend performance improvement.
Shipping it reliably
Dozens of APIs and several services meant deployments needed to be boring. I automated CI/CD with Terraform, Docker, and Kubernetes so every environment is reproducible from code and every release goes through the same pipeline.
What broke
One GDS reported some business failures inside a successful SOAP response instead of as a SOAP fault. The first version of its adapter only checked for faults, so those requests looked like successes until downstream checks caught the mismatch. Since then I treat a partner's error semantics as part of its contract and test adapters against recorded real responses — every failure shape the partner actually sends, not just the schema.
Outcomes
Three GDS systems integrated behind one internal model, 35+ airline-integration APIs built and optimized, +13% revenue, +8% backend performance, and automated pipelines that made shipping integration services routine.
Decision Records
Where I Got It Wrong
Failure 1
One GDS reported certain business failures inside a successful SOAP response body rather than as a SOAP fault, and the first version of its adapter treated those responses as success
Cost: Requests that had actually failed looked successful until downstream checks flagged the mismatch, and the adapter's response handling had to be reworked
Lesson: A partner's error semantics are part of its contract. Test adapters against recorded real responses — including every failure shape the partner actually sends — not just against the schema
Long-Term Impact
An adapter-based integration layer and automated delivery pipeline that made adding partners and shipping integration services routine rather than risky.