To get familiar with our flight structure, please see the diagram below.
Lets imagine we book a three step flight from point A to point B , then from point B to point C and return flight from point C to point A .
All the steps together define the FlightRoute. Each FlightRoute has FlightRouteID.
Each FlightLeg represents a flight between two points we chose as departure and destination. In this case we have 3 FlightLegs: from point A to point B , from point B to point C and return flight from point C to point A.
Each FlightLeg can be a direct flight - a plane takes off at point B and proceeds directly to point C, without stopovers or a flight with stopovers - like from point A to point B with stopover at point m, or from point C to point A with stopover at point k.
In the last case we divide each FlightLeg into FlightLegSegments. Where Each Segment represents a flight between two landing points.
To stopover points we also call connections - as connection between two FlightLegSegments.
In API FlightSearchResponse you`ll find another parameter, called FlightRouteGroup. We group different FlightRouts into FlightRouteGroups for internal use.