NAZMUL

Trabill

OTA Platform

Production
2023
System
Trabill
001
Year

2023

Duration

14 months

Team

6 engineers

Role

System Architect & Backend Lead

Full-scale Online Travel Agency system with GDS integrations

Overview

Trabill is an enterprise-grade OTA platform built to handle the full lifecycle of flight bookings — from real-time availability search through GDS aggregators to final ticketing and post-booking management. The system processes hundreds of thousands of API calls daily while maintaining sub-200ms response times through aggressive caching, connection pooling, and async processing via Server-Sent Events. The architecture supports multi-tenant agency setups, role-based access, and deep financial reporting. Integration with both Galileo/Travelport and Sabre GDS gives agents access to the full global inventory with real-time fare validation before payment.

Key Achievements

Real-time flight search across Galileo and Sabre GDS with unified response schema

SSE-based fare streaming eliminates polling and cuts frontend load by 60%

Multi-agency tenant system with isolated financial ledgers per branch

Automated revalidation before payment to eliminate fare mismatch errors

PNR management and e-ticket generation fully automated

Redis caching layer for popular routes reduces GDS round-trips by 45%

Technical Challenges
01
GDS response normalization

Galileo and Sabre return wildly different XML/JSON schemas for the same flight data, making unified handling complex.

SOLUTION →Built a normalisation adapter layer that maps both GDS responses into a single internal DTO before any business logic runs — isolating GDS-specific quirks behind a clean contract.
02
Real-time fare streaming

Polling-based fare updates created high backend load and stale UX. Users would see outdated prices until they manually refreshed.

SOLUTION →Replaced polling with Server-Sent Events. The backend streams incremental fare updates as GDS responses arrive, giving the frontend a live feed with zero extra requests.
03
Concurrent booking race conditions

Simultaneous bookings for the same seat caused double-confirmation issues during peak traffic.

SOLUTION →Implemented Postgres advisory locks at the booking initiation step combined with an idempotency key system so duplicate in-flight requests are safely collapsed.
metrics.json
500K+
API Calls / Day
<200ms
Response Time
99.8%
Booking Accuracy
99.95%
Uptime SLA
2
GDS Integrations
1,000+
Concurrent Users
Technology

Backend

Node.jsTypeScriptExpressPrisma ORM

Database

PostgreSQLRedis (caching)Connection Pooling

Frontend

Next.js 14Redux RTK QueryTypeScript

GDS APIs

Galileo / TravelportSabre GDSSSE Streaming

Infra

DockerNginxAWS EC2PM2
Development Timeline

PHASE 01Discovery & Architecture

Requirements analysisGDS API evaluationSystem designDB schema design