---
title: "Get air itineraries"
method: POST
path: "/v2/air/search-flights"
tags: ["Air"]
---

# Get air itineraries

`POST /v2/air/search-flights`

## Request

- Base URL: `https://api-ext-sboxmeta.partners.spotnana.com`
- URL: `https://api-ext-sboxmeta.partners.spotnana.com/v2/air/search-flights`
- Auth: HTTP bearer

Get Air Itineraries available for the given search parameters

## Request body

- AirSearchRequest: Provides information about where and when the given travelers want to travel. Also provides support for filtering and sorting.
  - `travelers` TravelerSearchInfo[], required: Information about each of the travelers in the search request. This information is required.
    - `travelerType` 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN', required: Type of passenger
    - `travelerAge` PassengerAge: Age of the traveler
      - `numYears` integer, required: Age of the passenger
    - `travelerInfo` union: The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
      - object: Wrapper over UserId object to be used as an identifier in a oneOf case
        - `userId` UserId: User identifier
          - `id` string, uuid, required
      - object: Wrapper over AdhocTravelerInfo object to be used as an identifier in a oneOf case.
        - `adhocTravelerInfo` AdhocTravelerInfo: Describes an adhoc traveler.
          - `registrarUserId` UserId: User identifier
            - `id` string, uuid, required
          - `externalId` string: External Id of user
  - `legs` SearchLeg[], required: The list of all legs for which search results need to be returned.
    - `origin` AirportLocation, required
      - `city` string: The code of a city used to identify a set of airports associated with it. For example, NYC or LON.
      - `airport` string: The airport code identifying a specific airport. For example, JFK or EWR.
      - `multiAirports` MultiAirports: List of airports. All airports should belong to the same country.
        - `airports` string[], required: List of 3-letter airport IATA codes.
    - `destination` AirportLocation, required
      - `city` string: The code of a city used to identify a set of airports associated with it. For example, NYC or LON.
      - `airport` string: The airport code identifying a specific airport. For example, JFK or EWR.
      - `multiAirports` MultiAirports: List of airports. All airports should belong to the same country.
        - `airports` string[], required: List of 3-letter airport IATA codes.
    - `date` DateModel, required: Date in ISO 8601 standard.
      - `iso8601` string, required
  - `filters` Filter[]: The list of filters to be applied in the search request.
    - `cabin` CabinFilter
      - `type` 'DEFAULT' | 'ALL' | 'AT_LEAST_ONE': Determines how cabin type selection will be applied. - DEFAULT: By default AT_LEAST_ONE cabin type is used. - ALL: Ensures that all the segments in the itinerary have the specified cabin. - AT_LEAST_ONE: Ensures that at least one segment in the itinerary has the specified cabin.
      - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': Flight cabin
    - `maxNumStops` integer
    - `timeRange` TimeRangeFilter
      - `timeRanges` LegDepartureArrivalTimeRangeFilter[]
        - `legIndex` integer
        - `departure` TimeRange
          - `min` TimeLocal: ISO8601 Local Time
            - `iso8601` string, required
          - `max` TimeLocal: ISO8601 Local Time
            - `iso8601` string, required
        - `arrival` TimeRange
          - `min` TimeLocal: ISO8601 Local Time
            - `iso8601` string, required
          - `max` TimeLocal: ISO8601 Local Time
            - `iso8601` string, required
    - `alliance` AllianceFilter
      - `alliances` Alliance[]
      - `airlines` string[]: 2-letter IATA codes for the preferred airlines.
    - `fareRange` MoneyRange
      - `min` Money: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `max` Money: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
    - `airlinePref` AirlinePrefsFilter
      - `airlinePrefs` AirlinePrefs[]
        - `legIndex` integer
        - `airline` string[]
    - `fareType` 'UNKNOWN' | 'PUBLIC' | 'PRIVATE' | 'CORPORATE'
    - `changeable` 'NO_CHANGEABLE_FILTER' | 'CHANGEABLE_FLEXIBLE_REFUNDABLE' | 'REFUNDABLE_WITH_PENALTY' | 'REFUNDABLE_WITHOUT_PENALTY': List of filters related to refund and change options for flights.
    - `connectingAirports` ConnectingAirportsFilter
      - `legFilters` ConnectingAirportsLegFilter[]
        - `legIndex` integer
        - `airportCodes` string[]
    - `seatPref` SeatPrefFilter
      - `seatTypes` SeatType[]
      - `minPitchInch` integer
    - `covid` CovidFilter
      - `vaccine` 'NO_PREFERENCE' | 'REQUIRED' | 'NOT_REQUIRED'
      - `covidTest` 'NO_PREFERENCE' | 'REQUIRED' | 'NOT_REQUIRED'
      - `faceMask` 'NO_PREFERENCE' | 'REQUIRED' | 'NOT_REQUIRED'
      - `temperatureCheck` 'NO_PREFERENCE' | 'REQUIRED' | 'NOT_REQUIRED'
      - `blockedAdjacentSeats` 'NO_PREFERENCE' | 'REQUIRED' | 'NOT_REQUIRED'
    - `baggage` BaggageFilter
      - `freeCheckedBag` boolean: If true, only itineraries with free checked bag are returned. Otherwise, no preference.
      - `freeCarryOn` boolean: If true, only itineraries with free carry on bag are returned. Otherwise, no preference.
    - `flightNumber` FlightNumberFilter: Filters itineraries where the flight number matches that of either the marketing or operating carrier.
      - `flightNumber` FlightNumber: Flight number and airline code.
        - `num` string, required: Flight number.
        - `airlineCode` string, required: Two-letter IATA airline code.
      - `flightIdentifier` string: Free-form flight identifier string, can have spaces and can be without airline name.
    - `policyFilter` PolicyFilter
      - `onlyInPolicy` boolean: If true, only in-policy itineraries are returned.
    - `multiTicketFilter` MultiTicketFilter
      - `hideMultiTicket` boolean: Designates whether multi ticket options are to be shown. If true, only single ticket itineraries are returned.
    - `fareCategoryFilter` FareCategoryFilter
      - `fareCategories` FareCategory[]
        - `ngsCategory` 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'
        - `cabinViewCategory` 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'
    - `corporateCodeFilter` CorporateCodeFilter
      - `corpAccountCodes` string[]: List of Corporate code to be filtered
    - `unusedCreditFilter` UnusedCreditFilter
      - `hideWithoutCredits` boolean: If true, only itineraries with applicable unused credits are returned.
    - `payByPointsFilter` PayByPointsFilter
      - `payByPoints` boolean: If true, only itineraries whose allowed FOP has Brex Pay byPoints are returned.
  - `sortOptions` SortOption[]: The sort options to be used for ordering the itineraries.
    - `sortBy` 'PRICE' | 'DEPARTURE_TIME' | 'ARRIVAL_TIME' | 'DURATION' | 'NO_OF_STOPS' | 'TICKET_TYPE' | 'USER_PREFERRED_AIRLINE' | 'ORG_PREFERRED_AIRLINE' | 'CO2_EMISSION'
    - `sortOrder` 'ASCENDING' | 'DESCENDING'
    - `shelfNumber` integer: Only used when 'SortBy' is 'PRICE' and represents which shelf should be used for sorting. If shelf_number is 0 (default), minimum of all shelf prices is used.
  - `legSearchParams` LegSearchParams
    - `searchId` string: The unique ID returned by the air search response of the previous leg.
    - `selectedRateOptionId` string: The unique ID identifying the selected flights in the previous leg's response.
    - `legIndex` integer: The index ID for the leg for which the results are to be returned for this request.
    - `asyncRouteHappy` boolean: Designates if RouteHappy content is fetched asynchronously. If true, RouteHappy content will be fetched asynchronously and not returned in response.
    - `pageNumber` integer: The page number for which data is to be fetched. If pageNumber is 0, the complete air search response (without pagination) will be returned.
    - `pageSize` integer: Optional parameter to specify the max number of results per page. If not set or set as 0, default page size of 50 is used.
    - `legCloneInfo` LegCloneInfo: Information about a leg to clone from an existing PNR.
      - `pnrId` string: The PNR which needs to be cloned.
      - `pnrLegIndex` integer: The leg index within the PNR which needs to be cloned.
  - `corporateInfo` CorporateInfo: Corporate data to be collected during the search request workflow.
    - `preSearchAnswers` PreSearchAnswers
      - `answers` EntityAnswer[]
        - `entityId` string: The unique ID for the question.
        - `userInput` string: The text input given by user (if any).
        - `itemIds` integer[]: The id/enum value corresponding to the option chosen by the user as answer.
        - `answers` AnswerPair[]
          - `item` string: The option selected from the list of available choices.
          - `value` string: The additional input provided (by the user) while selecting one of the options.
          - `description` string: Description of the selected option.
        - `customFieldType` 'QUESTION' | 'MEETING' | 'BUDGET' | 'BREX_TOKEN': The type of custom field.
        - `questionDisplayText` string: The question text to be displayed to the user.
        - `question` Question: The message defines the format of a question which can be asked to a user in any kind of workflows.
          - `id` string, uuid, required
          - `name` string, required: Question display name that the user will see. For eg, 'Choose the purpose of your trip'.
          - `questionFormat` 'INPUT_BOX' | 'RADIO_BUTTON' | 'CHECKBOX' | 'CHECKBOX_WITH_PERCENTAGE': Question types. INPUT_BOX will make user enter a free flowing text. RADIO_BUTTON will have multiple options, user can select only one. CHECKBOX questions contain the possible set of options, from which the user can choose multiple options. CHECKBOX_WITH_PERCENTAGE is similar to checkbox, with the difference being that each option having an additional input field whose values must add up to 100.
          - `optionInfo` OptionInfo: Options related information for the question.
            - `source` 'MANUAL' | 'COMPANY_CONFIG', required: Option source
            - `sourceMetadata` OptionSourceMetadata: Wrapper for option source company config.
              - …
            - `totalNumOptions` integer: Total number of options
            - `options` Option[]: Available options for the question. This will contain only max 10 options if only summary is requested.
              - …
          - `isRequired` boolean, required: Whether its compulsory to answer the question or not.
          - `isDisabled` boolean, required: Whether the question is disabled or not. If true, this should not be asked.
          - `includeInItinerary` boolean: Whether to include this question in the itinerary related emails.
          - `customFieldLocations` CustomFieldLocation[]
          - `matchConditions` CustomFieldMatchConditions: Conditions to select the custom field for given context.
            - `travelerConditions` TravelerMatchConditions: Matching conditions for traveler.
              - …
            - `travelTypes` TravelType[]: Travel types to match.
            - `travelRegionTypes` TravelRegionType[]: Travel region types to match.
            - `tripUsageTypes` TripUsageType[]: Trip usage types to match. If empty, all trip usage types will be matched.
          - `questionType` QuestionType: Question type.
            - `preSearchQuestionType` 'UNKNOWN_SEARCH_QUESTION_TYPE' | 'PURPOSE_OF_TRIP': Types of pre-search questions. PURPOSE_OF_TRIP required to ask purpose of the trip user is going to. For example: meeting, training, interview.
            - `preCheckoutQuestionType` 'UNKNOWN_CHECKOUT_QUESTION_TYPE' | 'USER_DEFINED_QUESTION' | 'OOP_REASON_CODE': Types of pre-checkout questions. USER_DEFINED_QUESTION the default question type for all pre checkout questions which have been created from UI. OOP_REASON_CODE is kept separate so that existing OOP flow doesn't break.
      - `userEntitiesResponseId` string
    - `customFieldV3Responses` CustomFieldV3Response[]: Answers to the company's pre-search custom fields.
      - `fieldId` string, uuid, required: Custom field id
      - `fieldName` string: Name of the custom field
      - `armId` string, uuid, required: Arm id which is applicable
      - `includeLocations` IncludeLocation[]
      - `selectedOptions` CustomFieldSelectedOption[], required: The list of options that are selected by user or auto populated.
        - `name` string, required: Value of the selection
        - `translatedName` string: Translated value of the selection
        - `description` string: Description of the selection
        - `translatedDescription` string: Translated description of the selection
        - `additionalUserInput` string: Additional user input
        - `additionalInfos` string[]: Actual values of the additional infos
        - `additionalInfoConfigs` AdditionalInfo[]: Additional info configs for the selected option
          - union: Additional data need to be sent along with the custom field response.
            - object: Variable defining the additional value to be sent along with custom field response.
              - …
            - object: Expression consisting of variables and constants which needs to be sent along with custom field response.
              - …
        - `optionId` string, uuid: Id of the selected option; sent by clients, never returned
  - `searchMode` 'NORMAL' | 'EXPRESS' | 'EXPRESS_EXTENDED': The mode in which the search is requested.
  - `rateCodes` string[]: List of rate codes to be used for the search request.
  - `tripId` string: Internal trip ID. Required for exchange and modify search flows.
  - `bookingType` 'NORMAL_BOOKING' | 'GROUP_BOOKING': The type of booking requested.
  - `numberOfCheapestOptions` integer: Number of cheapest options to be returned in the response.

