---
title: "Create PNR"
method: POST
path: "/v3/trips/{tripId}/pnrs"
tags: ["Trip PNRs"]
---

# Create PNR

`POST /v3/trips/{tripId}/pnrs`

Create a new Passenger Name Record (PNR). A PNR represents a booking (air, hotel, rail, or car) made on the Spotnana platform.
You can also use this endpoint to import bookings made from external sources into the Spotnana platform.

## Request body

- PnrData — Pnr data with all information about a single booking containing one of Air, Hotel, Car, Rail, Limo or Miscellaneous PNR.
  - `version` integer — Current PNR version. This field is used for handling conflicts in case of concurrent updates. This should be sent unmodified in update request.
  - `createdVia` 'OFFLINE' | 'OBT' | 'SHELL' | 'PASSIVE' | 'API' — Indicates the source of creation of PNR, like SHELL, OBT, etc.
  - `initialVersionCreatedVia` 'OFFLINE' | 'OBT' | 'SHELL' | 'PASSIVE' | 'API' — Indicates the source of creation of PNR, like SHELL, OBT, etc.
  - `sourceInfo` SourceInfo — Information about the source of booking
    - `sourcePnrId` string — The source PNR ID
    - `bookingSource` string, required — The source of booking
    - `thirdParty` string — The known third party source of the booking.
    - `bookingDateTime` DateTimeOffset — ISO8601 UTC Date Time
      - `iso8601` string, required
    - `posDescriptor` string — Point of sale descriptor for this pnr from source
    - `iataNumber` string — IATA number associated with this pnr
  - `invoiceDelayedBooking` boolean — True if the billing is delayed
  - `travelers` Traveler[]
    - `travelerPersonalInfo` TravelerPersonalInfo — Traveler personal information.
      - `loyaltyInfos` LoyaltyInfo[]
        - `appliedTo` string[]
        - `id` string, required
        - `issuedBy` string, required
        - `type` 'UNKNOWN_TYPE' | 'AIR' | 'HOTEL' | 'CAR' | 'RAIL', required
        - `linked` boolean — Indicates if this loyalty account is linked to the external provider. Only applicable for certain loyalty types.
        - `tier` string — Loyalty membership tier name echoed from the supplier.
      - `travelPref` TravelPref — Travel preferences.
        - `airPref` AirPref — Travel preferences related to air travel.
          - `airlinePrefs` AirlinePref[]
            - `airlines` string[]
            - `flightType` 'UNKNOWN_FLIGHT_TYPE' | 'DOMESTIC' | 'INTERNATIONAL' | 'ALL'
          - `alliancePref` AlliancePref — Alliance preferences.
            - `alliances` Alliance[], required
          - `farePref` FarePref — Fare preferences.
            - `fareTypes` string[], required
          - `homeAirport` string
          - `mealPref` MealPref — Meal preferences.
            - `exclMealPrefs` MealType[]
            - `inclMealPrefs` MealType[]
            - `specialMealDescription` string
          - `numStopPref` NumStopsPref — Preferred number of stops.
            - `numOfStops` integer, required
          - `seatAmenityPref` SeatAmenityPref — Seat amenity preference.
            - `seatAmenityTypes` string[], required
          - `seatLocationPrefs` SeatLocationPref[]
            - `cabins` string[]
            - `isBulkHeadPref` boolean
            - `maxFlightDurationInHours` integer
            - `position` 'UNKNOWN_POSITION' | 'AISLE' | 'WINDOW' | 'AISLE_OR_WINDOW'
          - `preferredAirports` PreferredAirport[] — A list of user preferred airports.
            - `airportName` string — Airport name.
            - `airportCode` string, required — IATA airport code.
            - `label` 'HOME' | 'WORK' | 'OTHER', required — The label of preferred airport or rail station.
        - `preferredCurrency` string
        - `railCards` RailCard[]
          - `cardNumber` string — Number of card
          - `expiryDate` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `name` string, required — Name of the Rail Card.
          - `spotnanaCode` string, required — Unique Spotnana code/identifier for Rail Card.
          - `vendor` string, required — Vendor Name.
        - `railPref` RailPref — Travel preferences related to rail station.
          - `preferredRailStations` PreferredRailStation[] — A list of user preferred rail stations.
            - `stationName` string — Rail station name.
            - `stationCode` string, required — Rail station code.
            - `cityName` string — Name of city where the rail station is located.
            - `countryCode` string — Alpha-2 country code where the rail station is located.
            - `label` 'HOME' | 'WORK' | 'OTHER', required — The label of preferred airport or rail station.
          - `seatPreference` SeatPref — Preference about seat of rail.
            - `hasAccessibility` boolean — Whether or not requires assistance for disability.
            - `seatTypes` SeatPrefType[]
            - `seatLocations` SeatPrefLocation[]
            - `deckLevels` DeckLevel[]
            - `seatDirections` SeatPrefDirection[]
          - `travelClasses` RailTravelClass[] — A list of class of service for rail.
          - `coachPreferences` CoachPref[] — A list of coach preference for rail.
          - `conditionalRates` ConditionalRate[] — A list of conditional rates for rail.
        - `carPref` CarPref — Travel preferences related to car.
          - `vendors` CarVendor[] — A list of car vendors.
            - `code` string, required — Vendor code
            - `name` string, required — Vendor name
            - `isPresentInPreferredVendors` boolean — Whether the car vendor is present in preferred vendor list. This is an optional field which gets populated only in the preferred vendor autocomplete API.
          - `carTypes` CarType[] — A list of types of car.
          - `engineTypes` EngineType[] — A list of types of engine.
          - `transmissionTypes` TransmissionSearchFilter[] — A list of types of transmission.
          - `conditionalRates` ConditionalRate[] — A list of conditional rates for rail.
        - `hotelPref` HotelPref — Travel preferences related to hotel.
          - `hotelParentChains` HotelChain[] — A list of hotel parent chains.
            - `chainCode` string — The code of hotel chain.
            - `chainName` string — The name of hotel chain.
          - `hotelBrands` HotelBrand[] — A list of hotel brands.
            - `brandCode` string — The code of hotel brand.
            - `brandName` string — The name of hotel brand.
          - `hotelAmenityTypes` HotelPrefAmenity[] — A list of HotelAmenities.
          - `roomPreference` RoomPreference — Room options and stay preference.
            - `isMobilityAccessible` boolean — Whether or not mobility accessible room, tub.
            - `bedCount` 'ONE_BED' | 'TWO_BEDS' — The number of bed in the room.
            - `roomType` 'SMOKING' | 'NON_SMOKING' — Single selection of type of room.
            - `mostImportantFact` 'ROOM_TYPE' | 'BED_COUNT' | 'ROOM_LOCATION' — Single selection of the most import fact.
            - `roomLocation` 'HIGH_FLOOR' | 'LOW_FLOOR' | 'NEAR_ELEVATOR' — Location of the hotel room
            - `pillowType` 'FOAM' | 'EXTRA_FOAM' | 'EXTRA_FEATHER' — The type of pillow in hotel room.
            - `roomAmenityPrefs` string[]
          - `conditionalRates` ConditionalRate[] — A list of conditional rates for rail.
      - `blockLoyalty` boolean — If true, hides the loyalty program input on the checkout page for this traveler.
    - `user` User — User details.
      - `addresses` PostalAddress[]
        - `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
      - `dob` DateModel — Date in ISO 8601 standard.
        - `iso8601` string, required
      - `email` string, email
      - `emergencyContactInfo` EmergencyContactInfo — Emergency contact information.
        - `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
        - `designation` string
        - `email` string, email, required
        - `name` 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
        - `phoneNumber` PhoneNumber — Properly formatted phone number.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `userOrgId` 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.
              - …
      - `emergencyContact` EmergencyContact — Emergency contact information.
        - `name` string, required — Full name of contact.
        - `email` string, email — Email address of contact.
        - `designation` string — Job title of contact.
        - `relation` 'RELATION_UNKNOWN' | 'SPOUSE' | 'PARENT' | 'SIBLING' | 'CHILD' | 'FRIEND' | 'RELATIVE' | 'COLLEAGUE' | 'OTHER' — Relation of contact to user.
        - `phoneNumbers` PhoneNumber[], required — Phone numbers of contact.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `preferredLanguage` string — Language preferred by user.
      - `gender` 'MALE' | 'FEMALE' | 'UNSPECIFIED' | 'UNDISCLOSED' | 'GENDER_REDACTED'
      - `identityDocs` IdentityDocument[] — List of user identity documents.
        - union — Identity document details. Currently supported documents are passport, immigration document, known traveler number, redress number and national document.
          - object
            - `passport` Passport — Passport details.
              - …
          - object
            - `immigrationDoc` ImmigrationDocument — Immigration document details.
              - …
          - object
            - `redress` RedressNumber — Redress details
              - …
          - object
            - `ktn` KnownTravelerNumber — Information about the Known Traveler Number (KTN).
              - …
          - object
            - `nationalDoc` NationalDoc — National Document Id details.
              - …
      - `name` 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
      - `paymentInfos` PaymentInfo[]
        - `applicableTo` string[]
        - `card` Card, required — 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
              - …
          - `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
              - …
            - object
              - …
          - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL' — Ownership label of the card whether it is personal, corporate or central.
        - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE' — Identifies the different ways the card can be used across an organization
        - `access` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
          - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE', required — Identifies the different ways the card can be used across an organization
          - `entityIds` string[], required — Holds the ids for for all users who can access the card or organization id
          - `entities` CardAccessEntity[] — A list of cardAccessEntity consisting of central card access level if present and entity id.
            - `entityId` string, required — Holds the id for for the user who can access the card or organization id or legal entity
            - `centralCardAccessLevel` 'UNKNOWN' | 'ORGANIZATION' | 'LEGAL_ENTITY' | 'TMC' — Identifies at which level central card is applicable, for example organization or legal entity.
      - `phoneNumbers` PhoneNumber[]
        - `countryCode` integer — two digit country code
        - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
        - `extension` string — phone number extension
        - `isoCountryCode` string — ISO alpha-2 code
        - `italianLeadingZero` boolean
        - `nationalNumber` integer
        - `numberOfLeadingZeros` integer
        - `preferredDomesticCarrierCode` string
        - `rawInput` string
        - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
      - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
        - `data` string, byte
        - `dimensions` Dimensions — Image dimensions ie width and height.
          - `height` integer
          - `width` integer
        - `url` string
      - `nationality` string — Nationality of user
      - `title` 'TITLE_UNKNOWN' | 'MR' | 'MS' | 'MRS' | 'MX' | 'MASTER' | 'MISS' | 'DR' | 'PROFESSOR' | 'CAPTAIN' | 'REVEREND' | 'HONOURABLE' | 'SIR' | 'LADY' | 'AMBASSADOR' | 'LORD' | 'BRIGADIER' | 'SENATOR' | 'DAME' | 'JUSTICE' | 'UK' | 'TITLE_REDACTED'
    - `userBusinessInfo` UserBusinessInfo — User business information.
      - `department` Department — Department details.
        - `id` DepartmentId, required — Department id.
          - `id` string, required
        - `name` string, required
        - `externalId` string — External id of the department
        - `employeeCount` integer — Count of employees in the department
      - `designation` string
      - `email` string, email, required
      - `employeeId` string, required — Unique employee id. Can use email if a company don't use employee ids.
      - `grade` Grade — Grade details.
        - `employeeCount` integer — Count of employees in the grade
        - `id` GradeId, required — Grade id.
          - `id` string, required
        - `name` string, required
      - `legalEntityId` LegalEntityId, required — The ID of the legal entity.
        - `id` string, required
      - `managerBasicInfo` UserBasicInfo — Basic user information.
        - `userOrgId` 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.
              - …
        - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
        - `email` string, email
        - `name` 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
        - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
          - `data` string, byte
          - `dimensions` Dimensions — Image dimensions ie width and height.
            - `height` integer
            - `width` integer
          - `url` string
        - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
        - `phoneNumber` PhoneNumber — Properly formatted phone number.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `employeeId` string — Employee id of the user
        - `isActive` boolean — Whether user profile is active or not.
      - `office` Office — Office details.
        - `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
        - `id` OfficeId, required — The unique ID of the office.
          - `id` string, required — The value of the unique ID for the office.
        - `name` string, required
        - `latlng` Latlng — Latitude and Longitude for a Location
          - `latitude` number, double, required — Latitude of the Location
          - `longitude` number, double, required — Longitude of the Location
        - `taxId` string
      - `organizationId` OrganizationId, required — Organization id for traveler.
        - `id` string, required
      - `phoneNumbers` PhoneNumber[]
        - `countryCode` integer — two digit country code
        - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
        - `extension` string — phone number extension
        - `isoCountryCode` string — ISO alpha-2 code
        - `italianLeadingZero` boolean
        - `nationalNumber` integer
        - `numberOfLeadingZeros` integer
        - `preferredDomesticCarrierCode` string
        - `rawInput` string
        - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
      - `userCostCenter` CostCenter — Cost center details.
        - `id` CostCenterId, required
          - `id` string, required
        - `name` string, required
        - `externalId` string
      - `designatedApproverInfos` UserBasicInfo[] — A list of user basic info for designated approvers.
        - `userOrgId` 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.
              - …
        - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
        - `email` string, email
        - `name` 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
        - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
          - `data` string, byte
          - `dimensions` Dimensions — Image dimensions ie width and height.
            - `height` integer
            - `width` integer
          - `url` string
        - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
        - `phoneNumber` PhoneNumber — Properly formatted phone number.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `employeeId` string — Employee id of the user
        - `isActive` boolean — Whether user profile is active or not.
      - `designatedApproverUserIds` UserId[] — A list of userId for designated approvers.
        - `id` string, uuid, required
      - `authorizerEmail` string — Email address to be used as approval authorizer, when a manager is not present.
    - `userOrgId` 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
          - `id` string, uuid, required
        - `primaryServiceProviderTmc` PrimaryServiceProviderTmc, required — Primary service provider TMC info
          - `tmcId` CompanyId, required — Company ID
            - `id` string, uuid, required
        - `secondaryServiceProviderTmcs` SecondaryServiceProviderTmc[] — Secondary service provider TMCs for the TMC.
          - `tmcId` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `supplier` 'SABRE' | 'AMADEUS' | 'TRAVEL_FUSION' | 'FARELOGIX_NDC' | 'ATPCO_NDC' | 'TRAINLINE' | 'AVIA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'NDC' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'NATIONAL' | 'ALAMO' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'EUROSTAR' | 'AVIS' | 'BUDGET', required — Supplier type like Sabre, TravelFusion etc.
          - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL', required — Travel Type
        - `partnerTmcId` CompanyId — Company ID
          - `id` string, uuid, required
      - `tmcBasicInfo` TmcBasicInfo — TMC related basic information.
        - `contractingTmc` CompanyRef, required — Basic information about a company.
          - `id` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `name` string
          - `logo` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
        - `bookingTmc` CompanyRef, required — Basic information about a company.
          - `id` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `name` string
          - `logo` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
    - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
    - `isActive` boolean — A boolean flag to show if traveler is active.
    - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
    - `adhocUserInfo` AdhocUserInfo — Basic information related to ad-hoc traveler profile.
      - `profileOwner` ProfileOwner, required — Basic information about the owner of the ad-hoc user.
        - `userId` UserId, required — User identifier
          - `id` string, uuid, required
      - `isSaved` boolean — A boolean flag to show if ad-hoc traveler is visible in search. While updating the user if client tries to update this field, it will throw exception.
    - `externalId` string — External id of this user.
  - `pnrTravelers` PnrTraveler[] — List of travelers on this pnr and their information. This is a required field.
    - `userId` UserId, required — User identifier
      - `id` string, uuid, required
    - `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
    - `personalInfo` UserPersonalInfo — User details.
      - `addresses` PostalAddress[]
        - `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
      - `dob` DateModel — Date in ISO 8601 standard.
        - `iso8601` string, required
      - `email` string, email
      - `emergencyContactInfo` EmergencyContactInfo — Emergency contact information.
        - `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
        - `designation` string
        - `email` string, email, required
        - `name` 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
        - `phoneNumber` PhoneNumber — Properly formatted phone number.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `userOrgId` 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.
              - …
      - `gender` 'MALE' | 'FEMALE' | 'UNSPECIFIED' | 'UNDISCLOSED' | 'GENDER_REDACTED'
      - `identityDocs` IdentityDocument[] — List of user identity documents.
        - union — Identity document details. Currently supported documents are passport, immigration document, known traveler number, redress number and national document.
          - object
            - `passport` Passport — Passport details.
              - …
          - object
            - `immigrationDoc` ImmigrationDocument — Immigration document details.
              - …
          - object
            - `redress` RedressNumber — Redress details
              - …
          - object
            - `ktn` KnownTravelerNumber — Information about the Known Traveler Number (KTN).
              - …
          - object
            - `nationalDoc` NationalDoc — National Document Id details.
              - …
      - `name` 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
      - `phoneNumbers` PhoneNumber[]
        - `countryCode` integer — two digit country code
        - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
        - `extension` string — phone number extension
        - `isoCountryCode` string — ISO alpha-2 code
        - `italianLeadingZero` boolean
        - `nationalNumber` integer
        - `numberOfLeadingZeros` integer
        - `preferredDomesticCarrierCode` string
        - `rawInput` string
        - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
      - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
        - `data` string, byte
        - `dimensions` Dimensions — Image dimensions ie width and height.
          - `height` integer
          - `width` integer
        - `url` string
      - `nationality` string — Nationality of user
      - `title` 'TITLE_UNKNOWN' | 'MR' | 'MS' | 'MRS' | 'MX' | 'MASTER' | 'MISS' | 'DR' | 'PROFESSOR' | 'CAPTAIN' | 'REVEREND' | 'HONOURABLE' | 'SIR' | 'LADY' | 'AMBASSADOR' | 'LORD' | 'BRIGADIER' | 'SENATOR' | 'DAME' | 'JUSTICE' | 'UK' | 'TITLE_REDACTED'
      - `preferredLanguage` string — Language preferred by user.
      - `preferredPronoun` 'SHE_HER_HERS' | 'HE_HIM_HIS' | 'THEY_THEM_THEIRS'
      - `travelerName` 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
      - `emergencyContact` EmergencyContact — Emergency contact information.
        - `name` string, required — Full name of contact.
        - `email` string, email — Email address of contact.
        - `designation` string — Job title of contact.
        - `relation` 'RELATION_UNKNOWN' | 'SPOUSE' | 'PARENT' | 'SIBLING' | 'CHILD' | 'FRIEND' | 'RELATIVE' | 'COLLEAGUE' | 'OTHER' — Relation of contact to user.
        - `phoneNumbers` PhoneNumber[], required — Phone numbers of contact.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `preferredLanguage` string — Language preferred by user.
    - `loyalties` LoyaltyInfo[]
      - `appliedTo` string[]
      - `id` string, required
      - `issuedBy` string, required
      - `type` 'UNKNOWN_TYPE' | 'AIR' | 'HOTEL' | 'CAR' | 'RAIL', required
      - `linked` boolean — Indicates if this loyalty account is linked to the external provider. Only applicable for certain loyalty types.
      - `tier` string — Loyalty membership tier name echoed from the supplier.
    - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
    - `businessInfo` TravelerBusinessInfo — Business information of the traveler
      - `legalEntity` TravelerLegalEntity — Legal entity of the traveler
        - `id` string — Legal entity ID
        - `name` string — Name of the legal entity
        - `ein` string — EIN of the traveler
        - `externalId` string — External Id of the legal entity
        - `companySpecifiedAttributes` CompanySpecifiedAttributeLegalEntity[]
          - `fieldName` string, required — Field name of the attribute
          - `value` string, required — Field value of the attribute
        - `countryCode` string — 2-letter ISO country code of the legal entity
        - `billingCurrency` string — Billing currency for the legal entity.
        - `registeredName` string — The official name of this legal entity as registered with local tax authorities.
        - `registeredEmail` string — The primary email (or alias) used for the "Registered name" of this legal entity. Used for official communications, including regulatory, compliance, and invoicing purposes.
      - `companyId` CompanyId — Company ID
        - `id` string, uuid, required
      - `companyInfo` TravelerCompanyInfo — Company information of the traveler
        - `id` CompanyId — Company ID
          - `id` string, uuid, required
        - `name` string — Name of the company
        - `externalId` string — External Id of the company
      - `workerType` 'EMPLOYEE' | 'CONTINGENT' | 'SEASONAL' | 'INTERN' | 'GUEST' — The type of worker.
      - `employeeId` string — Employee id of the user
      - `companySpecifiedAttributes` CompanySpecifiedAttribute[]
        - `fixedColumnName` string, required
        - `value` string, required
      - `userCostCenter` CostCenter — Cost center details.
        - `id` CostCenterId, required
          - `id` string, required
        - `name` string, required
        - `externalId` string
      - `grade` Grade — Grade details.
        - `employeeCount` integer — Count of employees in the grade
        - `id` GradeId, required — Grade id.
          - `id` string, required
        - `name` string, required
      - `office` Office — Office details.
        - `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
        - `id` OfficeId, required — The unique ID of the office.
          - `id` string, required — The value of the unique ID for the office.
        - `name` string, required
        - `latlng` Latlng — Latitude and Longitude for a Location
          - `latitude` number, double, required — Latitude of the Location
          - `longitude` number, double, required — Longitude of the Location
        - `taxId` string
      - `department` DepartmentV2 — Department details.
        - `id` string, uuid, required
        - `name` string, required — Name of the department
        - `externalId` string — External id of the department
      - `accountingCode` string — Code used for accounting.
    - `originalBusinessInfo` TravelerBusinessInfo — Business information of the traveler
      - `legalEntity` TravelerLegalEntity — Legal entity of the traveler
        - `id` string — Legal entity ID
        - `name` string — Name of the legal entity
        - `ein` string — EIN of the traveler
        - `externalId` string — External Id of the legal entity
        - `companySpecifiedAttributes` CompanySpecifiedAttributeLegalEntity[]
          - `fieldName` string, required — Field name of the attribute
          - `value` string, required — Field value of the attribute
        - `countryCode` string — 2-letter ISO country code of the legal entity
        - `billingCurrency` string — Billing currency for the legal entity.
        - `registeredName` string — The official name of this legal entity as registered with local tax authorities.
        - `registeredEmail` string — The primary email (or alias) used for the "Registered name" of this legal entity. Used for official communications, including regulatory, compliance, and invoicing purposes.
      - `companyId` CompanyId — Company ID
        - `id` string, uuid, required
      - `companyInfo` TravelerCompanyInfo — Company information of the traveler
        - `id` CompanyId — Company ID
          - `id` string, uuid, required
        - `name` string — Name of the company
        - `externalId` string — External Id of the company
      - `workerType` 'EMPLOYEE' | 'CONTINGENT' | 'SEASONAL' | 'INTERN' | 'GUEST' — The type of worker.
      - `employeeId` string — Employee id of the user
      - `companySpecifiedAttributes` CompanySpecifiedAttribute[]
        - `fixedColumnName` string, required
        - `value` string, required
      - `userCostCenter` CostCenter — Cost center details.
        - `id` CostCenterId, required
          - `id` string, required
        - `name` string, required
        - `externalId` string
      - `grade` Grade — Grade details.
        - `employeeCount` integer — Count of employees in the grade
        - `id` GradeId, required — Grade id.
          - `id` string, required
        - `name` string, required
      - `office` Office — Office details.
        - `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
        - `id` OfficeId, required — The unique ID of the office.
          - `id` string, required — The value of the unique ID for the office.
        - `name` string, required
        - `latlng` Latlng — Latitude and Longitude for a Location
          - `latitude` number, double, required — Latitude of the Location
          - `longitude` number, double, required — Longitude of the Location
        - `taxId` string
      - `department` DepartmentV2 — Department details.
        - `id` string, uuid, required
        - `name` string, required — Name of the department
        - `externalId` string — External id of the department
      - `accountingCode` string — Code used for accounting.
    - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
    - `blockLoyalty` boolean — If true, hides the loyalty program input on the checkout page for this traveler.
  - `costOfGoodsSold` COGS — Payment information about all goods sold. This is a required field for now.
    - `payments` Payment[], required — Potentially multiple payments that spotnana will pay to vendors for this booking
      - `travelerIndices` integer[], required — The list of traveler indices on which this payment applies.
      - `userIds` UserId[] — The list of traveler user IDs on which this payment applies.
        - `id` string, uuid, required
      - `amount` 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' — 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' — 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
      - `fop` FormOfPayment — Information about form of payment to be used to charge customer
        - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
        - `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
              - …
          - `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
              - …
            - object
              - …
          - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL' — Ownership label of the card whether it is personal, corporate or central.
        - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
        - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
          - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE', required — Identifies the different ways the card can be used across an organization
          - `entityIds` string[], required — Holds the ids for for all users who can access the card or organization id
          - `entities` CardAccessEntity[] — A list of cardAccessEntity consisting of central card access level if present and entity id.
            - `entityId` string, required — Holds the id for for the user who can access the card or organization id or legal entity
            - `centralCardAccessLevel` 'UNKNOWN' | 'ORGANIZATION' | 'LEGAL_ENTITY' | 'TMC' — Identifies at which level central card is applicable, for example organization or legal entity.
        - `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' — Payment method
        - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
          - `customPaymentMethodMetadata` object — Metadata related to custom payment method
            - `brexBudgetMetadata` object — Metadata for Brex Budget
              - …
            - `noPrepaymentMetadata` NoPrepaymentMetadata — Metadata for No Prepayment payment source (car bookings on no-guarantee rates).
              - …
          - `vendorProgramPaymentMetadata` union — Metadata related to vendor program payment method
            - object — Wrapper for DirectBilling metadata
              - …
            - object — Wrapper for UAPassPlus response metadata
              - …
          - `virtualCardMetadata` VirtualCardPaymentMetadata — Metadata for Virtual Card.
            - `vendorInfo` VirtualCardVendorInfo, required — Virtual card related information like vendor, cardId, card-pool id of vendor etc.
              - …
            - `cardInfo` VirtualCardInfo — Virtual card information like maximum deployment amount, valid date range.
              - …
            - `paymentInstructionId` string — Payment instruction id set during addition of virtual card payment source
            - `shouldReveal` boolean — Identifier for when to reveal virtual cards as they are revealed to travellers only 24hrs before check-in.
          - `cardMetadata` CardMetadata2 — Metadata for Card payment source.
            - `card` Card — User card info
              - …
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `isLodgeCard` boolean — Whether the payment is made using a lodge card
            - `bta` string — Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards.
        - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
      - `paymentReference` string — Reference number for original payment made for this service
      - `paymentType` 'UNKNOWN' | 'FLIGHTS' | 'SERVICE_FEE' | 'MISCELLANEOUS' | 'HOTELS' | 'CARS' | 'RAILS' | 'LIMO' | 'MISC', required — Service for which this payment is made
      - `paymentThirdParty` 'UNKNOWN_PARTY' | 'STRIPE' | 'TFPAY' | 'TRAINLINE' | 'BREX' | 'OUTSIDE_OBT' | 'RAZORPAY' — Third party who is processing the payment
      - `paymentId` string — The payment id for this transaction
      - `paymentGateway` 'PAYMENT_GATEWAY_UNKNOWN' | 'STRIPE' | 'BREX' — Third party payment gateway used to process the payment
      - `isRefunded` boolean — Whether the payment is refunded to the customer
      - `selectedPaymentSource` SelectedPaymentSource — Describes the selected payment source for the booking.
        - `paymentSourceId` string, uuid — Unique identifier identifying this payment source.
        - `rawPaymentSource` union — Raw Details of the Payment Source
          - object — Object to pass through dpan payment source details through the api call.
            - `type` string, required — Payment source type. Should be set to DPAN for card details.
            - `cardDetails` CardDetails, required — Card Details
              - …
          - object
            - `type` string, required — Payment source type. Should be set to CREDIT for unused credit details.
            - `pnrOwningPcc` string, required — PCC the PNR was created on.
            - `unusedCreditPcc` string, required — PCC the credit was issued on.
            - `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', required — Type of credit.
            - `departureDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `segmentsAvailable` 'UNKNOWN' | 'ALL_OPEN' | 'PARTIAL' | 'OTHER', required — Whether all segments are unused or some have already been used.
            - `traveler` union, required — The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
              - …
            - `passengerName` Name, required — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `airlineInfo` AirlineInfo, required
              - …
            - `totalFare` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `issueDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `expiryDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `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' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY', required
            - `sourcePnr` string, required — PNR number corresponding to third party through which booking was made.
            - `flightIds` string[] — ID of the flights on which this credit applies.
            - `ticketNumber` string, required — Ticket number for the ticket that was converted into an unused credit.
        - `postPaymentRedirectionUrl` string — Url for post payment redirection if payment source navigates user to a third party url
        - `cvv` string — CVV associated with associated payment source, if any.
        - `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' — 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.
              - …
      - `networkTransactionId` string — Network transaction id provided by the card network. Applicable only for cards.
      - `tmcGatewayInfo` TmcGatewayInfo — Tmc Gateway related info.
        - `tmcId` CompanyId — Company ID
          - `id` string, uuid, required
        - `gatewayType` 'STRIPE' | 'BREX' | 'RAZORPAY' — Third party payment gateway used to process the payment
        - `gatewayId` string — GatewayId for related gatewayInfo.
  - `costToCustomer` CTC — Cost of services, charged to customer
    - `payments` Payment[], required — Potentially multiple payments that spotnana will charge the clients
      - `travelerIndices` integer[], required — The list of traveler indices on which this payment applies.
      - `userIds` UserId[] — The list of traveler user IDs on which this payment applies.
        - `id` string, uuid, required
      - `amount` 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' — 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' — 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
      - `fop` FormOfPayment — Information about form of payment to be used to charge customer
        - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
        - `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
              - …
          - `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
              - …
            - object
              - …
          - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL' — Ownership label of the card whether it is personal, corporate or central.
        - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
        - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
          - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE', required — Identifies the different ways the card can be used across an organization
          - `entityIds` string[], required — Holds the ids for for all users who can access the card or organization id
          - `entities` CardAccessEntity[] — A list of cardAccessEntity consisting of central card access level if present and entity id.
            - `entityId` string, required — Holds the id for for the user who can access the card or organization id or legal entity
            - `centralCardAccessLevel` 'UNKNOWN' | 'ORGANIZATION' | 'LEGAL_ENTITY' | 'TMC' — Identifies at which level central card is applicable, for example organization or legal entity.
        - `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' — Payment method
        - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
          - `customPaymentMethodMetadata` object — Metadata related to custom payment method
            - `brexBudgetMetadata` object — Metadata for Brex Budget
              - …
            - `noPrepaymentMetadata` NoPrepaymentMetadata — Metadata for No Prepayment payment source (car bookings on no-guarantee rates).
              - …
          - `vendorProgramPaymentMetadata` union — Metadata related to vendor program payment method
            - object — Wrapper for DirectBilling metadata
              - …
            - object — Wrapper for UAPassPlus response metadata
              - …
          - `virtualCardMetadata` VirtualCardPaymentMetadata — Metadata for Virtual Card.
            - `vendorInfo` VirtualCardVendorInfo, required — Virtual card related information like vendor, cardId, card-pool id of vendor etc.
              - …
            - `cardInfo` VirtualCardInfo — Virtual card information like maximum deployment amount, valid date range.
              - …
            - `paymentInstructionId` string — Payment instruction id set during addition of virtual card payment source
            - `shouldReveal` boolean — Identifier for when to reveal virtual cards as they are revealed to travellers only 24hrs before check-in.
          - `cardMetadata` CardMetadata2 — Metadata for Card payment source.
            - `card` Card — User card info
              - …
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `isLodgeCard` boolean — Whether the payment is made using a lodge card
            - `bta` string — Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards.
        - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
      - `paymentReference` string — Reference number for original payment made for this service
      - `paymentType` 'UNKNOWN' | 'FLIGHTS' | 'SERVICE_FEE' | 'MISCELLANEOUS' | 'HOTELS' | 'CARS' | 'RAILS' | 'LIMO' | 'MISC', required — Service for which this payment is made
      - `paymentThirdParty` 'UNKNOWN_PARTY' | 'STRIPE' | 'TFPAY' | 'TRAINLINE' | 'BREX' | 'OUTSIDE_OBT' | 'RAZORPAY' — Third party who is processing the payment
      - `paymentId` string — The payment id for this transaction
      - `paymentGateway` 'PAYMENT_GATEWAY_UNKNOWN' | 'STRIPE' | 'BREX' — Third party payment gateway used to process the payment
      - `isRefunded` boolean — Whether the payment is refunded to the customer
      - `selectedPaymentSource` SelectedPaymentSource — Describes the selected payment source for the booking.
        - `paymentSourceId` string, uuid — Unique identifier identifying this payment source.
        - `rawPaymentSource` union — Raw Details of the Payment Source
          - object — Object to pass through dpan payment source details through the api call.
            - `type` string, required — Payment source type. Should be set to DPAN for card details.
            - `cardDetails` CardDetails, required — Card Details
              - …
          - object
            - `type` string, required — Payment source type. Should be set to CREDIT for unused credit details.
            - `pnrOwningPcc` string, required — PCC the PNR was created on.
            - `unusedCreditPcc` string, required — PCC the credit was issued on.
            - `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', required — Type of credit.
            - `departureDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `segmentsAvailable` 'UNKNOWN' | 'ALL_OPEN' | 'PARTIAL' | 'OTHER', required — Whether all segments are unused or some have already been used.
            - `traveler` union, required — The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
              - …
            - `passengerName` Name, required — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `airlineInfo` AirlineInfo, required
              - …
            - `totalFare` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `issueDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `expiryDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `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' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY', required
            - `sourcePnr` string, required — PNR number corresponding to third party through which booking was made.
            - `flightIds` string[] — ID of the flights on which this credit applies.
            - `ticketNumber` string, required — Ticket number for the ticket that was converted into an unused credit.
        - `postPaymentRedirectionUrl` string — Url for post payment redirection if payment source navigates user to a third party url
        - `cvv` string — CVV associated with associated payment source, if any.
        - `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' — 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.
              - …
      - `networkTransactionId` string — Network transaction id provided by the card network. Applicable only for cards.
      - `tmcGatewayInfo` TmcGatewayInfo — Tmc Gateway related info.
        - `tmcId` CompanyId — Company ID
          - `id` string, uuid, required
        - `gatewayType` 'STRIPE' | 'BREX' | 'RAZORPAY' — Third party payment gateway used to process the payment
        - `gatewayId` string — GatewayId for related gatewayInfo.
  - `transactions` Transaction[]
    - `paymentReqId` string — payment request id
    - `paymentReference` string — Reference number for original payment made for this service
    - `ctc` PaymentData[]
      - `isRefunded` boolean — If the relevant amount was refunded.
      - `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' — 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.
              - …
      - `fop` FormOfPayment — Information about form of payment to be used to charge customer
        - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
        - `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
              - …
          - `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
              - …
            - object
              - …
          - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL' — Ownership label of the card whether it is personal, corporate or central.
        - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
        - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
          - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE', required — Identifies the different ways the card can be used across an organization
          - `entityIds` string[], required — Holds the ids for for all users who can access the card or organization id
          - `entities` CardAccessEntity[] — A list of cardAccessEntity consisting of central card access level if present and entity id.
            - `entityId` string, required — Holds the id for for the user who can access the card or organization id or legal entity
            - `centralCardAccessLevel` 'UNKNOWN' | 'ORGANIZATION' | 'LEGAL_ENTITY' | 'TMC' — Identifies at which level central card is applicable, for example organization or legal entity.
        - `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' — Payment method
        - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
          - `customPaymentMethodMetadata` object — Metadata related to custom payment method
            - `brexBudgetMetadata` object — Metadata for Brex Budget
              - …
            - `noPrepaymentMetadata` NoPrepaymentMetadata — Metadata for No Prepayment payment source (car bookings on no-guarantee rates).
              - …
          - `vendorProgramPaymentMetadata` union — Metadata related to vendor program payment method
            - object — Wrapper for DirectBilling metadata
              - …
            - object — Wrapper for UAPassPlus response metadata
              - …
          - `virtualCardMetadata` VirtualCardPaymentMetadata — Metadata for Virtual Card.
            - `vendorInfo` VirtualCardVendorInfo, required — Virtual card related information like vendor, cardId, card-pool id of vendor etc.
              - …
            - `cardInfo` VirtualCardInfo — Virtual card information like maximum deployment amount, valid date range.
              - …
            - `paymentInstructionId` string — Payment instruction id set during addition of virtual card payment source
            - `shouldReveal` boolean — Identifier for when to reveal virtual cards as they are revealed to travellers only 24hrs before check-in.
          - `cardMetadata` CardMetadata2 — Metadata for Card payment source.
            - `card` Card — User card info
              - …
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `isLodgeCard` boolean — Whether the payment is made using a lodge card
            - `bta` string — Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards.
        - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
      - `isGuarantee` boolean — If the booking can be reserved now and paid later on site.
      - `transactionStatus` 'ISSUED' | 'DELAYED_INVOICE' | 'FAILED' | 'CHARGED' | 'REFUNDED' | 'FORFEITED' | 'BILLED_TO_COMPANY' | 'NO_CHARGE' | 'GUARANTEE' | 'TO_BE_CHARGED' | 'SUCCESS' | 'MANUAL' | 'WAIVED_OFF' | 'TO_BE_ISSUED' | 'APPLIED' | 'NOT_APPLICABLE' — Transaction status for service fee transaction.
      - `balanceDue` 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' — 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.
              - …
    - `itemGroups` ItemGroup[]
      - `transactionType` 'TRIP_SERVICE_FEE' | 'AIR_TICKET_ISSUED' | 'AIR_TICKET_VOIDED' | 'AIR_TICKET_REFUNDED' | 'AIR_TICKET_EXCHANGED' | 'AIR_TICKET_UNDETERMINED' | 'HOTEL_BOOKED' | 'HOTEL_MODIFIED' | 'HOTEL_CANCELLED' | 'CAR_BOOKED' | 'CAR_CANCELLED' | 'RAIL_BOOKED' | 'RAIL_REFUNDED' | 'RAIL_EXCHANGED' | 'RAIL_CANCELLED' | 'LIMO_BOOKED' | 'LIMO_CANCELLED' | 'MISC_BOOKED' | 'MISC_CANCELLED' | 'FLIGHT_CREDIT_ISSUED' | 'TMC_FEE' | 'CHANGE_FEE' | 'MCO_ISSUED' | 'EMD_TICKET' | 'HOTEL_ANCILLARY_BOOKED' | 'HOTEL_ANCILLARY_CANCELLED' — type of the transaction
      - `userId` UserId — User identifier
        - `id` string, uuid, required
      - `confirmationNumber` string
      - `incompleteTransactionReasons` IncompleteTransactionReason[] — Reasons the underlying booking is incomplete (e.g. SYS_TICKET). Explains why paymentDetails / amounts on the transaction may be empty.
      - `transactionDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
        - `iso8601` string, required
      - `transactionAmountDiff` 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' — 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' — 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
      - `transactionFeesDiff` 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' — 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.
              - …
      - `totalAmountDiff` 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' — 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' — 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
      - `penaltyDiff` 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' — 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.
              - …
      - `transactionAmount` 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' — 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' — 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
      - `transactionFees` 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' — 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.
              - …
      - `totalAmount` 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' — 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' — 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
      - `totalPnrAmount` 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' — 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.
              - …
      - `penalty` 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' — 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.
              - …
      - `originalTicketNumber` string — Original ticket number if this is an exchanged ticket
      - `invoiceData` ItemGroupInvoiceData — Data related to invoice is kept in this object for an item group
        - `invoiceNumber` string — The invoice number for an invoice
        - `buyer` BuyerInfo — Buyer of items mentioned in the invoice.
          - `name` string, required — Name of buyer, usually a traveler.
          - `address` string, required — Address of buyer. Could be office, legal entity or org address.
          - `taxId` string — Tax number for the seller, for ex GSTN in India
          - `idInfo` IdInfo[] — The seller ID information.
            - `idType` 'TAX_ID' | 'VAT_ID' | 'VAT_REG_NO' | 'GST_NO' | 'ABN' | 'GSTIN' | 'SIRET' | 'BUSINESS_REG_NO' | 'UID' | 'CVR_NO' | 'EIN', required — The type of Id.
            - `value` string, required — Value of the Id.
        - `seller` SellerInfo — Entity that sold the items mentioned in the invoice.
          - `name` string, required — Name of seller, usually a TMC Legal Entity.
          - `address` string, required — Address of seller.
          - `taxId` string — Tax number for the seller, for ex GSTN in India
          - `idInfo` IdInfo[] — The seller ID information.
            - `idType` 'TAX_ID' | 'VAT_ID' | 'VAT_REG_NO' | 'GST_NO' | 'ABN' | 'GSTIN' | 'SIRET' | 'BUSINESS_REG_NO' | 'UID' | 'CVR_NO' | 'EIN', required — The type of Id.
            - `value` string, required — Value of the Id.
        - `documentType` 'INVOICE' | 'RECEIPT' — Type of document generated for an invoice.
      - `items` TransactionItem[]
        - union — Items for the given item group.
          - object — This describes the details for an airItem related to a particular itemGroup.
            - `itemType` string, required
            - `airItemType` 'FLIGHT' | 'ANCILLARY' — type of air item
            - `flights` AirFlight[]
              - …
            - `ancillaryTypes` TransactionAncillaryType[]
            - `oldFlights` AirFlight[]
              - …
          - object — This describes the railItem related to a particular itemGroup.
            - `itemType` string, required
            - `legInfos` LegInfoRail[]
              - …
            - `ancillaries` RailAncillary[]
              - …
          - object — This describes the carItem related to a particular itemGroup.
            - `itemType` string, required
            - `pickUpDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `dropOffDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `pickUpLocation` CarLocation — Pickup and drop-off location info.
              - …
            - `dropOffLocation` CarLocation — Pickup and drop-off location info.
              - …
            - `carSpec` CarSpec — Car spec.
              - …
            - `carDailyAverageRate` CarDailyRate — Contains daily rate for the relevant car.
              - …
            - `dailyRates` CarDailyRate[] — Daily rates for rental car in the date range.
              - …
          - object — This describes the hotelItem related to a particular itemGroup.
            - `itemType` string, required
            - `checkInDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `checkoutDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `isPrepaid` boolean — If the booking is prepaid
            - `prepaidAmount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `postpaidAmount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `averageNightlyRate` HotelNightlyRate — Contains nightly rate for the relevant hotel.
              - …
            - `nightlyRates` HotelNightlyRate[] — Rates for all nights in stay date range.
              - …
            - `hotelData` HotelData — Hotel specific details.
              - …
            - `rateType` 'PUBLISHED' | 'CORPORATE' | 'SPOTNANA' | 'REGULAR' | 'AAA' | 'AARP' | 'SENIOR_CITIZEN' | 'GOVERNMENT' | 'MILITARY' | 'MEMBERSHIP' | 'BEST_AVAILABLE_RATE' | 'TMC'
            - `ancillaryCategory` 'ANCILLARY_UNKNOWN' | 'EARLY_CHECKIN' | 'LATE_CHECKOUT' | 'WIFI' | 'BREAKFAST' | 'PARKING' | 'PETS' | 'MEAL_PLAN' | 'OTHER' — Category of the hotel ancillary (only set for ancillary transactions).
            - `ancillaryDisplayName` string — Display name of the ancillary (only set for ancillary transactions).
          - object — This describes the limoItem related to a particular itemGroup.
            - `itemType` string, required
            - `pickupDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `dropOffDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `pickupLocation` CarLocation — Pickup and drop-off location info.
              - …
            - `dropOffLocation` CarLocation — Pickup and drop-off location info.
              - …
            - `limoType` 'STANDARD_CAR' | 'EXECUTIVE_CAR' | 'BUSINESS_VAN' | 'FIRST_CLASS' | 'SUV' | 'SEDAN' | 'EXECUTIVE_SEDAN' | 'LUXURY_SEDAN' | 'EXECUTIVE_VAN' | 'BUSINESS_SEDAN' — Limo type.
          - object — This describes the tmc fee item related to a particular itemGroup.
            - `itemType` string, required
            - `feeInfo` union
              - …
            - `visibleToTraveler` boolean — If the tmc fee is visible to traveler
          - object — This describes the Miscellaneous Item related to a particular itemGroup.
            - `itemType` string, required
            - `description` string
            - `startDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
      - `transactionFares` TransactionFare[] — Deprecated: will be removed in transactions v3. Use transactionFareDetails instead.
        - `transactionFareType` 'BASE_AMOUNT' | 'OTHER_FEE_AND_TAXES' | 'PENALTY' | 'OB_FEES' | 'DESTINATION_FEES' | 'TOTAL' | 'VAT' | 'DROP_OFF_CHARGE' | 'HST' | 'QST' | 'GST' | 'CHARGE_BASE' | 'CHARGE_TOTAL' | 'SUB_TOTAL' | 'OB_FEES_GST' | 'FORFEITED_AMOUNT' | 'PENALTY_GST' | 'PENALTY_QST' | 'PENALTY_HST' — type of the fare in this transaction.
        - `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' — 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.
              - …
        - `amountList` Money[]
          - `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' — 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.
              - …
      - `previousTransactionFares` TransactionFare[] — Deprecated: will be removed in transactions v3. Use previousTransactionFareDetails instead.
        - `transactionFareType` 'BASE_AMOUNT' | 'OTHER_FEE_AND_TAXES' | 'PENALTY' | 'OB_FEES' | 'DESTINATION_FEES' | 'TOTAL' | 'VAT' | 'DROP_OFF_CHARGE' | 'HST' | 'QST' | 'GST' | 'CHARGE_BASE' | 'CHARGE_TOTAL' | 'SUB_TOTAL' | 'OB_FEES_GST' | 'FORFEITED_AMOUNT' | 'PENALTY_GST' | 'PENALTY_QST' | 'PENALTY_HST' — type of the fare in this transaction.
        - `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' — 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.
              - …
        - `amountList` Money[]
          - `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' — 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.
              - …
      - `transactionFareDetails` TransactionFareDetail[] — Detailed fare information for email display.
        - `chargeCode` 'BASE' | 'SUBTOTAL' | 'CHANGE_FEE_CHARGE' | 'AIRLINE_FEES_CHARGE' | 'DESTINATION_FEES_CHARGE' | 'TOTAL_DELTA' | 'TOTAL_CHARGE' | 'CANCEL_FEE_CHARGE' | 'PREVIOUS_TOTAL_CHARGE' | 'MISCELLANEOUS_CHARGE' | 'PREPAID_FEE' | 'POSTPAID_FEE' — Charge code for transaction fare detail, used for email display ordering.
        - `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' — 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.
              - …
        - `chargeName` string — Display name for the charge.
        - `isInformational` boolean — Whether this is informational only (e.g., subtotal - derived value with no standalone identity).
        - `taxDefinitions` TaxDefinitionCharge[] — Tax definitions associated with this fare.
          - `taxShortName` string — Short name of the tax (e.g., "Other fees").
          - `taxCode` string — Tax code identifier.
          - `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.
              - …
          - `sortPriority` integer — Sort priority for display ordering within taxes.
        - `additionalAmounts` Money[] — Additional amounts for multi-currency scenarios (e.g., USD + Flight Pass).
          - `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' — 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.
              - …
- … truncated; see the full OpenAPI document linked below

## Response `201`

Created

- EntityNonUUIDId — Identifier of a non uuid object
  - `id` string

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/spotnana/apis/trip-api.md) · [All operations](https://skmtc.net/spotnana/apis/trip-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/trip-api/versions/95d2773f6a09/schema)
