Flight APIS
Flight Search (Progressive)

Progressive Flight Search API

POST

Endpoint:[BaseUrl]/flight-search-progressive

Overview

The Progressive Flight Search API allows clients to search for real-time flight availability based on itinerary criteria (origin, destination, travel dates, passenger composition, cabin class, and fare rules). Results are streamed progressively as individual airline supplier responses arrive, enabling near-instant UI updates without waiting for complete batch aggregation.

Request Parameters

ParameterTypeRequiredDescription
adultsIntegerYesNumber of adult passengers (age > 12)
childsIntegerNoNumber of child passengers (age 2-12)
infantsIntegerNoNumber of infant passengers (age < 2)
classStringYesCabin class (Economy, Premium Economy, Business, First)
journeyTypeIntegerYes1=One Way, 2=Round Trip, 3=Multi City
routesArrayYesArray of flight segments containing origin, destination airport codes and departure dates
preferredCarriersArrayNoList of preferred airline carriers
childrenAgesArrayConditionalRequired if childs > 0. Array containing ages of all child passengers
fare_typeIntegerYes1=General, 2=Labor fare
Request
{
  "adults": 1,
  "childs": 0,
  "infants": 0,
  "journeyType": 1,
  "class": "Economy",
  "preferredCarriers": [],
  "childrenAges": [],
  "fare_type": 1,
  "routes": [
    {
      "origin": "KUL",
      "destination": "DAC",
      "departureDate": "2026-11-10"
    }
  ]
}
 

Streaming Lifecycle & Event Structure

The connection emits continuous JSON chunk events over HTTP. The lifecycle consists of four main phases:

  1. Connection Established: Client executes POST request and opens persistent streaming channel.
  2. Incremental Results ('running'): Intermediate batches of flight itineraries arrive progressively as providers return results. The flag is true.
  3. Stream Termination ('end'): Triggered when all providers finish. Final transaction ID and overall status returned. The flag is false.
  4. Connection Closed: Server closes TCP connection. Client finalizes data presentation.

Response Event Payloads

Event: running (Incremental Results)

Response
{
  "event": "running",
  "time": "2026-10-12T17:42:18+08:00",
  "flag": true,
  "code": 200,
  "data": {
    "AirSearchResponses": [
      {
        "Directions": [
          [
            {
              "Origin": "KUL",
              "OriginName": "Kuala Lumpur International Airport",
              "Destination": "DAC",
              "DestinationName": "Hazrat Shahjalal International Airport",
              "PlatingCarrierCode": "BS",
              "PlatingCarrierName": "US-Bangla Airlines",
              "Stops": 0,
              "Segments": [
                {
                  "Origin": "KUL",
                  "OriginName": "Kuala Lumpur International Airport",
                  "Destination": "DAC",
                  "DestinationName": "Hazrat Shahjalal International Airport",
                  "Group": 1,
                  "Departure": "2026-11-10 15:50:00",
                  "Arrival": "2026-11-10 17:45:00",
                  "Airline": "US-Bangla Airlines",
                  "FlightNumber": "316",
                  "SegmentCodeRef": "UXvDspu8WM/C2ZiLl241w5ZWILJF2jzKOXCorJVbn6A=",
                  "Details": [
                    {
                      "Origin": "KUL",
                      "OriginName": "Kuala Lumpur International Airport",
                      "Destination": "DAC",
                      "DestinationName": "Hazrat Shahjalal International Airport",
                      "OriginTerminal": "M",
                      "DestinationTerminal": "1",
                      "Departure": "2026-11-10 15:50:00",
                      "Arrival": "2026-11-10 17:45:00",
                      "FlightTime": "3h 55m",
                      "TravelTime": "3h 55m",
                      "Equipment": "Airbus A330-300"
                    }
                  ],
                  "ServiceClass": "Y",
                  "Plane": [
                    "Airbus A330-300"
                  ],
                  "Duration": [
                    "3h 55m"
                  ],
                  "TechStops": [],
                  "BookingClass": "Q",
                  "BookingCount": "9",
                  "Baggage": [
                    {
                      "Units": "Kg",
                      "Amount": 35,
                      "PassengerTypeCode": "ADT"
                    }
                  ],
                  "CarryBaggage": [
                    {
                      "Units": "KG",
                      "Amount": 7,
                      "PassengerTypeCode": "ADT"
                    }
                  ],
                  "FareBasisCode": "QSKULO",
                  "AirlineCode": "BS",
                  "OperationFlightNumber": null,
                  "OperationAirlineCode": null,
                  "OperationAirlineName": null
                }
              ],
              "DirectionTotalTime": "3h 55m",
              "OriginalPriceComponent": null
            }
          ]
        ],
        "BookingComponent": {
          "DiscountPrice": 0,
          "TotalPrice": 25471,
          "BasePrice": 22170,
          "Taxes": 3225,
          "AIT": 76,
          "FareReference": "",
          "AgentAdditionalPrice": 0
        },
        "OriginalPriceComponent": {
          "AvlSrc": null,
          "TotalPrice": 25395,
          "BasePrice": 22170,
          "Taxes": 3225,
          "ConversionRate": null,
          "Currency": null
        },
        "PassengerFares": [
          {
            "PassengerType": "ADT",
            "PassengerCount": 1,
            "DiscountPrice": 0,
            "AIT": 76,
            "TotalPrice": 25471,
            "BasePrice": 22170,
            "EquivalentBasePrice": 22170,
            "Taxes": 3225,
            "ServiceCharge": 0,
            "TaxesBreakdown": [
              {
                "Category": "MY",
                "Amount": 2217
              },
              {
                "Category": "H8",
                "Amount": 30
              },
              {
                "Category": "G1",
                "Amount": 607
              },
              {
                "Category": "YQ",
                "Amount": 371
              }
            ]
          }
        ],
        "IsBrandedFareSpecefied": false,
        "UniqueTransID": "NZ2347951294210495",
        "ItemCodeRef": "e1EZWsSJ8izmIzbQ44MVuNxuc/pNWbLLAcPPozI4BCK98f3VZFPIdXmOCo+bICHu/LHyn6PlJ30eMKMpX9WfuRhE1fonrVVoRVmz9SrQJFc=",
        "TotalPrice": 25471,
        "BasePrice": 22170,
        "EqivqlBasePrice": 22170,
        "Taxes": 3225,
        "PlatingCarrierName": "US-Bangla Airlines",
        "PlatingCarrier": "BS",
        "FareType": "",
        "FareTypeDec": "",
        "Refundable": true,
        "Bookable": true,
        "AvlSrc": "USB-BD",
        "AirlineSponsor": false
      }
    ],
    "Currency": "BDT"
  },
  "message": "Streaming results...",
  "dataCount": 1,
  "UniqueTransID": "NZ2347951294210495"
}

Event: end (Stream Completion)

Response
{
  "event": "end",
  "time": "2026-10-12T17:42:18+08:00",
  "flag": false,
  "code": 200,
  "data": {
  "AirSearchResponses": [],
  "Currency": "BDT"
  },
  "message": "No data Available",
  "dataCount": 0,
  "UniqueTransID": "NZ2347951294210495"
}

Important Response Fields

FieldDescription
UniqueTransIDRequired for subsequent API calls
ItemCodeRefRequired for fare rules and booking
BookableIndicates if direct booking is possible
RefundableIndicates if the fare is refundable