## Response `200`

OK

- AirSearchResponse: A list of itineraries with detailed flight information and prices for each.
  - `searchId` string, required: The unique ID for this search response. This value must be passed on in the subsequent booking API calls.
  - `itineraryDetails` ItineraryInfo, required: Describes the detailed itinerary information provided in the search response.
    - `itineraries` AirItin[]
      - `itineraryId` string, required: The unique ID for this itinerary.
      - `legs` AirLegInfo[], required
        - `id` string, required: The unique ID for this leg.
        - `flights` FlightDetail[], required: Details of the list of flights present in the leg.
          - `id` string, required: The unique ID for this flight in the itinerary.
          - `flightData` union
            - object: Wrapper of flight reference to be used in oneOf.
              - …
            - object: Wrapper of FlightCommon data to be used in oneOf.
              - …
          - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST', required: Flight cabin
          - `bookingCode` string: The airline's one-letter code for the associated fare
          - `seatAvailability` integer: The availability of seats on this flight
          - `corpAccountCode` string: The account code is used to get corporate negotiated price
          - `carbonEmission` CO2EmissionDetail: CO2 emission details for the flight.
            - `emissionValue` number, double, required: Estimated C02 emissions value for selected flight and seating class, per passenger (in tons)
            - `averageEmissionValue` number, double: Average estimated C02 emissions per passenger for same route (in tons)
            - `flightDistanceKm` number, double: Total distance flown by the flight in kilometres.
            - `isApproximate` boolean: Indicates whether the emissions value is approximate or not.
            - `weight` Weight: Specifies weight unit and weight amount.
              - …
            - `cost` Money: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
          - `amenities` AirAmenity[]: The amenities associated with the flight.
            - union
              - …
          - `flightAttributes` FlightAttribute[]: The set of product attributes associated with the flight.
            - `headline` string: Short headline text for the flight attribute.
            - `description` string: Marketing description and images associated with the flight attribute.
            - `categories` FlightAttributeCategory[]: List of categories in which this flight attribute falls into
            - `photos` ImageGroup[]: List of images associated with the flight attribute.
              - …
            - `video` ImageGroup[]: List of videos associated with the flight attribute.
              - …
            - `tour` ImageGroup[]: List of 360-degree tour media associated with the flight attribute.
              - …
          - `fareBasisCode` string: The fare basis code contains information about the fare.
          - `flightId` string: Base64 encoded identifier using rateOptionId, legIndex and flightIndex.
        - `travelerInfos` TravelerLegInfo[], required: Details of passenger(s) information for this leg.
          - `travelerId` string, required: Unique identifier for the traveler in this response
          - `travelerLegFare` FareAmount: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `fareRules` FareRules: The rules and restrictions associated with the fare.
            - `baggagePolicy` BaggagePolicy: Baggage policy for this traveler.
              - …
            - `cancellationPolicy` CancellationPolicy: Information about the cancellation policy.
              - …
            - `postDepartureCancellationPolicy` CancellationPolicy: Information about the cancellation policy.
              - …
            - `exchangePolicy` ExchangePolicy: Information about the exchange policy.
              - …
            - `postDepartureExchangePolicy` ExchangePolicy: Information about the exchange policy.
              - …
            - `seatSelectionPolicy` SeatSelectionRule: Seat selection rule
              - …
            - `boardingPolicy` BoardingPolicy: Priority boarding information.
              - …
            - `checkInPolicy` CheckInPolicy: Information about the check-in policy.
              - …
            - `loungePolicy` LoungePolicy: Information about the lounge policy.
              - …
            - `seatType` SeatTypeInfo: Seat information
              - …
            - `mealsPolicy` MealsPolicy: Information about complimentary meals or drinks.
              - …
            - `sameDayChangePolicy` SameDayChangePolicy
              - …
            - `upgradeEligibilityPolicy` UpgradeEligibilityPolicy
              - …
            - `overheadBagPolicy` OverheadBagPolicy
              - …
            - `securityPolicy` SecurityPolicy
              - …
            - `rewards` PointsInfo[]: Loyalty reward points earned for this fare.
              - …
        - `totalLegFare` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `fareCategory` FareCategory, required
          - `ngsCategory` 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'
          - `cabinViewCategory` 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'
        - `brandName` string: The brand name advertised by the airline.
        - `brandCode` string: The brand code assigned by the airline corresponding brandName.
        - `validatingAirline` string: The airline code for the airline which is validating this booking and orchestrating the payment.
        - `rateType` 'RATE_TYPE_UNKNOWN' | 'PUBLISHED' | 'TMC_NEGOTIATED' | 'COMPANY_NEGOTIATED': Type of booked fare
        - `vendorProgramType` 'UA_PASS_PLUS' | 'GENERIC_PROGRAM_TYPE': The type of the vendor program
        - `performanceVerdict` 'USUALLY_ON_TIME' | 'SOMETIMES_DELAYED' | 'OFTEN_DELAYED': On-time performance verdict for a leg.
        - `additionalTotalLegFares` AdditionalFareAmount[]: Additional fare amounts for this leg summed across all passengers.
          - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
          - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
        - `additionalLegFaresPerPax` AdditionalFareAmount[]: Additional fare amounts for this leg per passenger.
          - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
          - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
        - `preferences` Preference[]: Preference information for this leg.
          - `preferredType` 'NOT_PREFERRED' | 'COMPANY_PREFERRED' | 'SPOTTERS_CHOICE' | 'COMPANY_BLOCKED' | 'TMC_PREFERRED', required: Preference type.
          - `blockedReason` string: Reason for blocking the leg, hotel or car.
          - `label` string: The label assigned to a specific tier of preference.
        - `totalCheapestLegFare` FareAmount: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `cheapestLegFarePerPax` FareAmount: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `multiSupplierInfo` MultiSupplierInfo: Multi-supplier information for a leg.
          - `source` 'UNKNOWN_SOURCE' | 'SABRE' | 'TRAVEL_FUSION' | 'AVIA' | 'NDC' | 'TRAINLINE' | 'ATPCO_NDC' | 'FARELOGIX_NDC' | 'OFFLINE' | 'CONNEXUS' | 'ROUTEHAPPY' | 'AMADEUS' | 'GIATA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'HILTON' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'AMADEUS_NDC' | 'SIXT'
          - `posDescriptor` string: Point of sale descriptor for this leg.
      - `travelers` TravelerDetail[], required
        - `travelerId` string, required: Unique identifier for the traveler in this response
        - `travelerType` 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN', required: Type of passenger
        - `travelerAge` PassengerAge: Age of the traveler
          - `numYears` integer, required: Age of the passenger
        - `fareInfo` FareInfo, required: The detailed information about the fare (including tax and merchant fee details).
          - `totalFare` FareAmount, required: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
          - `merchantFeeInfo` MerchantFeeInfo: Describes the merchant fee applicable on the itinerary.
            - `amount` FareAmount, required: Fare amount including base fare and tax.
              - …
        - `fareMetadata` FareMetadata: Metadata about pax fare
          - `corpAccountCode` string: The corp account code for each pax.
        - `additionalFaresPerPax` AdditionalFareAmount[]: Additional fare amounts per passenger.
          - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
          - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
      - `fareInfo` FareInfo, required: The detailed information about the fare (including tax and merchant fee details).
        - `totalFare` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
        - `merchantFeeInfo` MerchantFeeInfo: Describes the merchant fee applicable on the itinerary.
          - `amount` FareAmount, required: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
      - `ticketType` 'SINGLE' | 'MULTI', required: The ticket issuance type for a given itinerary, whether single or multiple
      - `policyInfos` PnrPolicyInfo: Policy Info applicable for the associated itinerary
        - `policies` PnrPolicyId[]: List of policies applied to the itinerary.
          - `id` string, required: Policy id
          - `version` string, required: version of the policy
          - `policyName` string: Name of the policy applied.
          - `approvalType` 'HARD_APPROVAL' | 'SOFT_APPROVAL' | 'PASSIVE_APPROVAL'
          - `policyType` 'GLOBAL' | 'DEFAULT' | 'GROUP'
        - `ruleResultInfos` PolicyRuleResultInfo[]
          - `violationInfos` PolicyViolationInfo[]
            - `predicateString` string
            - `predicate` 'UNKNOWN_PREDICATE_STRING' | 'MAX_FARE_PER_TRAVELLER_VIOLATION' | 'FARE_MORE_THAN_MINIMUM' | 'FARE_MORE_THAN_MEDIAN' | 'FARE_LESS_THAN_MEDIAN' | 'FARE_MORE_THAN_LLF' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_INCLUDING_TAX' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_EXCLUDING_TAX' | 'HOTEL_PAYMENT_OPTIONS_VIOLATION' | 'RAIL_BOOKING_WINDOW_GAP_VIOLATION' | 'RAIL_TRAVEL_CLASS_VIOLATION' | 'RAIL_TICKET_REFUNDABLE_VIOLATION' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_INCLUDING_TAX' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_EXCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_INCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_EXCLUDING_TAX' | 'HOTEL_RESTRICTED_KEYWORDS_VIOLATION' | 'RESTRICTED_LOCATION_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_DOMESTIC_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_INTERNATIONAL_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_VIOLATION' | 'ITINERARY_WITHIN_EVENT_TRAVEL_WINDOW' | 'HOTEL_IN_ALLOWED_HOTEL_LIST' | 'PAYMENT_ACCESS_VIOLATION' | 'AIRPORT_IN_ALLOWED_AIRPORT_LIST' | 'ITINERARY_TYPE_IS_NOT_IN_ALLOWED_BOOKING_TYPES' | 'PAYMENT_AIR_ADDON_VIOLATION' | 'MAX_HOTEL_BOOKING_PRICE_INCLUDING_TAX' | 'MAX_HOTEL_BOOKING_PRICE_EXCLUDING_TAX' | 'AIR_NUM_TRAVELERS_ALLOWED' | 'PREFERRED_VENDOR_VIOLATION' | 'SEAT_ADDON_VIOLATION' | 'BAGGAGE_ADDON_VIOLATION' | 'EARLY_BIRD_ADDON_VIOLATION' | 'WIFI_ADDON_VIOLATION' | 'RESTRICTED_BOOKING_VIOLATION' | 'HIGHEST_ALLOWED_CABIN_VIOLATION' | 'LOWEST_FARE_PER_HOTEL_PROPERTY_VIOLATION' | 'AIR_RESTRICTED_FARES_VIOLATION' | 'AIR_ANCILLARY_VIOLATION': This contains the enum mentioning the policy rule which was violated.
            - `expectedValue` union
              - …
            - `actualValue` union
              - …
          - `subViolationInfos` PolicyViolationInfo[]: In case of complex rules this will contain extra information as to how the rule was calculated.
            - `predicateString` string
            - `predicate` 'UNKNOWN_PREDICATE_STRING' | 'MAX_FARE_PER_TRAVELLER_VIOLATION' | 'FARE_MORE_THAN_MINIMUM' | 'FARE_MORE_THAN_MEDIAN' | 'FARE_LESS_THAN_MEDIAN' | 'FARE_MORE_THAN_LLF' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_INCLUDING_TAX' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_EXCLUDING_TAX' | 'HOTEL_PAYMENT_OPTIONS_VIOLATION' | 'RAIL_BOOKING_WINDOW_GAP_VIOLATION' | 'RAIL_TRAVEL_CLASS_VIOLATION' | 'RAIL_TICKET_REFUNDABLE_VIOLATION' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_INCLUDING_TAX' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_EXCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_INCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_EXCLUDING_TAX' | 'HOTEL_RESTRICTED_KEYWORDS_VIOLATION' | 'RESTRICTED_LOCATION_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_DOMESTIC_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_INTERNATIONAL_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_VIOLATION' | 'ITINERARY_WITHIN_EVENT_TRAVEL_WINDOW' | 'HOTEL_IN_ALLOWED_HOTEL_LIST' | 'PAYMENT_ACCESS_VIOLATION' | 'AIRPORT_IN_ALLOWED_AIRPORT_LIST' | 'ITINERARY_TYPE_IS_NOT_IN_ALLOWED_BOOKING_TYPES' | 'PAYMENT_AIR_ADDON_VIOLATION' | 'MAX_HOTEL_BOOKING_PRICE_INCLUDING_TAX' | 'MAX_HOTEL_BOOKING_PRICE_EXCLUDING_TAX' | 'AIR_NUM_TRAVELERS_ALLOWED' | 'PREFERRED_VENDOR_VIOLATION' | 'SEAT_ADDON_VIOLATION' | 'BAGGAGE_ADDON_VIOLATION' | 'EARLY_BIRD_ADDON_VIOLATION' | 'WIFI_ADDON_VIOLATION' | 'RESTRICTED_BOOKING_VIOLATION' | 'HIGHEST_ALLOWED_CABIN_VIOLATION' | 'LOWEST_FARE_PER_HOTEL_PROPERTY_VIOLATION' | 'AIR_RESTRICTED_FARES_VIOLATION' | 'AIR_ANCILLARY_VIOLATION': This contains the enum mentioning the policy rule which was violated.
            - `expectedValue` union
              - …
            - `actualValue` union
              - …
          - `actions` PolicyAction[]: Followed actions if rule was satisfied else violated actions.
            - union: Action that is required / done for policy.
              - …
      - `posInfo` POSInfo[]: The point of sales which offer the itinerary.
        - `source` 'UNKNOWN_SOURCE' | 'SABRE' | 'TRAVEL_FUSION' | 'AVIA' | 'NDC' | 'TRAINLINE' | 'ATPCO_NDC' | 'FARELOGIX_NDC' | 'OFFLINE' | 'CONNEXUS' | 'ROUTEHAPPY' | 'AMADEUS' | 'GIATA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'HILTON' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'AMADEUS_NDC' | 'SIXT', required
        - `posDescriptor` string: The identifier for the point of sale. This would be the PCC for GDS bookings.
      - `publicFare` FareAmount: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `allowedFopRules` AllowedFopRule[]: The payment method types applicable to the itinerary.
        - `paymentItems` PaymentItem[]
          - `itemType` 'SERVICE_FEE' | 'TRAVEL_TICKET' | 'SEAT' | 'BAGGAGE' | 'EARLY_BIRD': Type of payment item eligible for this fop rule
          - `fareComponent` FareComponent[]
        - `amount` Money: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `paymentRules` PaymentRule[]
          - `paymentSplitDetails` union: Payment details of slider payment function.
            - object: Min max amount wrapper.
              - …
            - object: Split amount wrapper.
              - …
          - `paymentSourceIds` string[]
          - `allowAddCard` boolean: Whether to allow user to add a new card for the selected split payment.
          - `splitCriterion` PaymentSplitCriterion: The criterion for the payment split.
            - `accessType` 'CENTRALISED' | 'PERSONAL' | 'APPLICATION' | 'TMC' | 'ITINERARY' | 'EVENT' | 'EVENT_TEMPLATE': Access Type of the Payment Source being created.
          - `unusablePaymentSources` UnusablePaymentSource[]: List of payment sources that are not usable for this payment rule
            - `id` string, uuid, required: Unique identifier identifying this payment source
            - `reason` 'SUPPLIER_RESTRICTION' | 'POLICY_RESTRICTION' | 'INCOMPLETE_PAYMENT_SOURCE' | 'INSUFFICIENT_BALANCE': Reason why a payment source is not usable.
          - `paymentSourceConditions` PaymentSourceCondition[]: List of conditions for payment sources
            - `type` string, required
            - `cardCompanies` CardCompany[]: List of card companies allowed for the payment
      - `fareAttributes` FareAttributes: The rules and attributes related to the fare.
        - `isVoidable` boolean: Designates whether the fare is voidable or not.
        - `holdDeadline` DateTimeLocal: Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `isNonVerifiedExchangeOffer` boolean: Designates whether the fare is a non-verified exchange offer. For these fares, the exchange price guarantee is not provided by the supplier.
      - `additionalTotalFares` AdditionalFareAmount[]: Additional fare amounts like flight pass, change penalty, etc.
        - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
        - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
      - `changeFee` ChangeFee: Change fee for a rate option.
        - `amount` Money: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
      - `hasApplicableCredits` boolean: Whether the rate option has at least one matched unused credit.
      - `applicableCreditIndices` integer[]: Indices of applicable unused credits for this rate option.
      - `showRawFareRules` boolean: Hint for frontend to show raw fare rule link.
      - `cloneInfo` CloneInfo: Information regarding cloning an itinerary.
        - `isClosestMatch` boolean: Whether a particular rate option is closest to the original itinerary.
      - `airline` string: Airline within the source, required for suppliers like NDC with multiple airlines in a single source.
      - `isUnselectable` boolean: Whether the given rate option is selectable by user for booking.
      - `inPolicyAmount` Money: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `checkoutApprovalInfo` CheckoutApprovalInfo: Checkout approval information containing approval type and approver details
        - `approvalType` 'HARD_APPROVAL' | 'SOFT_APPROVAL' | 'PASSIVE_APPROVAL' | 'PRE_APPROVAL': Type of APPROVAL
        - `approverDetails` ApproverDetails[]: List of approver details
          - `approverName` string: Name of approver
          - `approverEmail` string: Email of approver
          - `approverUserOrgId` UserOrgId: User and user's organization information.
            - `organizationAgencyId` OrganizationAgencyId: Agency id for the organization.
              - …
            - `organizationId` OrganizationId, required: Organization id for traveler.
              - …
            - `userId` UserId, required: User identifier
              - …
            - `tmcInfo` TmcInfo: TMC config information.
              - …
            - `tmcBasicInfo` TmcBasicInfo: TMC related basic information.
              - …
          - `type` 'UNKNOWN_APPROVER' | 'APPROVER' | 'AUTHORIZER': Type of approver
      - `allowedFop` PaymentMethod[]: List of allowed forms of payment for this rate option.
    - `flightData` FlightCommon[]: The set of flights and their details that are contained in this response.
      - `flightRef` string: Unique ID for this flight in the response.
      - `departureDateTime` DateTimeLocal, required: Local date and time in ISO 8601 format.
        - `iso8601` string, required
      - `arrivalDateTime` DateTimeLocal, required: Local date and time in ISO 8601 format.
        - `iso8601` string, required
      - `origin` AirportInfo, required: Detailed information about the airport.
        - `airportCode` string: 3-letter code of the airport.
        - `airportName` string: Full name of the airport.
        - `cityName` string: Name of the city in which the airport is located (or is nearest to).
        - `countryName` string: Name of the country in which the airport is located.
        - `countryCode` string: 2-letter IATA country code associated with the airport.
        - `zoneName` string: Name of the time zone associated with the airport.
        - `stateCode` string: 2-letter IATA code for the state in which the airport is located.
      - `destination` AirportInfo, required: Detailed information about the airport.
        - `airportCode` string: 3-letter code of the airport.
        - `airportName` string: Full name of the airport.
        - `cityName` string: Name of the city in which the airport is located (or is nearest to).
        - `countryName` string: Name of the country in which the airport is located.
        - `countryCode` string: 2-letter IATA country code associated with the airport.
        - `zoneName` string: Name of the time zone associated with the airport.
        - `stateCode` string: 2-letter IATA code for the state in which the airport is located.
      - `departureGate` GateInfo: Information about the flight's departure / arrival gates and terminals.
        - `gate` string: Gate number
        - `terminal` string: Airport terminal
      - `arrivalGate` GateInfo: Information about the flight's departure / arrival gates and terminals.
        - `gate` string: Gate number
        - `terminal` string: Airport terminal
      - `marketing` FlightNumber, required: Flight number and airline code.
        - `num` string, required: Flight number.
        - `airlineCode` string, required: Two-letter IATA airline code.
      - `operating` FlightNumber, required: Flight number and airline code.
        - `num` string, required: Flight number.
        - `airlineCode` string, required: Two-letter IATA airline code.
      - `operationalDisclosure` string: Operating airline name that has to be displayed to the user
      - `hiddenStops` object[]: Any stops for refueling or boarding additional passengers.
        - `airport` AirportInfo, required: Detailed information about the airport.
          - `airportCode` string: 3-letter code of the airport.
          - `airportName` string: Full name of the airport.
          - `cityName` string: Name of the city in which the airport is located (or is nearest to).
          - `countryName` string: Name of the country in which the airport is located.
          - `countryCode` string: 2-letter IATA country code associated with the airport.
          - `zoneName` string: Name of the time zone associated with the airport.
          - `stateCode` string: 2-letter IATA code for the state in which the airport is located.
        - `arrivalDateTime` DateTimeLocal, required: Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `departureDateTime` DateTimeLocal, required: Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `duration` Duration: Represents a duration of time with specific units of time.
          - `iso8601` string: Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
      - `duration` Duration: Represents a duration of time with specific units of time.
        - `iso8601` string: Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
      - `equipment` Equipment: The type of the aircraft equipment
        - `code` string: Aircraft equipment code
        - `type` string: Code representing the type of the equipment
        - `name` string: The name of the flight aircraft type
      - `flightSeatType` 'ALLEGRIS' | 'SENSES': Seat type classification for a flight.
      - `subjectToGovtApproval` boolean: Whether the flight is subject to government and regulatory approval.
  - `paginationParams` PaginationResponseParams: Pagination parameters for response.
    - `numResults` integer, required: Total number of results in the paginated list.
    - `numPages` integer, required: Total number of pages in the paginated list.
    - `currentPageNumber` integer: Current page number in the paginated list.
    - `currentPageSize` integer: Number of results per page.
  - `metadata` AirMetadata: Metadata associated with the air search response.
    - `airlineInfo` AirlineInfo[]: Metadata for all airlines available in the specific route.
      - `airlineCode` string, required: IATA code for airline.
      - `airlineName` string: Airline name
    - `applicableAlliances` Alliance[]: Alliances which are applicable based on the airlines info
    - `legBylegPricing` boolean: Flag indicating whether itineraries are priced on a leg-by-leg basis (instead of the overall itinerary pricing, which is the default).
    - `enableFareCategories` FareCategory[]: Fare categories that need to be used for the given air search
      - `ngsCategory` 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'
      - `cabinViewCategory` 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'
    - `isExpressSearch` boolean: Flag indicating whether the search was performed as an express search.
    - `availableConnectingAirports` AirportInfo[]: List of connecting airports (layover locations) available in the search results. Sorted by: 1) number of results (descending), 2) alphabetically (ascending).
      - `airportCode` string: 3-letter code of the airport.
      - `airportName` string: Full name of the airport.
      - `cityName` string: Name of the city in which the airport is located (or is nearest to).
      - `countryName` string: Name of the country in which the airport is located.
      - `countryCode` string: 2-letter IATA country code associated with the airport.
      - `zoneName` string: Name of the time zone associated with the airport.
      - `stateCode` string: 2-letter IATA code for the state in which the airport is located.
    - `flightRestrictions` FlightRestrictionInfo[]: Flight-level restrictions such as seat booking availability.
      - `flightIndex` integer: Index of the flight in the search response data flights list.
      - `restrictions` FlightRestriction[]: Restrictions applicable to this flight.
    - `paymentMetadata` AirSearchPaymentMetadata: Payment metadata for the air search response.
      - `rewardsPermittedForTraveler` boolean: Whether it is allowed to use reward points for this traveler.
      - `wallets` AirSearchWallet[]: Third party wallet balances available to the traveler.
        - `balance` number, double: The amount available in the wallet.
        - `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': Payment method
      - `isDelayedInvoicing` boolean: Whether delayed invoicing is configured.
    - `logicalFareStatistics` LogicalFareStatistic[]: Fare statistics of all logical itineraries per shelf.
      - `fareCategory` FareCategory
        - `ngsCategory` 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'
        - `cabinViewCategory` 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'
      - `minimum` FareStatisticItem: A fare statistic item (minimum, median, or maximum).
        - `totalFare` FareAmount: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `baseFare` Money: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `duration` Duration: Represents a duration of time with specific units of time.
          - `iso8601` string: Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
      - `median` FareStatisticItem: A fare statistic item (minimum, median, or maximum).
        - `totalFare` FareAmount: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `baseFare` Money: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `duration` Duration: Represents a duration of time with specific units of time.
          - `iso8601` string: Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
      - `maximum` FareStatisticItem: A fare statistic item (minimum, median, or maximum).
        - `totalFare` FareAmount: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `baseFare` Money: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `duration` Duration: Represents a duration of time with specific units of time.
          - `iso8601` string: Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
    - `shelfInfo` AirSearchShelfInfo[]: Contains minimum fare and duration information for every shelf.
      - `fareCategory` FareCategory
        - `ngsCategory` 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'
        - `cabinViewCategory` 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'
      - `totalFare` FareAmount: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `duration` Duration: Represents a duration of time with specific units of time.
        - `iso8601` string: Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
    - `vendorPrograms` AirSearchVendorProgram[]: List of all vendor programs in this air search response.
      - `discountCode` string: Snap code or discount code for the vendor program.
    - `currentItinerary` AirSearchCurrentItinerary: Current itinerary reference for exchange or modify flows.
      - `index` integer: Index of the itinerary in the search response itineraries list. Defaults to -1 if not present.
      - `rateOptionId` string: Selected rate option ID in the current itinerary.
    - `fareCategoryView` 'UNKNOWN' | 'CABIN' | 'NGS': Indicates how fare categories should be displayed in the search results.
  - `currSelectedItinerary` AirItin: Describes an itinerary containing legs and flights.
    - `itineraryId` string, required: The unique ID for this itinerary.
    - `legs` AirLegInfo[], required
      - `id` string, required: The unique ID for this leg.
      - `flights` FlightDetail[], required: Details of the list of flights present in the leg.
        - `id` string, required: The unique ID for this flight in the itinerary.
        - `flightData` union
          - object: Wrapper of flight reference to be used in oneOf.
            - `flightRef` FlightRef: Flight reference information.
              - …
          - object: Wrapper of FlightCommon data to be used in oneOf.
            - `flightData` FlightCommon: Basic information about the flight.
              - …
        - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST', required: Flight cabin
        - `bookingCode` string: The airline's one-letter code for the associated fare
        - `seatAvailability` integer: The availability of seats on this flight
        - `corpAccountCode` string: The account code is used to get corporate negotiated price
        - `carbonEmission` CO2EmissionDetail: CO2 emission details for the flight.
          - `emissionValue` number, double, required: Estimated C02 emissions value for selected flight and seating class, per passenger (in tons)
          - `averageEmissionValue` number, double: Average estimated C02 emissions per passenger for same route (in tons)
          - `flightDistanceKm` number, double: Total distance flown by the flight in kilometres.
          - `isApproximate` boolean: Indicates whether the emissions value is approximate or not.
          - `weight` Weight: Specifies weight unit and weight amount.
            - `weight` number, double, required: Amount of weight.
            - `unit` 'KG' | 'LBS', required: Unit of weight.
          - `cost` Money: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
        - `amenities` AirAmenity[]: The amenities associated with the flight.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `flightAttributes` FlightAttribute[]: The set of product attributes associated with the flight.
          - `headline` string: Short headline text for the flight attribute.
          - `description` string: Marketing description and images associated with the flight attribute.
          - `categories` FlightAttributeCategory[]: List of categories in which this flight attribute falls into
          - `photos` ImageGroup[]: List of images associated with the flight attribute.
            - `caption` string: Caption for the image.
            - `images` Image[], required: List of images.
              - …
          - `video` ImageGroup[]: List of videos associated with the flight attribute.
            - `caption` string: Caption for the image.
            - `images` Image[], required: List of images.
              - …
          - `tour` ImageGroup[]: List of 360-degree tour media associated with the flight attribute.
            - `caption` string: Caption for the image.
            - `images` Image[], required: List of images.
              - …
        - `fareBasisCode` string: The fare basis code contains information about the fare.
        - `flightId` string: Base64 encoded identifier using rateOptionId, legIndex and flightIndex.
      - `travelerInfos` TravelerLegInfo[], required: Details of passenger(s) information for this leg.
        - `travelerId` string, required: Unique identifier for the traveler in this response
        - `travelerLegFare` FareAmount: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `fareRules` FareRules: The rules and restrictions associated with the fare.
          - `baggagePolicy` BaggagePolicy: Baggage policy for this traveler.
            - `checkedIn` BaggageInfo[], required: Policies for checked-in baggage
              - …
            - `carryOn` BaggageInfo[], required: Policies for carry-on baggage
              - …
          - `cancellationPolicy` CancellationPolicy: Information about the cancellation policy.
            - `description` string: Text describing the cancellation policy.
            - `fee` Money: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `assessmentType` 'NEUTRAL' | 'BENEFIT' | 'RESTRICTION' | 'FEE'
            - `isCat16` boolean: Is source cat16
            - `isConditional` boolean: Is conditional
          - `postDepartureCancellationPolicy` CancellationPolicy: Information about the cancellation policy.
            - `description` string: Text describing the cancellation policy.
            - `fee` Money: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `assessmentType` 'NEUTRAL' | 'BENEFIT' | 'RESTRICTION' | 'FEE'
            - `isCat16` boolean: Is source cat16
            - `isConditional` boolean: Is conditional
          - `exchangePolicy` ExchangePolicy: Information about the exchange policy.
            - `description` string: Text describing the exchange policy.
            - `fee` Money: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `assessmentType` 'NEUTRAL' | 'BENEFIT' | 'RESTRICTION' | 'FEE'
            - `isCat16` boolean: Is source cat16
            - `isConditional` boolean: Is conditional
          - `postDepartureExchangePolicy` ExchangePolicy: Information about the exchange policy.
            - `description` string: Text describing the exchange policy.
            - `fee` Money: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `assessmentType` 'NEUTRAL' | 'BENEFIT' | 'RESTRICTION' | 'FEE'
            - `isCat16` boolean: Is source cat16
            - `isConditional` boolean: Is conditional
          - `seatSelectionPolicy` SeatSelectionRule: Seat selection rule
            - `description` string, required: Seat selection policy text
          - `boardingPolicy` BoardingPolicy: Priority boarding information.
            - `description` string, required: Text describing the priority boarding policy.
          - `checkInPolicy` CheckInPolicy: Information about the check-in policy.
            - `description` string, required: Description text for the check-in policy.
          - `loungePolicy` LoungePolicy: Information about the lounge policy.
            - `description` string, required: Lounge policy description text (may include whether a fee is charged).
          - `seatType` SeatTypeInfo: Seat information
            - `seatType` string, required: Description of the type of seat available
          - `mealsPolicy` MealsPolicy: Information about complimentary meals or drinks.
            - `description` string, required: Text describing the meals policy.
            - `assessmentType` 'NEUTRAL' | 'BENEFIT' | 'RESTRICTION' | 'FEE'
          - `sameDayChangePolicy` SameDayChangePolicy
            - `sameDayChangePolicy` AirPolicy: Air UTA data
              - …
          - `upgradeEligibilityPolicy` UpgradeEligibilityPolicy
            - `upgradeEligibilityPolicy` AirPolicy: Air UTA data
              - …
          - `overheadBagPolicy` OverheadBagPolicy
            - `overheadBagPolicy` AirPolicy: Air UTA data
              - …
          - `securityPolicy` SecurityPolicy
            - `securityPolicy` AirPolicy: Air UTA data
              - …
          - `rewards` PointsInfo[]: Loyalty reward points earned for this fare.
            - `loyaltyProgram` 'UNKNOWN' | 'QANTAS': The loyalty program name.
            - `pointsType` 'UNKNOWN' | 'REWARDS_POINTS' | 'STATUS_CREDIT' | 'COMPANY_EARN': The type of points.
            - `description` string: Text describing the points earning.
            - `assessmentType` 'NEUTRAL' | 'BENEFIT' | 'RESTRICTION' | 'FEE'
            - `points` number, double: The number of points earned.
      - `totalLegFare` FareAmount, required: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `fareCategory` FareCategory, required
        - `ngsCategory` 'UNKNOWN_NGS_CATEGORY' | 'BASE' | 'STANDARD' | 'ENHANCED' | 'PREMIUM' | 'LUXURY' | 'ULTRA_LUXURY'
        - `cabinViewCategory` 'UNKNOWN_CABIN_CATEGORY' | 'BASIC' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'ECONOMY_PLUS' | 'BUSINESS' | 'FIRST'
      - `brandName` string: The brand name advertised by the airline.
      - `brandCode` string: The brand code assigned by the airline corresponding brandName.
      - `validatingAirline` string: The airline code for the airline which is validating this booking and orchestrating the payment.
      - `rateType` 'RATE_TYPE_UNKNOWN' | 'PUBLISHED' | 'TMC_NEGOTIATED' | 'COMPANY_NEGOTIATED': Type of booked fare
      - `vendorProgramType` 'UA_PASS_PLUS' | 'GENERIC_PROGRAM_TYPE': The type of the vendor program
      - `performanceVerdict` 'USUALLY_ON_TIME' | 'SOMETIMES_DELAYED' | 'OFTEN_DELAYED': On-time performance verdict for a leg.
      - `additionalTotalLegFares` AdditionalFareAmount[]: Additional fare amounts for this leg summed across all passengers.
        - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
        - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
      - `additionalLegFaresPerPax` AdditionalFareAmount[]: Additional fare amounts for this leg per passenger.
        - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
        - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
      - `preferences` Preference[]: Preference information for this leg.
        - `preferredType` 'NOT_PREFERRED' | 'COMPANY_PREFERRED' | 'SPOTTERS_CHOICE' | 'COMPANY_BLOCKED' | 'TMC_PREFERRED', required: Preference type.
        - `blockedReason` string: Reason for blocking the leg, hotel or car.
        - `label` string: The label assigned to a specific tier of preference.
      - `totalCheapestLegFare` FareAmount: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `cheapestLegFarePerPax` FareAmount: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `multiSupplierInfo` MultiSupplierInfo: Multi-supplier information for a leg.
        - `source` 'UNKNOWN_SOURCE' | 'SABRE' | 'TRAVEL_FUSION' | 'AVIA' | 'NDC' | 'TRAINLINE' | 'ATPCO_NDC' | 'FARELOGIX_NDC' | 'OFFLINE' | 'CONNEXUS' | 'ROUTEHAPPY' | 'AMADEUS' | 'GIATA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'HILTON' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'AMADEUS_NDC' | 'SIXT'
        - `posDescriptor` string: Point of sale descriptor for this leg.
    - `travelers` TravelerDetail[], required
      - `travelerId` string, required: Unique identifier for the traveler in this response
      - `travelerType` 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN', required: Type of passenger
      - `travelerAge` PassengerAge: Age of the traveler
        - `numYears` integer, required: Age of the passenger
      - `fareInfo` FareInfo, required: The detailed information about the fare (including tax and merchant fee details).
        - `totalFare` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
        - `merchantFeeInfo` MerchantFeeInfo: Describes the merchant fee applicable on the itinerary.
          - `amount` FareAmount, required: Fare amount including base fare and tax.
            - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
      - `fareMetadata` FareMetadata: Metadata about pax fare
        - `corpAccountCode` string: The corp account code for each pax.
      - `additionalFaresPerPax` AdditionalFareAmount[]: Additional fare amounts per passenger.
        - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
        - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
        - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
    - `fareInfo` FareInfo, required: The detailed information about the fare (including tax and merchant fee details).
      - `totalFare` FareAmount, required: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `taxBreakdown` Tax[]
        - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxCode` string: Tax code
        - `percentage` number, double: Tax amount to total amount
        - `description` string: Tax name or Tax Description
      - `merchantFeeInfo` MerchantFeeInfo: Describes the merchant fee applicable on the itinerary.
        - `amount` FareAmount, required: Fare amount including base fare and tax.
          - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxBreakdown` Tax[]
            - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxCode` string: Tax code
            - `percentage` number, double: Tax amount to total amount
            - `description` string: Tax name or Tax Description
    - `ticketType` 'SINGLE' | 'MULTI', required: The ticket issuance type for a given itinerary, whether single or multiple
    - `policyInfos` PnrPolicyInfo: Policy Info applicable for the associated itinerary
      - `policies` PnrPolicyId[]: List of policies applied to the itinerary.
        - `id` string, required: Policy id
        - `version` string, required: version of the policy
        - `policyName` string: Name of the policy applied.
        - `approvalType` 'HARD_APPROVAL' | 'SOFT_APPROVAL' | 'PASSIVE_APPROVAL'
        - `policyType` 'GLOBAL' | 'DEFAULT' | 'GROUP'
      - `ruleResultInfos` PolicyRuleResultInfo[]
        - `violationInfos` PolicyViolationInfo[]
          - `predicateString` string
          - `predicate` 'UNKNOWN_PREDICATE_STRING' | 'MAX_FARE_PER_TRAVELLER_VIOLATION' | 'FARE_MORE_THAN_MINIMUM' | 'FARE_MORE_THAN_MEDIAN' | 'FARE_LESS_THAN_MEDIAN' | 'FARE_MORE_THAN_LLF' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_INCLUDING_TAX' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_EXCLUDING_TAX' | 'HOTEL_PAYMENT_OPTIONS_VIOLATION' | 'RAIL_BOOKING_WINDOW_GAP_VIOLATION' | 'RAIL_TRAVEL_CLASS_VIOLATION' | 'RAIL_TICKET_REFUNDABLE_VIOLATION' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_INCLUDING_TAX' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_EXCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_INCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_EXCLUDING_TAX' | 'HOTEL_RESTRICTED_KEYWORDS_VIOLATION' | 'RESTRICTED_LOCATION_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_DOMESTIC_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_INTERNATIONAL_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_VIOLATION' | 'ITINERARY_WITHIN_EVENT_TRAVEL_WINDOW' | 'HOTEL_IN_ALLOWED_HOTEL_LIST' | 'PAYMENT_ACCESS_VIOLATION' | 'AIRPORT_IN_ALLOWED_AIRPORT_LIST' | 'ITINERARY_TYPE_IS_NOT_IN_ALLOWED_BOOKING_TYPES' | 'PAYMENT_AIR_ADDON_VIOLATION' | 'MAX_HOTEL_BOOKING_PRICE_INCLUDING_TAX' | 'MAX_HOTEL_BOOKING_PRICE_EXCLUDING_TAX' | 'AIR_NUM_TRAVELERS_ALLOWED' | 'PREFERRED_VENDOR_VIOLATION' | 'SEAT_ADDON_VIOLATION' | 'BAGGAGE_ADDON_VIOLATION' | 'EARLY_BIRD_ADDON_VIOLATION' | 'WIFI_ADDON_VIOLATION' | 'RESTRICTED_BOOKING_VIOLATION' | 'HIGHEST_ALLOWED_CABIN_VIOLATION' | 'LOWEST_FARE_PER_HOTEL_PROPERTY_VIOLATION' | 'AIR_RESTRICTED_FARES_VIOLATION' | 'AIR_ANCILLARY_VIOLATION': This contains the enum mentioning the policy rule which was violated.
          - `expectedValue` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `actualValue` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `subViolationInfos` PolicyViolationInfo[]: In case of complex rules this will contain extra information as to how the rule was calculated.
          - `predicateString` string
          - `predicate` 'UNKNOWN_PREDICATE_STRING' | 'MAX_FARE_PER_TRAVELLER_VIOLATION' | 'FARE_MORE_THAN_MINIMUM' | 'FARE_MORE_THAN_MEDIAN' | 'FARE_LESS_THAN_MEDIAN' | 'FARE_MORE_THAN_LLF' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_INCLUDING_TAX' | 'MAX_FARE_PER_TRAVELLER_VIOLATION_EXCLUDING_TAX' | 'HOTEL_PAYMENT_OPTIONS_VIOLATION' | 'RAIL_BOOKING_WINDOW_GAP_VIOLATION' | 'RAIL_TRAVEL_CLASS_VIOLATION' | 'RAIL_TICKET_REFUNDABLE_VIOLATION' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_INCLUDING_TAX' | 'RAIL_MAX_BOOKING_PRICE_VIOLATION_EXCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_INCLUDING_TAX' | 'AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_EXCLUDING_TAX' | 'HOTEL_RESTRICTED_KEYWORDS_VIOLATION' | 'RESTRICTED_LOCATION_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_DOMESTIC_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_INTERNATIONAL_VIOLATION' | 'FLIGHT_ADVANCE_BOOKING_WINDOW_VIOLATION' | 'ITINERARY_WITHIN_EVENT_TRAVEL_WINDOW' | 'HOTEL_IN_ALLOWED_HOTEL_LIST' | 'PAYMENT_ACCESS_VIOLATION' | 'AIRPORT_IN_ALLOWED_AIRPORT_LIST' | 'ITINERARY_TYPE_IS_NOT_IN_ALLOWED_BOOKING_TYPES' | 'PAYMENT_AIR_ADDON_VIOLATION' | 'MAX_HOTEL_BOOKING_PRICE_INCLUDING_TAX' | 'MAX_HOTEL_BOOKING_PRICE_EXCLUDING_TAX' | 'AIR_NUM_TRAVELERS_ALLOWED' | 'PREFERRED_VENDOR_VIOLATION' | 'SEAT_ADDON_VIOLATION' | 'BAGGAGE_ADDON_VIOLATION' | 'EARLY_BIRD_ADDON_VIOLATION' | 'WIFI_ADDON_VIOLATION' | 'RESTRICTED_BOOKING_VIOLATION' | 'HIGHEST_ALLOWED_CABIN_VIOLATION' | 'LOWEST_FARE_PER_HOTEL_PROPERTY_VIOLATION' | 'AIR_RESTRICTED_FARES_VIOLATION' | 'AIR_ANCILLARY_VIOLATION': This contains the enum mentioning the policy rule which was violated.
          - `expectedValue` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `actualValue` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `actions` PolicyAction[]: Followed actions if rule was satisfied else violated actions.
          - union: Action that is required / done for policy.
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
    - `posInfo` POSInfo[]: The point of sales which offer the itinerary.
      - `source` 'UNKNOWN_SOURCE' | 'SABRE' | 'TRAVEL_FUSION' | 'AVIA' | 'NDC' | 'TRAINLINE' | 'ATPCO_NDC' | 'FARELOGIX_NDC' | 'OFFLINE' | 'CONNEXUS' | 'ROUTEHAPPY' | 'AMADEUS' | 'GIATA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'HILTON' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'AMADEUS_NDC' | 'SIXT', required
      - `posDescriptor` string: The identifier for the point of sale. This would be the PCC for GDS bookings.
    - `publicFare` FareAmount: Fare amount including base fare and tax.
      - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `taxBreakdown` Tax[]
        - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxCode` string: Tax code
        - `percentage` number, double: Tax amount to total amount
        - `description` string: Tax name or Tax Description
    - `allowedFopRules` AllowedFopRule[]: The payment method types applicable to the itinerary.
      - `paymentItems` PaymentItem[]
        - `itemType` 'SERVICE_FEE' | 'TRAVEL_TICKET' | 'SEAT' | 'BAGGAGE' | 'EARLY_BIRD': Type of payment item eligible for this fop rule
        - `fareComponent` FareComponent[]
      - `amount` Money: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `paymentRules` PaymentRule[]
        - `paymentSplitDetails` union: Payment details of slider payment function.
          - object: Min max amount wrapper.
            - `minMaxAmount` MinMaxAmount: Payment amount details if slider payment function is linear.
              - …
          - object: Split amount wrapper.
            - `splitAmount` SplitAmount: Payment amount details if slider payment function is non-linear.
              - …
        - `paymentSourceIds` string[]
        - `allowAddCard` boolean: Whether to allow user to add a new card for the selected split payment.
        - `splitCriterion` PaymentSplitCriterion: The criterion for the payment split.
          - `accessType` 'CENTRALISED' | 'PERSONAL' | 'APPLICATION' | 'TMC' | 'ITINERARY' | 'EVENT' | 'EVENT_TEMPLATE': Access Type of the Payment Source being created.
        - `unusablePaymentSources` UnusablePaymentSource[]: List of payment sources that are not usable for this payment rule
          - `id` string, uuid, required: Unique identifier identifying this payment source
          - `reason` 'SUPPLIER_RESTRICTION' | 'POLICY_RESTRICTION' | 'INCOMPLETE_PAYMENT_SOURCE' | 'INSUFFICIENT_BALANCE': Reason why a payment source is not usable.
        - `paymentSourceConditions` PaymentSourceCondition[]: List of conditions for payment sources
          - `type` string, required
          - `cardCompanies` CardCompany[]: List of card companies allowed for the payment
    - `fareAttributes` FareAttributes: The rules and attributes related to the fare.
      - `isVoidable` boolean: Designates whether the fare is voidable or not.
      - `holdDeadline` DateTimeLocal: Local date and time in ISO 8601 format.
        - `iso8601` string, required
      - `isNonVerifiedExchangeOffer` boolean: Designates whether the fare is a non-verified exchange offer. For these fares, the exchange price guarantee is not provided by the supplier.
    - `additionalTotalFares` AdditionalFareAmount[]: Additional fare amounts like flight pass, change penalty, etc.
      - `type` 'TYPE_UNKNOWN' | 'FLIGHT_PASS_AMOUNT' | 'CHANGE_FEE' | 'CANCELLATION_FEE' | 'PENALTY' | 'AIRLINE_FEE' | 'SEAT' | 'BAGGAGE', required: Type of additional fare amount
      - `fareAmount` FareAmount, required: Fare amount including base fare and tax.
        - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string: Tax code
          - `percentage` number, double: Tax amount to total amount
          - `description` string: Tax name or Tax Description
      - `isIncludedInFareAmount` boolean: Whether this additional fare amount is included in the ticket fare or not
    - `changeFee` ChangeFee: Change fee for a rate option.
      - `amount` Money: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
    - `hasApplicableCredits` boolean: Whether the rate option has at least one matched unused credit.
    - `applicableCreditIndices` integer[]: Indices of applicable unused credits for this rate option.
    - `showRawFareRules` boolean: Hint for frontend to show raw fare rule link.
    - `cloneInfo` CloneInfo: Information regarding cloning an itinerary.
      - `isClosestMatch` boolean: Whether a particular rate option is closest to the original itinerary.
    - `airline` string: Airline within the source, required for suppliers like NDC with multiple airlines in a single source.
    - `isUnselectable` boolean: Whether the given rate option is selectable by user for booking.
    - `inPolicyAmount` Money: Money object containing details such as the amount, the currency code, and the converted amount.
      - `amount` number, double, required: The numeric value for the amount of money.
      - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
      - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
      - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
      - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
        - `coinageCode` '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': Payment method
        - `amount` number, double
        - `conversionRate` number, double: 1 coin in this system equals to how many currency value
        - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
        - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
          - `metadataType` string: Discriminator field for polymorphic deserialization
          - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
            - `flightPassNumber` string: Flight pass number
            - `flightPassAmounts` FlightPassPaymentAmounts: Fare breakdown for the flight pass booking.
              - …
    - `checkoutApprovalInfo` CheckoutApprovalInfo: Checkout approval information containing approval type and approver details
      - `approvalType` 'HARD_APPROVAL' | 'SOFT_APPROVAL' | 'PASSIVE_APPROVAL' | 'PRE_APPROVAL': Type of APPROVAL
      - `approverDetails` ApproverDetails[]: List of approver details
        - `approverName` string: Name of approver
        - `approverEmail` string: Email of approver
        - `approverUserOrgId` UserOrgId: User and user's organization information.
          - `organizationAgencyId` OrganizationAgencyId: Agency id for the organization.
            - `id` string, required
          - `organizationId` OrganizationId, required: Organization id for traveler.
            - `id` string, required
          - `userId` UserId, required: User identifier
            - `id` string, uuid, required
          - `tmcInfo` TmcInfo: TMC config information.
            - `id` CompanyId, required: Company ID
              - …
            - `primaryServiceProviderTmc` PrimaryServiceProviderTmc, required: Primary service provider TMC info
              - …
            - `secondaryServiceProviderTmcs` SecondaryServiceProviderTmc[]: Secondary service provider TMCs for the TMC.
              - …
            - `partnerTmcId` CompanyId: Company ID
              - …
          - `tmcBasicInfo` TmcBasicInfo: TMC related basic information.
            - `contractingTmc` CompanyRef, required: Basic information about a company.
              - …
            - `bookingTmc` CompanyRef, required: Basic information about a company.
              - …
        - `type` 'UNKNOWN_APPROVER' | 'APPROVER' | 'AUTHORIZER': Type of approver
    - `allowedFop` PaymentMethod[]: List of allowed forms of payment for this rate option.
  - `unusedCredits` UnusedCreditInfo[]: Applicable unused airline credits based on the search.
    - `sourcePnr` string: PNR number corresponding to third party through which booking was made.
    - `spotnanaPnr` string: Spotnana pnr ID.
    - `ticketNumber` string: Ticket number for the ticket that was converted into an unused credit.
    - `airlineCode` string: 2 letter airline code of the airline associated with this unused credit.
    - `airlineInfo` AirlineInfo: Detailed information about the airline.
      - `airlineCode` string, required: IATA code for airline.
      - `airlineName` string: Airline name
    - `totalFare` Money: Money object containing details such as the amount, the currency code, and the converted amount.
      - `amount` number, double, required: The numeric value for the amount of money.
      - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
      - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
      - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
      - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
        - `coinageCode` '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': Payment method
        - `amount` number, double
        - `conversionRate` number, double: 1 coin in this system equals to how many currency value
        - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
        - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
          - `metadataType` string: Discriminator field for polymorphic deserialization
          - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
            - `flightPassNumber` string: Flight pass number
            - `flightPassAmounts` FlightPassPaymentAmounts: Fare breakdown for the flight pass booking.
              - …
    - `issueDate` DateTimeOffset: ISO8601 UTC Date Time
      - `iso8601` string, required
    - `expiryDate` DateTimeOffset: ISO8601 UTC Date Time
      - `iso8601` string, required
    - `usedDate` DateTimeOffset: ISO8601 UTC Date Time
      - `iso8601` string, required
    - `departureDate` DateTimeOffset: ISO8601 UTC Date Time
      - `iso8601` string, required
    - `segmentsAvailable` 'UNKNOWN' | 'ALL_OPEN' | 'PARTIAL' | 'OTHER': Whether all segments are unused or some have already been used.
    - `passengerName` Name: Full name containing first, middle, last (family) names, and suffix.
      - `family1` string, required: Last (family) name.
      - `family2` string
      - `given` string, required: First (given) name.
      - `middle` string: Middle name.
      - `suffix` 'NAME_SUFFIX_UNKNOWN' | 'SR' | 'JR' | 'MD' | 'PHD' | 'II' | 'III' | 'IV' | 'DO' | 'ATTY' | 'V' | 'VI' | 'ESQ' | 'DC' | 'DDS' | 'VM' | 'JD' | 'SECOND' | 'THIRD': Suffix for name
      - `preferred` string: Informal preferred name added by traveler. This is not used on any PNR or tickets
    - `departureCountry` string: 3 letter country code of the departure country associated with the original ticket.
    - `arrivalCountry` string: 3 letter country code of the arrival country associated with the original ticket.
    - `ticketType` 'TICKET_TYPE_UNKNOWN' | 'ETICKET' | 'MCO' | 'NON_GDS': Type of credit.
    - `pcc` string: PCC the credit was issued on.
    - `status` 'STATUS_UNKNOWN' | 'OPEN' | 'USED' | 'RESERVED': Status of the credit.
    - `source` 'UNKNOWN_SOURCE' | 'SABRE' | 'TRAVEL_FUSION' | 'AVIA' | 'NDC' | 'TRAINLINE' | 'ATPCO_NDC' | 'FARELOGIX_NDC' | 'OFFLINE' | 'CONNEXUS' | 'ROUTEHAPPY' | 'AMADEUS' | 'GIATA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'HILTON' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'AMADEUS_NDC' | 'SIXT'
    - `tripId` string: Trip ID that contains the unused credit
    - `redeemVia` 'REDEEM_VIA_OBT' | 'CONTACT_AGENT': Credit redemption method. If the value contains `CONTACT_AGENT`, then the agent must book the ticket and redeem the credits on behalf of the traveler.
    - `sourceOfTruth` 'SPOTNANA' | 'MANUAL_FORM' | 'MAGNATECH' | 'BCD' | 'OBT' | 'CWT': The system that owns the credit.
    - `owningPcc` string: PCC the PNR was created on.
    - `paymentSourceId` string, uuid: Payment source ID associated with the credit.
    - `creditUsageType` 'CREDIT_USAGE_TYPE_UNKNOWN' | 'COMPANY' | 'PERSONAL': Usage type of the credit.
    - `email` string: Email of the passenger owning the unused credit.
    - `fopInfo` UnusedCreditFop: Form of payment information associated with an unused credit.
      - `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': Payment method
      - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH': Type of Payment Source
      - `card` Card: User card info
        - `id` string, uuid: Unique identifier for this card
        - `type` 'UNKNOWN' | 'CREDIT' | 'DEBIT': Type of card
        - `company` 'NONE' | 'VISA' | 'MASTERCARD' | 'AMEX' | 'DISCOVER' | 'AIR_TRAVEL_UATP' | 'CARTE_BLANCHE' | 'DINERS_CLUB' | 'JCB' | 'BREX' | 'UNION_PAY' | 'EURO_CARD' | 'ACCESS_CARD' | 'ELO_CARD': The issuing company of card
        - `name` string: Name on card
        - `address` PostalAddress: Postal Address Details
          - `addressLines` string[], required: Address lines
          - `administrativeArea` string: Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
          - `administrativeAreaName` string: Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
          - `description` string: Address description
          - `isDefault` boolean: Whether this address is default address in case multiple addresses are specified.
          - `languageCode` string: BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
          - `locality` string: Generally refers to the city/town portion of the address.
          - `locationCode` string: IATA 3-letter location code. See https://www.iata.org/en/services/codes.
          - `organization` string: The name of the organization at the address.
          - `postalCode` string: Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
          - `continentCode` string: 2 letter continent code of the continent this address falls in.
          - `recipients` string[]: The recipient at the address.
          - `regionCode` string, required: Region code of the country/region of the address.
          - `regionName` string: Region name of the country/region of the address.
          - `revision` integer
          - `sortingCode` string: Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
          - `sublocality` string: Sublocality of the address. This can be neighborhoods, boroughs, districts.
          - `timezone` string: Time zone of the address.
          - `coordinates` Latlng: Latitude and Longitude for a Location
            - `latitude` number, double, required: Latitude of the Location
            - `longitude` number, double, required: Longitude of the Location
        - `number` string, required: Card number
        - `expiryMonth` integer: Expiry month
        - `expiryYear` integer: Expiry year
        - `cvv` string: Card cvv number
        - `label` string: Card Label
        - `currency` string: Native currency of the card.
        - `externalId` string: Spotnana partner card id.
        - `vaultId` string, uuid: ID of the vault used for creating the card.
        - `expiry` union: Contains the expiry of a Card.
          - object
            - `tokenizedExpiry` TokenizedExpiry: Contains the tokenized expiry of a Card.
              - …
          - object
            - `expiry` Expiry: Contains the expiry of a Card.
              - …
        - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL': Ownership label of the card whether it is personal, corporate or central.
    - `fopLabel` string: The label associated with the FOP. This value can be empty if that particular FOP does not have any label.
    - `exchangeInfo` UnusedCreditExchangeInfo: Exchange information for unused credits.
      - `previousTicket` string: Previous ticket number in case of exchanges.
    - `fopCardAccessType` 'CARD_ACCESS_CENTRAL' | 'CARD_ACCESS_PERSONAL' | 'CARD_ACCESS_CORPORATE': The card access type of the FOP associated with the unused credit.
    - `legalEntityName` string: The name of the legal entity associated with this unused credit.
    - `creditFareBreakdown` FareAmount: Fare amount including base fare and tax.
      - `base` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `tax` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required: The numeric value for the amount of money.
        - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` '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': Payment method
          - `amount` number, double
          - `conversionRate` number, double: 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
            - `metadataType` string: Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required: Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `taxBreakdown` Tax[]
        - `amount` Money, required: Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required: The numeric value for the amount of money.
          - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` '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': Payment method
            - `amount` number, double
            - `conversionRate` number, double: 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double: 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper: Wrapper for Flight Pass payment metadata.
              - …
        - `taxCode` string: Tax code
        - `percentage` number, double: Tax amount to total amount
        - `description` string: Tax name or Tax Description
    - `countryCode` string: Country code of the credit's Point-of-Sale market, derived from the credit's PCC.
  - `cheapestOptions` AirItin[]: List of cheapest itineraries after applying filters.
    - `itineraryId` string, required: The unique ID for this itinerary.
    - `legs` AirLegInfo[], required
      - `id` string, required: The unique ID for this leg.
      - `flights` FlightDetail[], required: Details of the list of flights present in the leg.
        - `id` string, required: The unique ID for this flight in the itinerary.
        - `flightData` union
          - object: Wrapper of flight reference to be used in oneOf.
            - `flightRef` FlightRef: Flight reference information.
              - …
          - object: Wrapper of FlightCommon data to be used in oneOf.
            - `flightData` FlightCommon: Basic information about the flight.
              - …
        - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST', required: Flight cabin
        - `bookingCode` string: The airline's one-letter code for the associated fare
        - `seatAvailability` integer: The availability of seats on this flight
        - `corpAccountCode` string: The account code is used to get corporate negotiated price
        - `carbonEmission` CO2EmissionDetail: CO2 emission details for the flight.
          - `emissionValue` number, double, required: Estimated C02 emissions value for selected flight and seating class, per passenger (in tons)
          - `averageEmissionValue` number, double: Average estimated C02 emissions per passenger for same route (in tons)
          - `flightDistanceKm` number, double: Total distance flown by the flight in kilometres.
          - `isApproximate` boolean: Indicates whether the emissions value is approximate or not.
          - `weight` Weight: Specifies weight unit and weight amount.
            - `weight` number, double, required: Amount of weight.
            - `unit` 'KG' | 'LBS', required: Unit of weight.
          - `cost` Money: Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required: The numeric value for the amount of money.
            - `currencyCode` string, required: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double: The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[]: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
        - `amenities` AirAmenity[]: The amenities associated with the flight.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `flightAttributes` FlightAttribute[]: The set of product attributes associated with the flight.
          - `headline` string: Short headline text for the flight attribute.
          - `description` string: Marketing description and images associated with the flight attribute.
          - `categories` FlightAttributeCategory[]: List of categories in which this flight attribute falls into
          - `photos` ImageGroup[]: List of images associated with the flight attribute.
            - `caption` string: Caption for the image.
            - `images` Image[], required: List of images.
              - …
          - `video` ImageGroup[]: List of videos associated with the flight attribute.
            - `caption` string: Caption for the image.
            - `images` Image[], required: List of images.
              - …
          - `tour` ImageGroup[]: List of 360-degree tour media associated with the flight attribute.
            - `caption` string: Caption for the image.
            - `images` Image[], required: List of images.
              - …
        - `fareBasisCode` string: The fare basis code contains information about the fare.
        - `flightId` string: Base64 encoded identifier using rateOptionId, legIndex and flightIndex.
      - `travelerInfos` TravelerLegInfo[], required: Details of passenger(s) information for this leg.
        - `travelerId` string, required: Unique identifier for the traveler in this response
        - `travelerLegFare` FareAmount: Fare amount including base fare and tax.
- … truncated; see the full OpenAPI document linked below

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: The specified resource was not found.

## Changes

- **2026-11-06** `33dcaecde45b`: 4 breaking, 58 info
  - added `#/components/schemas/PostalAddressListWrapper` to the `itineraryDetails/itineraries/items/policyInfos/ruleResultInfos/items/subViolationInfos/items/actualValue` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/PostalAddressListWrapper` to the `itineraryDetails/itineraries/items/policyInfos/ruleResultInfos/items/subViolationInfos/items/expectedValue` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/PostalAddressListWrapper` to the `itineraryDetails/itineraries/items/policyInfos/ruleResultInfos/items/violationInfos/items/actualValue` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/PostalAddressListWrapper` to the `itineraryDetails/itineraries/items/policyInfos/ruleResultInfos/items/violationInfos/items/expectedValue` response property `oneOf` list for the response status `200`
  - …58 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/spotnana/apis/air-api/changes/v2/air/search-flights/post.md)

---

[API](https://skmtc.dev/spotnana/apis/air-api.md) - [All operations](https://skmtc.dev/spotnana/apis/air-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spotnana/apis/air-api/revisions/33dcaecde45b?raw)
