import {z} from 'zod' export type PassengerType = 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN'; export type PassengerAge = {numYears: number}; export type UserId = {id: string}; export type AdhocTravelerInfo = {registrarUserId?: UserId | undefined, externalId?: string | undefined}; export type AirRequestTravelerInfo = {userId?: UserId | undefined} | {adhocTravelerInfo?: AdhocTravelerInfo | undefined}; export type TravelerSearchInfo = {travelerType: PassengerType, travelerAge?: PassengerAge | undefined, travelerInfo?: AirRequestTravelerInfo | undefined}; export type MultiAirports = {airports: Array}; export type AirportLocation = {city?: string | undefined, airport?: string | undefined, multiAirports?: MultiAirports | undefined}; export type DateModel = {iso8601: string}; export type SearchLeg = {origin: AirportLocation, destination: AirportLocation, date: DateModel}; export type CabinFilterType = 'DEFAULT' | 'ALL' | 'AT_LEAST_ONE'; export type Cabin = 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST'; export type CabinFilter = {type?: CabinFilterType | undefined, cabin?: Cabin | undefined}; export type TimeLocal = {iso8601: string}; export type TimeRange = {min?: TimeLocal | undefined, max?: TimeLocal | undefined}; export type LegDepartureArrivalTimeRangeFilter = {legIndex?: number | undefined, departure?: TimeRange | undefined, arrival?: TimeRange | undefined}; export type TimeRangeFilter = {timeRanges?: Array | undefined}; export type Alliance = 'UNKNOWN_ALLIANCE' | 'STAR_ALLIANCE' | 'ONEWORLD' | 'SKYTEAM' | 'VANILLA_ALLIANCE' | 'U_FLY_ALLIANCE' | 'VALUE_ALLIANCE'; export type AllianceFilter = {alliances?: Array | undefined, airlines?: Array | undefined}; export type PaymentMethod = 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' | 'DELAYED_PAYMENT'; export type FlightPassTax = {code?: string | undefined, amount?: Money | undefined}; export type FlightPassPaymentAmounts = {totalAmount?: Money | undefined, baseAmount?: Money | undefined, totalTaxes?: Money | undefined, taxBreakdown?: Array | undefined}; export type FlightPassPaymentMetadata = {flightPassNumber?: string | undefined, flightPassAmounts?: FlightPassPaymentAmounts | undefined}; export type FlightPassPaymentMetadataWrapper = {metadataType?: string | undefined, flightPassMetadata: FlightPassPaymentMetadata}; export type Money = {amount: number, currencyCode: string, convertedAmount?: number | undefined, convertedCurrency?: string | undefined, otherCoinage?: (Array<{coinageCode?: PaymentMethod | undefined, amount?: number | undefined, conversionRate?: number | undefined, preferredCurrencyConversionRate?: number | undefined, otherCoinageMetadata?: FlightPassPaymentMetadataWrapper | undefined}>) | undefined}; export type MoneyRange = {min?: Money | undefined, max?: Money | undefined}; export type AirlinePrefs = {legIndex?: number | undefined, airline?: Array | undefined}; export type AirlinePrefsFilter = {airlinePrefs?: Array | undefined}; export type FareTypeFilter = 'UNKNOWN' | 'PUBLIC' | 'PRIVATE' | 'CORPORATE'; export type ChangeableFilter = 'NO_CHANGEABLE_FILTER' | 'CHANGEABLE_FLEXIBLE_REFUNDABLE' | 'REFUNDABLE_WITH_PENALTY' | 'REFUNDABLE_WITHOUT_PENALTY'; export type ConnectingAirportsLegFilter = {legIndex?: number | undefined, airportCodes?: Array | undefined}; export type ConnectingAirportsFilter = {legFilters?: Array | undefined}; export type SeatType = 'UNKNOWN' | 'FLAT' | 'RECLINER' | 'SKYCOUCH' | 'PRIVATE_SUITE'; export type SeatPrefFilter = {seatTypes?: Array | undefined, minPitchInch?: number | undefined}; export type CovidFilterPreference = 'NO_PREFERENCE' | 'REQUIRED' | 'NOT_REQUIRED'; export type CovidFilter = {vaccine?: CovidFilterPreference | undefined, covidTest?: CovidFilterPreference | undefined, faceMask?: CovidFilterPreference | undefined, temperatureCheck?: CovidFilterPreference | undefined, blockedAdjacentSeats?: CovidFilterPreference | undefined}; export type BaggageFilter = {freeCheckedBag?: boolean | undefined, freeCarryOn?: boolean | undefined}; export type FlightNumber = {num: string, airlineCode: string}; export type FlightNumberFilter = {flightNumber?: FlightNumber | undefined, flightIdentifier?: string | undefined}; export type PolicyFilter = {onlyInPolicy?: boolean | undefined}; export type MultiTicketFilter = {hideMultiTicket?: boolean | undefined}; export type NGSFareCategory = 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'; export type CabinViewFareCategory = 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'; export type FareCategory = {ngsCategory?: NGSFareCategory | undefined, cabinViewCategory?: CabinViewFareCategory | undefined}; export type FareCategoryFilter = {fareCategories?: Array | undefined}; export type CorporateCodeFilter = {corpAccountCodes?: Array | undefined}; export type UnusedCreditFilter = {hideWithoutCredits?: boolean | undefined}; export type PayByPointsFilter = {payByPoints?: boolean | undefined}; export type Filter = {cabin?: CabinFilter | undefined, maxNumStops?: number | undefined, timeRange?: TimeRangeFilter | undefined, alliance?: AllianceFilter | undefined, fareRange?: MoneyRange | undefined, airlinePref?: AirlinePrefsFilter | undefined, fareType?: FareTypeFilter | undefined, changeable?: ChangeableFilter | undefined, connectingAirports?: ConnectingAirportsFilter | undefined, seatPref?: SeatPrefFilter | undefined, covid?: CovidFilter | undefined, baggage?: BaggageFilter | undefined, flightNumber?: FlightNumberFilter | undefined, policyFilter?: PolicyFilter | undefined, multiTicketFilter?: MultiTicketFilter | undefined, fareCategoryFilter?: FareCategoryFilter | undefined, corporateCodeFilter?: CorporateCodeFilter | undefined, unusedCreditFilter?: UnusedCreditFilter | undefined, payByPointsFilter?: PayByPointsFilter | undefined}; export type SortBy = 'PRICE' | 'DEPARTURE_TIME' | 'ARRIVAL_TIME' | 'DURATION' | 'NO_OF_STOPS' | 'TICKET_TYPE' | 'USER_PREFERRED_AIRLINE' | 'ORG_PREFERRED_AIRLINE' | 'CO2_EMISSION'; export type SortOrder = 'ASCENDING' | 'DESCENDING'; export type SortOption = {sortBy?: SortBy | undefined, sortOrder?: SortOrder | undefined, shelfNumber?: number | undefined}; export type LegCloneInfo = {pnrId?: string | undefined, pnrLegIndex?: number | undefined}; export type LegSearchParams = {searchId?: string | undefined, selectedRateOptionId?: string | undefined, legIndex?: number | undefined, asyncRouteHappy?: boolean | undefined, pageNumber?: number | undefined, pageSize?: number | undefined, legCloneInfo?: LegCloneInfo | undefined}; export type AnswerPair = {item?: string | undefined, value?: string | undefined, description?: string | undefined}; export type CustomFieldType = 'QUESTION' | 'MEETING' | 'BUDGET' | 'BREX_TOKEN'; export type QuestionFormat = 'INPUT_BOX' | 'RADIO_BUTTON' | 'CHECKBOX' | 'CHECKBOX_WITH_PERCENTAGE'; export type OptionSource = 'MANUAL' | 'COMPANY_CONFIG'; export type CustomFieldOptionsParam = 'COST_CENTER' | 'LEGAL_ENTITY' | 'OFFICE' | 'DEPARTMENT'; export type CompanyConfigSource = {optionsParam: CustomFieldOptionsParam}; export type OptionSourceMetadata = {companyConfig?: CompanyConfigSource | undefined}; export type Option = {displayCode: string, displayValue?: string | undefined}; export type OptionInfo = {source: OptionSource, sourceMetadata?: OptionSourceMetadata | undefined, totalNumOptions?: number | undefined, options?: Array