import { FlightDataSegmentMetaData } from "../../offer/flight-data-segment-meta-data";
export interface FlightSearchResponse {
  requestId: number;
  sequenceId: number;
  items: FlightSearchResponseItem[];
}
export interface FlightSearchResponseItem {
  provider: string;
  vendorConfigurationId: number | null;
  vendorType: number | null;
  flightRouteId: string;
  price: number;
  travelClass: number;
  airlineCode: string;
  airlineName: string;
  isLuggageIncluded: boolean;
  luggageInfo: string;
  outward: FlightSearchResponseFlight;
  return: FlightSearchResponseFlight;
  source: number;
  paxes: FlightSearchResponsePax[];
}
export interface FlightSearchResponseFlight {
  code: string;
  fareType: number;
  durationInTicks: number;
  segments: FlightSearchResponseFlightSegment[];
}
export interface FlightSearchResponseFlightSegment {
  order: number;
  flightNumber: string;
  operatingFlightNumber: string;
  marketingAirlineCode: string;
  marketingAirlineName: string;
  operatingAirlineCode: string;
  operatingAirlineName: string;
  departureAirportCode: string;
  departureAirportName: string;
  arrivalAirportCode: string;
  arrivalAirportName: string;
  departureDateTime: Date;
  arrivalDateTime: Date;
  transferTimeInTicks?: number;
  bookingClassCode: string;
  travelClass: number;
  durationInTicks: number;
  metaData: FlightDataSegmentMetaData;
}
export interface FlightSearchResponsePax {
  age: number;
  ticketPrice: number;
  taxPrice: number;
}
