# List approval data for an approver

Retrieves the list of approval data associated with an approver.

Endpoint: POST /v3/approvals/approvers/{userId}/list
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Path parameters:

  - `userId` (string, required)
    Identifier for the approver whose approval data is requested.

## Request fields (application/json):

  - `paginationRequestParams` (object)
    Pagination parameters for requests.

  - `paginationRequestParams.offset` (integer)
    The starting index in the list from which results are returned. The value must be greater than or equal to 0.

  - `paginationRequestParams.limit` (integer)
    Maximum number of results to be fetched.

  - `includePnrSummaries` (boolean)
    Boolean flag to include PNR summaries in the response
    Example: true

  - `approvalFilters` (array)
    Filter for the approval data list request.

  - `approvalFilters.filterType` (string, required)
    Enum: "APPROVAL_STATUS_FILTER", "APPROVER_USER_ID_FILTER", "APPROVAL_TYPE_FILTER", "APPROVAL_DEADLINE_DATE_RANGE_FILTER", "PRIMARY_TRAVELER_ID_FILTER", "PNR_TYPE_FILTER", "OUT_OF_POLICY_FILTER", "TRIP_ID_FILTER"

  - `approvalFilters.approvalStatuses` (array, required)
    Approval Status list

  - `approvalFilters.userIds` (array, required)
    List of user IDs

  - `approvalFilters.userIds.id` (string, required)

  - `approvalFilters.approvalTypes` (array, required)
    Approval Types

  - `approvalFilters.startDate` (object)
    Date in ISO 8601 standard.

  - `approvalFilters.startDate.iso8601` (string, required)
    Example: 2017-07-21

  - `approvalFilters.primaryTravelerIds` (array, required)
    Primary traveler's user ID list

  - `approvalFilters.pnrTypes` (array, required)
    PNR type list

  - `approvalFilters.outOfPolicy` (boolean, required)
    Out of policy indicator
    Example: true

  - `approvalFilters.tripIds` (array, required)
    Trip ID list

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `paginationResponseParams` (object, required)
    Pagination parameters for response.

  - `paginationResponseParams.totalNumResults` (integer, required)
    Total number of results.

  - `approvalDataList` (array)
    List of Approval Data

  - `approvalDataList.approvalId` (string)
    Unique ID to identify approval data
    Example: f49d00fe-1eda-4304-ba79-a980f565281d

  - `approvalDataList.pnrId` (string)
    PNR ID
    Example: 1234567890

  - `approvalDataList.tripId` (string)
    Trip ID
    Example: 1234567890

  - `approvalDataList.approvalVoidDeadline` (object)
    ISO8601 UTC Date Time

  - `approvalDataList.approvalVoidDeadline.iso8601` (string, required)
    Example: 2017-07-21T17:32Z

  - `approvalDataList.approvalStatus` (string)
    Approval Status
    Enum: "APPROVAL_PENDING", "APPROVED", "DENIED", "AUTO_APPROVED", "AUTO_DENIED"

  - `approvalDataList.companyId` (object)
    Company ID

  - `approvalDataList.companyId.id` (string, required)
    Example: f49d00fe-1eda-4304-ba79-a980f565281d

  - `approvalDataList.outOfPolicy` (boolean)
    Out of policy indicator
    Example: true

  - `approvalDataList.pnrType` (string)
    Type of PNR
    Enum: "AIR", "CAR", "RAIL", "HOTEL", "LIMO", "MISC"

  - `approvalDataList.approvalType` (string)
    Type of APPROVAL
    Enum: "HARD_APPROVAL", "SOFT_APPROVAL", "PASSIVE_APPROVAL", "PRE_APPROVAL"

  - `approvalDataList.approversUserIds` (array)
    User IDs of assigned approvers

  - `approvalDataList.approversUserIds.id` (string, required)

  - `approvalDataList.legalEntityId` (object)
    The ID of the legal entity.

  - `approvalDataList.legalEntityId.id` (string, required)
    Example: fc1ccbce-8413-4fe9-b233-a324dfbe7421

  - `approvalDataList.pnrVersion` (integer)
    Version number associated with the PNR when approval raised

  - `approvalDataList.pnrSummary` (object)
    Basic PNR info

  - `approvalDataList.pnrSummary.pnrId` (string, required)
    Spotnana PNR Id
    Example: 1234567890

  - `approvalDataList.pnrSummary.sourcePnrId` (string)
    Source PNR Id
    Example: QWERGF

  - `approvalDataList.pnrSummary.pnrStatus` (string)
    Status of PNR
    Enum: "UNKNOWN", "INITIATED", "CANCELLED", "CONFIRMED", "GROUP_BOOKING_ON_REQUEST", "WAITLISTED", "PENDING", "AIRLINE_UPGRADE", "WAITLIST_CONFIRMED", "BOOKING_DENIED_CONTACT_SUPPORT", "NO_SHOW", "CONTACT_SUPPORT", "STATUS_CHANGED_CONTACT_SUPPORT", "SCHEDULE_CHANGE", "SEGMENT_REQUEST", "SCHEDULE_CHANGE_WAITLISTED_BOOKING", "REQUEST_PENDING", "WAITLISTED_NOT_CONFIRMED", "SCHEDULE_CHANGE_NOT_CONFIRMED", "SCHEDULE_CHANGE_PENDING_STATUS", "MIS_CONNECTION", "REQUESTED", "TICKETED", "VOIDED", "CANCELLED_BY_VENDOR", "CANCELLATION_IN_PROGRESS", "REINSTATED", "BOOKING_ON_HOLD", "AIRLINE_CONTROL", "MODIFIED", "PAYMENT_DECLINED", "INOPERATIVE", "UNCONFIRMED"

  - `approvalDataList.pnrSummary.pnrSummary` (object)
    Approval filter

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary` (object)
    Summary of Air PNR

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos` (array)

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.legStatus` (string)
    User facing booking status
    Enum: "UNKNOWN_STATUS", "PENDING_STATUS", "CONFIRMED_STATUS", "ACTIVE_STATUS", "COMPLETED_STATUS", "CANCELLED_STATUS", "REFUNDED_STATUS", "VOIDED_STATUS", "PROCESSING_STATUS", "UNCONFIRMED_STATUS", "AIRLINE_CONTROL_STATUS", "PAYMENT_DECLINED_STATUS", "SCHEDULE_CHANGE_STATUS", "HOLD_STATUS", "APPROVAL_REQUESTED_STATUS", "APPROVAL_DENIED_STATUS", "CANCELLATION_IN_PROGRESS_STATUS", "INOPERATIVE_STATUS", "FLIGHT_UNCONFIRMED_STATUS"

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights` (array)

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.origin` (string)
    3 letter IATA airport code for origin
    Example: SFO

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.destination` (string)
    3 letter IATA airport code for destination
    Example: LHR

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.departureDateTime` (object)
    Local date and time in ISO 8601 format.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.departureGate` (object)
    Flight boarding / arrival gate

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.marketing` (object)
    Flight number and airline code.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.operatingAirlineName` (string)
    Free text operating airline name that has to be displayed to the user if present
    Example: SKYWEST DBA UNITED EXPRESS

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.legInfos.flights.cabin` (string)
    Flight cabin
    Enum: "UNKNOWN_CABIN", "ECONOMY", "PREMIUM_ECONOMY", "BUSINESS", "FIRST"

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount` (object)
    Money object containing details such as the amount, the currency code, and the converted amount.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.amount` (number, required)
    The numeric value for the amount of money.
    Example: 510

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.currencyCode` (string, required)
    The 3-letter currency code for the money amount (defined using ISO 4217 standard).
    Example: GBP

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.convertedAmount` (number)
    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).
    Example: 715.42

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.convertedCurrency` (string)
    The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
    Example: USD

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.otherCoinage` (array)
    List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.otherCoinage.coinageCode` (string)
    Payment method
    Enum: "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"

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.otherCoinage.amount` (number)
    Example: 1000

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.otherCoinage.conversionRate` (number)
    1 coin in this system equals to how many currency value
    Example: 0.01

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.otherCoinage.preferredCurrencyConversionRate` (number)
    1 coin in this system equals to how many currency value
    Example: 0.01

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.totalAmount.otherCoinage.otherCoinageMetadata` (any)
    Metadata to store additional information related to the payment method

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary` (object)
    A list of itineraries with detailed flight information and prices for each.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.searchId` (string, required)
    The unique ID for this search response. This value must be passed on in the subsequent booking API calls.
    Example: ChBjZDg3ZjRjZmRmMTFmMWFiEhBjZDg3Z

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails` (object, required)
    Describes the detailed itinerary information provided in the search response.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries` (array)

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.itineraryId` (string, required)
    The unique ID for this itinerary.
    Example: kjdUjak8hX

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.legs` (array, required)

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.travelers` (array, required)

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.fareInfo` (object, required)
    The detailed information about the fare (including tax and merchant fee details).

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.ticketType` (string, required)
    The ticket issuance type for a given itinerary, whether single or multiple
    Enum: "SINGLE", "MULTI"

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.policyInfos` (object)
    Policy Info applicable for the associated itinerary

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.posInfo` (array)
    The point of sales which offer the itinerary.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.publicFare` (object)
    Fare amount including base fare and tax.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.allowedFopRules` (array)
    The payment method types applicable to the itinerary.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.itineraries.fareAttributes` (object)
    The rules and attributes related to the fare.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData` (array)
    The set of flights and their details that are contained in this response.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.flightRef` (string)
    Unique ID for this flight in the response.
    Example: flight_3

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.origin` (object, required)
    Detailed information about the airport.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.departureGate` (object)
    Information about the flight's departure / arrival gates and terminals.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.operationalDisclosure` (string)
    Operating airline name that has to be displayed to the user
    Example: SKYWEST DBA UNITED EXPRESS

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.hiddenStops` (array)
    Any stops for refueling or boarding additional passengers.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.duration` (object)
    Represents a duration of time with specific units of time.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.itineraryDetails.flightData.equipment` (object)
    The type of the aircraft equipment

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.paginationParams` (object)
    Pagination parameters for response.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.paginationParams.numResults` (integer, required)
    Total number of results in the paginated list.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.paginationParams.numPages` (integer, required)
    Total number of pages in the paginated list.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata` (object)
    Metadata associated with the air search response.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.airlineInfo` (array)
    Metadata for all airlines available in the specific route.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.airlineInfo.airlineCode` (string, required)
    IATA code for airline.
    Example: AA

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.airlineInfo.airlineName` (string)
    Airline name
    Example: American Airlines

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.applicableAlliances` (array)
    Alliances which are applicable based on the airlines info

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.legBylegPricing` (boolean)
    Flag indicating whether itineraries are priced on a leg-by-leg basis (instead of the overall itinerary
pricing, which is the default).

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.enableFareCategories` (array)
    Fare categories that need to be used for the given air search

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.enableFareCategories.ngsCategory` (string)
    Enum: "UNKNOWN_NGS_CATEGORY", "BASE", "STANDARD", "ENHANCED", "PREMIUM", "LUXURY", "ULTRA_LUXURY"

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.enableFareCategories.cabinViewCategory` (string)
    Enum: "UNKNOWN_CABIN_CATEGORY", "BASIC", "ECONOMY", "PREMIUM_ECONOMY", "ECONOMY_PLUS", "BUSINESS", "FIRST"

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.isExpressSearch` (boolean)
    Flag indicating whether the search was performed as an express search.

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.metadata.availableConnectingAirports` (array)
    List of connecting airports (layover locations) available in the search results.
Sorted by: 1) number of results (descending), 2) alphabetically (ascending).

  - `approvalDataList.pnrSummary.pnrSummary.airPnrSummary.llfItinerary.waiverApplicabilityType` (string)
    Type of waiver applicable to an exchange:
- WAIVER_APPLICABILITY_UNKNOWN: No waiver is applicable.
- AIRLINE_DISRUPTION_WAIVER: Airline-issued disruption waiver is applicable.
    Enum: "WAIVER_APPLICABILITY_UNKNOWN", "AIRLINE_DISRUPTION_WAIVER"

  - `approvalDataList.pnrSummary.pnrSummary.railPnrSummary` (object)
    Summary of Rail PNR

  - `approvalDataList.pnrSummary.pnrSummary.railPnrSummary.journeys` (array)

  - `approvalDataList.pnrSummary.pnrSummary.railPnrSummary.journeys.origin` (string, required)
    Example: London

  - `approvalDataList.pnrSummary.pnrSummary.railPnrSummary.journeys.destination` (string, required)
    Example: London

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary` (object)
    Summary of Hotel PNR

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.name` (string)
    Name of hotel
    Example: Marriot

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.city` (string)
    Name of city
    Example: Bangalore

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address` (object)
    Postal Address Details

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.addressLines` (array, required)
    Address lines

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.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.
    Example: CA

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.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.
    Example: California

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.description` (string)
    Address description
    Example: San Francisco Home

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.isDefault` (boolean)
    Whether this address is default address in case multiple addresses are specified.
    Example: true

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.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".
    Example: en

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.locality` (string)
    Generally refers to the city/town portion of the address.
    Example: San Francisco

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.locationCode` (string)
    IATA 3-letter location code. See https://www.iata.org/en/services/codes.
    Example: LAX

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.organization` (string)
    The name of the organization at the address.
    Example: Spotnana

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.postalCode` (string)
    Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
    Example: 94130

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.continentCode` (string)
    2 letter continent code of the continent this address falls in.
    Example: AF

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.recipients` (array)
    The recipient at the address.

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.regionCode` (string, required)
    Region code of the country/region of the address.
    Example: US

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.regionName` (string)
    Region name of the country/region of the address.
    Example: America

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.revision` (integer)
    Example: 1

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.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).
    Example: Jamaica

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.sublocality` (string)
    Sublocality of the address. This can be neighborhoods, boroughs, districts.

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.timezone` (string)
    Time zone of the address.
    Example: America/Los_Angeles

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.coordinates` (object)
    Latitude and Longitude for a Location

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.coordinates.latitude` (number, required)
    Latitude of the Location
    Example: 77.1025

  - `approvalDataList.pnrSummary.pnrSummary.hotelPnrSummary.address.coordinates.longitude` (number, required)
    Longitude of the Location
    Example: 28.7041

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary` (object)
    Summary of Car PNR

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vehicleName` (string)
    Name of vehicle
    Example: mercedez

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor` (object)
    Car vendor.

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.code` (string, required)
    Vendor code.
    Example: ZE

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.name` (string, required)
    Vendor name.
    Example: HERTZ

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.email` (string)
    Vendor email.
    Example: abc@xyz.com

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone` (object)
    Properly formatted phone number.

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.countryCode` (integer)
    two digit country code
    Example: 91

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.countryCodeSource` (string)
    Enum: "UNSPECIFIED", "FROM_NUMBER_WITH_PLUS_SIGN", "FROM_NUMBER_WITH_IDD", "FROM_NUMBER_WITHOUT_PLUS_SIGN", "FROM_DEFAULT_COUNTRY"

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.extension` (string)
    phone number extension
    Example: 222

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.isoCountryCode` (string)
    ISO alpha-2 code
    Example: IN

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.italianLeadingZero` (boolean)
    Example: true

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.nationalNumber` (integer)
    Example: 8150

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.numberOfLeadingZeros` (integer)
    Example: 1

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.preferredDomesticCarrierCode` (string)
    Example: 7

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.rawInput` (string)
    Example: 77777

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.vendor.phone.type` (string)
    Enum: "UNKNOWN_TYPE", "MOBILE", "LANDLINE"

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation` (object)
    Pickup and drop-off location info.

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.counterLocation` (string)
    Rental car counter location.
    Enum: "UNKNOWN_COUNTER", "NON_AIRPORT_LOCATION", "IN_TERMINAL", "OFF_AIRPORT_RENTAL_SHUTTLE", "IN_TERMINAL_RENTAL_SHUTTLE", "ON_AIRPORT_RENTAL_SHUTTLE", "ON_AIRPORT_AIRPORT_SHUTTLE", "CALL_FOR_SHUTTLE", "TWO_SHUTTLES_AIRPORT_AND_RENTAL"

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.contactInfo` (object)
    Contact info of the location

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.contactInfo.phone` (array)

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.contactInfo.fax` (array)

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.contactInfo.email` (array)

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.operatingSchedule` (object)
    Operating schedule of vendor

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.operatingSchedule.interval` (array, required)
    Operating schedule interval

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.weeklyOperatingSchedule` (array)
    Weekly operating schedule of vendor

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.weeklyOperatingSchedule.interval` (array, required)
    Operating schedule intervals

  - `approvalDataList.pnrSummary.pnrSummary.carPnrSummary.pickupLocation.weeklyOperatingSchedule.dayOfWeek` (string)
    Day of the week for which operating schedule is valid
    Example: SUN

  - `approvalDataList.pnrSummary.pnrSummary.limoPnrSummary` (object)
    Summary of Limo PNR

  - `approvalDataList.pnrSummary.pnrSummary.limoPnrSummary.vehicleName` (string)
    Name of vehicle
    Example: mercedez

  - `approvalDataList.pnrSummary.pnrSummary.limoPnrSummary.legs` (array)

  - `approvalDataList.pnrSummary.pnrSummary.miscPnrSummary` (object)
    Summary of Misc PNR

  - `approvalDataList.pnrSummary.pnrSummary.miscPnrSummary.description` (string, required)
    Description of the segment
    Example: MiscellaneousPnr

  - `approvalDataList.pnrSummary.pnrSummary.miscPnrSummary.sortingPriority` (integer)
    Sorting priority of the segment
    Example: 1

  - `approvalDataList.pnrSummary.tmcInfo` (object)
    TMC config information.

  - `approvalDataList.pnrSummary.tmcInfo.primaryServiceProviderTmc` (object, required)
    Primary service provider TMC info

  - `approvalDataList.pnrSummary.tmcInfo.secondaryServiceProviderTmcs` (array)
    Secondary service provider TMCs for the TMC.

  - `approvalDataList.pnrSummary.tmcInfo.secondaryServiceProviderTmcs.supplier` (string, required)
    Supplier type like Sabre, TravelFusion etc.
    Enum: "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", "HILTON", "NATIONAL", "ALAMO", "HERTZ", "DOLLAR", "THRIFTY", "FIREFLY", "EUROSTAR", "AVIS", "BUDGET", "AMADEUS_NDC", "SIXT"

  - `approvalDataList.pnrSummary.tmcInfo.secondaryServiceProviderTmcs.travelType` (string, required)
    Travel Type
    Enum: "AIR", "HOTEL", "CAR", "RAIL", "LIMO", "MISC", "ALL"

  - `approvalDataList.pnrSummary.source` (string)
    Enum: "UNKNOWN_SOURCE", "SABRE", "TRAVEL_FUSION", "AVIA", "NDC", "TRAINLINE", "ATPCO_NDC", "FARELOGIX_NDC", "OFFLINE", "CONNEXUS", "ROUTEHAPPY", "AMADEUS", "GIATA", "QBR", "BCD", "QANTAS_HOTELS", "SOUTHWEST", "EXPEDIA", "HOTEL_HUB", "MARRIOTT", "CLEARTRIP", "KYTE", "GROUNDSPAN", "SABRE_NDC", "BOOKING_COM", "CARTRAWLER", "PREMIER_INN", "TRAVELODGE", "ENTERPRISE", "HYATT", "HILTON", "EUROSTAR", "NATIONAL", "ALAMO", "AVIS", "BUDGET", "HERTZ", "DOLLAR", "THRIFTY", "FIREFLY", "AMADEUS_NDC", "SIXT"

  - `approvalDataList.pnrSummary.travelers` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo` (object)
    Traveler personal information.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos.appliedTo` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos.id` (string, required)
    Example: firstId

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos.issuedBy` (string, required)
    Example: firstIssuedBy

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos.type` (string, required)
    Enum: "UNKNOWN_TYPE", "AIR", "HOTEL", "CAR", "RAIL"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos.linked` (boolean)
    Indicates if this loyalty account is linked to the external provider. Only applicable for certain loyalty types.
    Example: false

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.loyaltyInfos.tier` (string)
    Loyalty membership tier name echoed from the supplier.
    Example: GOLD

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref` (object)
    Travel preferences.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref` (object)
    Travel preferences related to air travel.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.airlinePrefs` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.airlinePrefs.airlines` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.airlinePrefs.flightType` (string)
    Enum: "UNKNOWN_FLIGHT_TYPE", "DOMESTIC", "INTERNATIONAL", "ALL"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.alliancePref` (object)
    Alliance preferences.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.alliancePref.alliances` (array, required)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.farePref` (object)
    Fare preferences.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.farePref.fareTypes` (array, required)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.homeAirport` (string)
    Example: NEW YORK

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.mealPref` (object)
    Meal preferences.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.mealPref.exclMealPrefs` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.mealPref.inclMealPrefs` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.mealPref.specialMealDescription` (string)
    Example: Veg only meal

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.numStopPref` (object)
    Preferred number of stops.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.numStopPref.numOfStops` (integer, required)
    Example: 34

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatAmenityPref` (object)
    Seat amenity preference.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatAmenityPref.seatAmenityTypes` (array, required)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatLocationPrefs` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatLocationPrefs.cabins` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatLocationPrefs.isBulkHeadPref` (boolean)
    Example: false

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatLocationPrefs.maxFlightDurationInHours` (integer)
    Example: 3

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.seatLocationPrefs.position` (string)
    Enum: "UNKNOWN_POSITION", "AISLE", "WINDOW", "AISLE_OR_WINDOW"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.preferredAirports` (array)
    A list of user preferred airports.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.preferredAirports.airportName` (string)
    Airport name.
    Example: San Francisco International Airport

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.preferredAirports.airportCode` (string, required)
    IATA airport code.
    Example: SFO

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.airPref.preferredAirports.label` (string, required)
    The label of preferred airport or rail station.
    Enum: "HOME", "WORK", "OTHER"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.preferredCurrency` (string)
    Example: USD

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards.cardNumber` (string)
    Number of card

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards.expiryDate` (object)
    Date in ISO 8601 standard.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards.expiryDate.iso8601` (string, required)
    Example: 2017-07-21

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards.name` (string, required)
    Name of the Rail Card.
    Example: Veterans Railcard

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards.spotnanaCode` (string, required)
    Unique Spotnana code/identifier for Rail Card.
    Example: VET

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railCards.vendor` (string, required)
    Vendor Name.
    Example: ATOC

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref` (object)
    Travel preferences related to rail station.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.preferredRailStations` (array)
    A list of user preferred rail stations.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.preferredRailStations.stationName` (string)
    Rail station name.
    Example: Chicago Union Station

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.preferredRailStations.stationCode` (string, required)
    Rail station code.
    Example: CHI

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.preferredRailStations.cityName` (string)
    Name of city where the rail station is located.
    Example: Chicago

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.preferredRailStations.countryCode` (string)
    Alpha-2 country code where the rail station is located.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference` (object)
    Preference about seat of rail.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.hasAccessibility` (boolean)
    Whether or not requires assistance for disability.
    Example: false

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.seatTypes` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.seatLocations` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.deckLevels` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.seatDirections` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.travelClasses` (array)
    A list of class of service for rail.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.coachPreferences` (array)
    A list of coach preference for rail.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.railPref.conditionalRates` (array)
    A list of conditional rates for rail.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref` (object)
    Travel preferences related to car.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.vendors` (array)
    A list of car vendors.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.vendors.code` (string, required)
    Vendor code
    Example: ZE

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.vendors.name` (string, required)
    Vendor name
    Example: HERTZ

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.vendors.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.
    Example: true

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.carTypes` (array)
    A list of types of car.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.engineTypes` (array)
    A list of types of engine.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.transmissionTypes` (array)
    A list of types of transmission.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.carPref.conditionalRates` (array)
    A list of conditional rates for rail.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref` (object)
    Travel preferences related to hotel.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelParentChains` (array)
    A list of hotel parent chains.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelParentChains.chainCode` (string)
    The code of hotel chain.
    Example: EM

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelParentChains.chainName` (string)
    The name of hotel chain.
    Example: Mariott

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelBrands` (array)
    A list of hotel brands.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelBrands.brandCode` (string)
    The code of hotel brand.
    Example: HY

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelBrands.brandName` (string)
    The name of hotel brand.
    Example: Global Hytt Corp.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelAmenityTypes` (array)
    A list of HotelAmenities.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference` (object)
    Room options and stay preference.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.isMobilityAccessible` (boolean)
    Whether or not mobility accessible room, tub.
    Example: false

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.bedCount` (string)
    The number of bed in the room.
    Enum: "ONE_BED", "TWO_BEDS"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.roomType` (string)
    Single selection of type of room.
    Enum: "SMOKING", "NON_SMOKING"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.mostImportantFact` (string)
    Single selection of the most import fact.
    Enum: "ROOM_TYPE", "BED_COUNT", "ROOM_LOCATION"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.roomLocation` (string)
    Location of the hotel room
    Enum: "HIGH_FLOOR", "LOW_FLOOR", "NEAR_ELEVATOR"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.pillowType` (string)
    The type of pillow in hotel room.
    Enum: "FOAM", "EXTRA_FOAM", "EXTRA_FEATHER"

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.roomAmenityPrefs` (array)

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.travelPref.hotelPref.conditionalRates` (array)
    A list of conditional rates for rail.

  - `approvalDataList.pnrSummary.travelers.travelerPersonalInfo.blockLoyalty` (boolean)
    If true, hides the loyalty program input on the checkout page for this traveler.
    Example: false

  - `approvalDataList.pnrSummary.travelers.user` (object)
    User details.

  - `approvalDataList.pnrSummary.travelers.user.addresses` (array)

  - `approvalDataList.pnrSummary.travelers.user.email` (string)
    Example: example@email.com

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo` (object)
    Emergency contact information.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.designation` (string)
    Example: MANAGER

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.email` (string, required)
    Example: emergency-contact@email.com

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name` (object)
    Full name containing first, middle, last (family) names, and suffix.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name.family1` (string, required)
    Last (family) name.
    Example: Gandas

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name.family2` (string)
    Example: FamilyTwo

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name.given` (string, required)
    First (given) name.
    Example: Vichitr

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name.middle` (string)
    Middle name.
    Example: Kumar

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name.suffix` (string)
    Suffix for name
    Enum: "NAME_SUFFIX_UNKNOWN", "SR", "JR", "MD", "PHD", "II", "III", "IV", "DO", "ATTY", "V", "VI", "ESQ", "DC", "DDS", "VM", "JD", "SECOND", "THIRD"

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.name.preferred` (string)
    Informal preferred name added by traveler. This is not used on any PNR or tickets
    Example: Don

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId` (object)
    User and user's organization information.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.organizationAgencyId` (object)
    Agency id for the organization.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.organizationAgencyId.id` (string, required)

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.organizationId` (object, required)
    Organization id for traveler.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.organizationId.id` (string, required)

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.tmcBasicInfo` (object)
    TMC related basic information.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.tmcBasicInfo.contractingTmc` (object, required)
    Basic information about a company.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.tmcBasicInfo.contractingTmc.name` (string)

  - `approvalDataList.pnrSummary.travelers.user.emergencyContactInfo.userOrgId.tmcBasicInfo.contractingTmc.logo` (object)
    An image with meta data. Either the `data` or `url` property must be supplied to load the image.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact` (object)
    Emergency contact information.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact.name` (string, required)
    Full name of contact.
    Example: John Smith

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact.email` (string)
    Email address of contact.
    Example: emergency-contact@email.com

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact.designation` (string)
    Job title of contact.
    Example: MANAGER

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact.relation` (string)
    Relation of contact to user.
    Enum: "RELATION_UNKNOWN", "SPOUSE", "PARENT", "SIBLING", "CHILD", "FRIEND", "RELATIVE", "COLLEAGUE", "OTHER"

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact.phoneNumbers` (array, required)
    Phone numbers of contact.

  - `approvalDataList.pnrSummary.travelers.user.emergencyContact.preferredLanguage` (string)
    Language preferred by user.
    Example: en-US

  - `approvalDataList.pnrSummary.travelers.user.gender` (string)
    Enum: "MALE", "FEMALE", "UNSPECIFIED", "UNDISCLOSED", "GENDER_REDACTED"

  - `approvalDataList.pnrSummary.travelers.user.identityDocs` (array)
    List of user identity documents.
    Example: [{"passport":{"docId":"PASSPORTID","expiryDate":{"iso8601":"2017-07-21"},"issueCountry":"IN","issuedDate":{"iso8601":"2017-07-21"},"nationalityCountry":"IN","type":"REGULAR"}},{"ktn":{"number":"123456…

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.passport` (object)
    Passport details.

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.passport.docId` (string, required)
    Example: PassportID

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.passport.issueCountry` (string, required)
    Example: IN

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.passport.nationalityCountry` (string, required)
    Example: IN

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.passport.type` (string)
    Enum: "UNKNOWN", "REGULAR"

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.immigrationDoc` (object)
    Immigration document details.

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.immigrationDoc.docId` (string, required)
    The ID of the immigration document.
    Example: ImmigrationDocumentID

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.immigrationDoc.issueCountry` (string, required)
    The country that issued the immigration document.
    Example: IN

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.immigrationDoc.nationalityCountry` (string)
    Example: IN

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.immigrationDoc.type` (string)
    Enum: "UNKNOWN", "VISA"

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.redress` (object)
    Redress details

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.redress.number` (string, required)
    Example: 12345

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.redress.issueCountry` (string, required)
    Example: US

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.ktn` (object)
    Information about the Known Traveler Number (KTN).

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.ktn.number` (string, required)
    Example: 12345

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.ktn.issueCountry` (string, required)
    Example: US

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.nationalDoc` (object)
    National Document Id details.

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.nationalDoc.docId` (string, required)
    Unique id identifying the national document.
    Example: NationalDocId

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.nationalDoc.issueCountry` (string, required)
    IS0 2 letter country code of the country issuing this id.
    Example: IN

  - `approvalDataList.pnrSummary.travelers.user.identityDocs.nationalDoc.type` (string)
    Enum: "DNI", "NIE", "CPF", "MTP", "CIN", "NID"

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos` (array)

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.applicableTo` (array)

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card` (object, required)
    User card info

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.id` (string)
    Unique identifier for this card
    Example: 34d536b6-f8ff-11eb-9a61-0242ac180002

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.type` (string)
    Type of card
    Enum: "UNKNOWN", "CREDIT", "DEBIT"

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.company` (string)
    The issuing company of card
    Enum: "NONE", "VISA", "MASTERCARD", "AMEX", "DISCOVER", "AIR_TRAVEL_UATP", "CARTE_BLANCHE", "DINERS_CLUB", "JCB", "BREX", "UNION_PAY", "EURO_CARD", "ACCESS_CARD", "ELO_CARD"

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.name` (string)
    Name on card
    Example: Harrison Schwartz

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.number` (string, required)
    Card number
    Example: 4111111111111111

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.expiryMonth` (integer)
    Expiry month
    Example: 1

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.expiryYear` (integer)
    Expiry year
    Example: 2010

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.cvv` (string)
    Card cvv number
    Example: 012

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.label` (string)
    Card Label
    Example: Label amex

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.currency` (string)
    Native currency of the card.
    Example: USD

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.externalId` (string)
    Spotnana partner card id.
    Example: bxt_RNGsNfzgJDaTstKIKqK4xEuhGYAnMdYK8T40

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.vaultId` (string)
    ID of the vault used for creating the card.
    Example: 34d536b6-f8ff-11eb-9a61-0242ac180002

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.expiry` (object)
    Contains the expiry of a Card.

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.card.ownershipLabel` (string)
    Ownership label of the card whether it is personal, corporate or central.
    Enum: "CORPORATE", "PERSONAL", "CENTRAL"

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.accessType` (string)
    Identifies the different ways the card can be used across an organization
    Enum: "UNKNOWN_TYPE", "CENTRALISED", "INDIVIDUAL", "PERSONAL", "TMC", "APPLICATION", "ITINERARY", "EVENTS", "TRAVEL_ARRANGER_MANAGED", "COMPANY_TRAVEL_ARRANGER_MANAGED", "EVENT_TEMPLATE"

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.access` (object)
    Access type for cards to check who in the organization has permission to use it

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.access.entityIds` (array, required)
    Holds the ids for for all users who can access the card or organization id

  - `approvalDataList.pnrSummary.travelers.user.paymentInfos.access.entities` (array)
    A list of cardAccessEntity consisting of central card access level if present and entity id.

  - `approvalDataList.pnrSummary.travelers.user.phoneNumbers` (array)

  - `approvalDataList.pnrSummary.travelers.user.nationality` (string)
    Nationality of user
    Example: Indian

  - `approvalDataList.pnrSummary.travelers.user.title` (string)
    Enum: "TITLE_UNKNOWN", "MR", "MS", "MRS", "MX", "MASTER", "MISS", "DR", "PROFESSOR", "CAPTAIN", "REVEREND", "HONOURABLE", "SIR", "LADY", "AMBASSADOR", "LORD", "BRIGADIER", "SENATOR", "DAME", "JUSTICE", "UK", "TITLE_REDACTED"

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo` (object)
    User business information.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.department` (object)
    Department details.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.department.id` (object, required)
    Department id.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.department.id.id` (string, required)
    Example: 631ccbcf-9414-5fe0-c234-b324dfbe7422

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.department.name` (string, required)
    Example: IT Department

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.department.externalId` (string)
    External id of the department
    Example: department-ext-id

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.department.employeeCount` (integer)
    Count of employees in the department
    Example: 57

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.designation` (string)
    Example: MANAGER

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.email` (string, required)
    Example: user@business.com

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.employeeId` (string, required)
    Unique employee id. Can use email if a company don't use employee ids.
    Example: 101

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.grade` (object)
    Grade details.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.grade.employeeCount` (integer)
    Count of employees in the grade
    Example: 75

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.grade.id` (object, required)
    Grade id.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.grade.id.id` (string, required)
    Example: 831ccbcb-1416-7fe2-e236-d324dfbe7424

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.grade.name` (string, required)
    Example: Grade

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.managerBasicInfo` (object)
    Basic user information.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.managerBasicInfo.persona` (string)
    Persona of the user
    Enum: "UNKNOWN_PERSONA", "EMPLOYEE", "GUEST", "PERSONAL", "RELATIVE", "ADHOC"

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.managerBasicInfo.email` (string)
    Example: example@email.com

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.managerBasicInfo.tier` (string)
    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.
    Enum: "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"

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.managerBasicInfo.employeeId` (string)
    Employee id of the user

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.managerBasicInfo.isActive` (boolean)
    Whether user profile is active or not.
    Example: true

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.office` (object)
    Office details.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.office.id` (object, required)
    The unique ID of the office.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.office.id.id` (string, required)
    The value of the unique ID for the office.
    Example: 531ccbce-8413-4fe9-b233-a324dfbe7421

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.office.name` (string, required)
    Example: Office

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.office.taxId` (string)
    Example: 133232

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.phoneNumbers` (array)

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.userCostCenter` (object)
    Cost center details.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.userCostCenter.id` (object, required)

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.userCostCenter.id.id` (string, required)
    Example: 731ccbca-0415-6fe1-d235-c324dfbe7423

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.userCostCenter.name` (string, required)
    Example: CostCenter

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.userCostCenter.externalId` (string)
    Example: external-id

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.designatedApproverInfos` (array)
    A list of user basic info for designated approvers.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.designatedApproverUserIds` (array)
    A list of userId for designated approvers.

  - `approvalDataList.pnrSummary.travelers.userBusinessInfo.authorizerEmail` (string)
    Email address to be used as approval authorizer, when a manager is not present.
    Example: example@email.com

  - `approvalDataList.pnrSummary.travelers.isActive` (boolean)
    A boolean flag to show if traveler is active.
    Example: true

  - `approvalDataList.pnrSummary.travelers.adhocUserInfo` (object)
    Basic information related to ad-hoc traveler profile.

  - `approvalDataList.pnrSummary.travelers.adhocUserInfo.profileOwner` (object, required)
    Basic information about the owner of the ad-hoc user.

  - `approvalDataList.pnrSummary.travelers.adhocUserInfo.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.

  - `approvalDataList.pnrSummary.travelers.externalId` (string)
    External id of this user.

  - `approvalDataList.pnrSummary.approvalData` (object)
    Details about approval

  - `approvalDataList.pnrSummary.approvalData.approvalId` (string)
    Unique approval Id request
    Example: uniqueId

  - `approvalDataList.pnrSummary.approvalData.approvers` (array)

  - `approvalDataList.pnrSummary.approvalData.approvalStatus` (string)
    APPROVAL Status
    Enum: "APPROVAL_PENDING", "APPROVED", "DENIED", "TIMED_OUT", "SOFT_APPROVAL_TIMEOUT"

  - `approvalDataList.pnrSummary.approvalData.approvalDetail` (object)
    Policy

  - `approvalDataList.pnrSummary.policyInfo` (object)

  - `approvalDataList.pnrSummary.policyInfo.reasonCode` (string)
    Predefined answers to pre search/pre checkout questions
    Enum: "UNKNOWN_CHECKOUT_ANSWER_TYPE", "OTHER", "TIMING_OR_SCHEDULING", "AIRLINE_PREFERENCE", "AIRPORT_PREFERENCE", "MILEAGE_OR_PROGRAM_UPGRADE", "NO_OTHER_OPTION_AVAILABLE", "FASTER_OPTION", "NO_ANSWER", "NOT_AVAILABLE"

  - `approvalDataList.pnrSummary.policyInfo.reason` (string)
    Free form text if selected reason code is OTHER
    Example: Business class cheaper than economy

  - `approvalDataList.pnrSummary.policyInfo.isOutOfPolicy` (boolean)
    Flag to indicate if the booking is out of policy
    Example: true

  - `approvalDataList.pnrSummary.additionalMetadata` (object)
    Any addtional metadata associated with the booking

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo` (array)

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.airportCode` (string, required)
    3-letter code of the airport.
    Example: WRA

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.airportName` (string, required)
    Full name of the airport.
    Example: Warder Airport

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.cityName` (string)
    Name of the city in which the airport is located (or is nearest to).
    Example: Werder

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.countryName` (string)
    Name of the country in which the airport is located.
    Example: Ethiopia

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.countryCode` (string)
    2-letter IATA country code associated with the airport.
    Example: ET

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.zoneName` (string)
    Name of the time zone associated with the airport.
    Example: Africa/Addis_Ababa

  - `approvalDataList.pnrSummary.additionalMetadata.airportInfo.stateCode` (string)
    2-letter IATA code for the state in which the airport is located.
    Example: CA

  - `approvalDataList.pnrSummary.preBookAnswers` (object)

  - `approvalDataList.pnrSummary.preBookAnswers.answers` (array)

  - `approvalDataList.pnrSummary.preBookAnswers.answers.entityId` (string)
    The unique ID for the question.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.userInput` (string)
    The text input given by user (if any).

  - `approvalDataList.pnrSummary.preBookAnswers.answers.itemIds` (array)
    The id/enum value corresponding to the option chosen by the user as
answer.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.answers` (array)

  - `approvalDataList.pnrSummary.preBookAnswers.answers.answers.item` (string)
    The option selected from the list of available choices.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.answers.value` (string)
    The additional input provided (by the user) while selecting one of the options.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.answers.description` (string)
    Description of the selected option.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.customFieldType` (string)
    The type of custom field.
    Enum: "QUESTION", "MEETING", "BUDGET", "BREX_TOKEN"

  - `approvalDataList.pnrSummary.preBookAnswers.answers.questionDisplayText` (string)
    The question text to be displayed to the user.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question` (object)
    The message defines the format of a question which can be asked to a user in any kind of workflows.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.id` (string, required)

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.name` (string, required)
    Question display name that the user will see. For eg, 'Choose the purpose of your trip'.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.questionFormat` (string)
    Question types. INPUT_BOX will make user enter a free flowing text.
RADIO_BUTTON will have multiple options, user can select only one.
CHECKBOX questions contain the possible set of options, from which the user can choose multiple options.
CHECKBOX_WITH_PERCENTAGE is similar to checkbox, with the difference being that each option having an additional input field whose values must add up to 100.
    Enum: "INPUT_BOX", "RADIO_BUTTON", "CHECKBOX", "CHECKBOX_WITH_PERCENTAGE"

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo` (object)
    Options related information for the question.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.source` (string, required)
    Option source
    Enum: "MANUAL", "COMPANY_CONFIG"

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.sourceMetadata` (object)
    Metadata information for the option source.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.sourceMetadata.companyConfig` (object)
    For this option source, options would be auto generated based on specified parameter.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.totalNumOptions` (integer)
    Total number of options

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.options` (array)
    Available options for the question. This will contain only max 10 options if only 
summary is requested.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.options.displayCode` (string, required)
    The code which is sent in answer response.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.optionInfo.options.displayValue` (string)
    The text to be displayed to the user beside this option.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.isRequired` (boolean, required)
    Whether its compulsory to answer the question or not.
    Example: true

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.isDisabled` (boolean, required)
    Whether the question is disabled or not. If true, this should not be asked.
    Example: true

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.includeInItinerary` (boolean)
    Whether to include this question in the itinerary related emails.
    Example: true

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.customFieldLocations` (array)

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions` (object)
    Conditions to select the custom field for given context.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions` (object)
    Matching conditions for traveler.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions.workerTypes` (array)
    Worker types. Users belonging to any of these would match.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions.countries` (array)
    Countries.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions.legalEntities` (array)
    Legal entities

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions.departments` (array)
    Departments

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions.costCenters` (array)
    Cost centers

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelerConditions.offices` (array)
    Offices

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelTypes` (array)
    Travel types to match.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.travelRegionTypes` (array)
    Travel region types to match.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.matchConditions.tripUsageTypes` (array)
    Trip usage types to match. If empty, all trip usage types will be matched.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.questionType` (object)
    Question type.

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.questionType.preSearchQuestionType` (string)
    Types of pre-search questions.
PURPOSE_OF_TRIP required to ask purpose of the trip user is going to. For example: meeting, training, interview.
    Enum: "UNKNOWN_SEARCH_QUESTION_TYPE", "PURPOSE_OF_TRIP"

  - `approvalDataList.pnrSummary.preBookAnswers.answers.question.questionType.preCheckoutQuestionType` (string)
    Types of pre-checkout questions.
USER_DEFINED_QUESTION the default question type for all pre checkout questions which have been created from UI.
OOP_REASON_CODE is kept separate so that existing OOP flow doesn't break.
    Enum: "UNKNOWN_CHECKOUT_QUESTION_TYPE", "USER_DEFINED_QUESTION", "OOP_REASON_CODE"

  - `approvalDataList.pnrSummary.preBookAnswers.preBookQuestionResponseId` (string)
    The unique id sent back in the pre book questions API response

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses` (array)
    List of all the Custom Fields responses captured while booking.

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.fieldId` (string, required)
    Custom field id

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.fieldName` (string)
    Name of the custom field

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.armId` (string, required)
    Arm id which is applicable

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.includeLocations` (array)

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions` (array, required)
    The list of options that are selected by user or auto populated.

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.name` (string, required)
    Value of the selection

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.translatedName` (string)
    Translated value of the selection

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.description` (string)
    Description of the selection

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.translatedDescription` (string)
    Translated description of the selection

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalUserInput` (string)
    Additional user input

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalInfos` (array)
    Actual values of the additional infos

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalInfoConfigs` (array)
    Additional info configs for the selected option

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalInfoConfigs.type` (string, required)
    Enum: "VARIABLE", "EXPRESSION"

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalInfoConfigs.name` (string, required)
    Name of the variable.
    Enum: "PUBLISHED_FARE", "LLF", "ADD_COLLECT_AMOUNT", "SELECTED_FARE", "SPLIT_PAYMENT_FARE"

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalInfoConfigs.formatExpression` (string, required)
    The expression must be of format : `<any_text> ${expression} <any_text>`.The expression
can consist of a combination of variables and mathematical operations.
Variable names must be same as VariableName Enum.
To define mathematical operations, the operation name should follow the format
`math.<math_op>(arg1, arg2)`. Both `arg1` and `arg2` can be variables or constants.
The supported math operations (math_op) include: `add, mul, div, sub, min, and max`. All keywords, such as `<math_op>, math, and var` must be written in lowercase.
    Example: Result:  ${math.mul(LLF,5)}  ${ADD_COLLECT_AMOUNT}

  - `approvalDataList.pnrSummary.initialCustomFieldV3Responses.selectedOptions.additionalInfoConfigs.variables` (array)
    Reference names of the variables present in the expression.

  - `approvalDataList.approvers` (array)

  - `approvalDataList.basicTripInfo` (object)
    Basic trip info

  - `approvalDataList.basicTripInfo.tripId` (string, required)
    Spotnana trip Id
    Example: 6926658168

  - `approvalDataList.basicTripInfo.tripName` (string, required)
    Name of the trip
    Example: JFK SFO Trip

  - `approvalDataList.basicTripInfo.tripDescription` (string)
    Trip description
    Example: JFK SFO Business Trip

  - `approvalDataList.basicTripInfo.applicationId` (string)
    Application id used for the trip.

  - `approvalDataList.basicTripInfo.tripMetadata` (object)
    Metadata for the trip

  - `approvalDataList.basicTripInfo.tripMetadata.hasTripOverride` (boolean)
    Indicates if the trip has any profile overrides.
    Example: true

  - `approvalDataList.basicTripInfo.tripMetadata.preferredCurrency` (string)
    The currency to be used for the trip.
    Example: USD

  - `approvalDataList.basicTripInfo.tripMetadata.tripContacts` (array)

  - `approvalDataList.basicTripInfo.tripMetadata.tripContacts.label` (string, required)
    Label for the contact
    Example: Coordinator

  - `approvalDataList.basicTripInfo.tripMetadata.tripContacts.name` (string, required)
    Name of the contact
    Example: Himani Jain

  - `approvalDataList.basicTripInfo.tripMetadata.tripContacts.email` (string)
    Email of the contact
    Example: himani@spotnana.com

  - `approvalDataList.basicTripInfo.tripMetadata.tripContacts.isPrimary` (boolean)
    Whether the contact is primary or not
    Example: true

  - `approvalDataList.basicTripInfo.tripMetadata.tripContacts.restrictVisibility` (boolean)
    Whether to restrict visibility of the contact to only agents and admins
    Example: true

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences` (object)
    Communication preferences for the trip

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences` (object)
    Email preferences for the trip

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences.bucketEmailPreferences` (object)
    Email communication preferences based on bucket types.

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences.bucketEmailPreferences.bucketTypes` (array, required)
    List of email bucket types.

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences.bucketEmailPreferences.isEnabled` (boolean)
    Indicates whether emails are disabled.

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences.bucketEmailPreferences.toEmails` (array)
    List of email address to be included in emails.

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences.bucketEmailPreferences.ccEmails` (array)
    List of email address to be cc-ed in emails.

  - `approvalDataList.basicTripInfo.tripMetadata.tripCommunicationPreferences.tripEmailPreferences.bucketEmailPreferences.bccEmails` (array)
    List of email address to be bcc-ed in emails.

  - `approvalDataList.basicTripInfo.tripDisabledInfo` (object)
    Information regarding whether the trip is disabled and if so, the reason why.

  - `approvalDataList.basicTripInfo.tripDisabledInfo.disabledReason` (string)
    Reason why the trip is disabled if applicable.
    Enum: "MAX_BOOKINGS_EXCEEDED", "TRIP_EXPIRED"

  - `approvalDataList.basicTripInfo.tripDisabledInfo.isDisabled` (boolean)
    Indicates whether the trip is disabled or not.
    Example: false

  - `approvalDataList.basicTripInfo.stealthType` (string)
    Stealth type.
    Enum: "STEALTH_TYPE_1", "STEALTH_TYPE_2", "STEALTH_TYPE_3"

  - `approvalDataList.basicTripInfo.stealthMode` (object)
    Stealth mode configuration with type and label.

  - `approvalDataList.basicTripInfo.stealthMode.label` (string, required)
    Customer specific label for the stealth mode.

  - `approvalDataList.basicTripInfo.tripLocations` (array)
    Locations associated with the trip.

  - `approvalDataList.basicTripInfo.tripLocations.metroAreaName` (string)
    Name of the metropolitan area.
    Example: San Francisco

  - `approvalDataList.basicTripInfo.tripHeaderImages` (array)
    Header images for the trip, selected by backend based on trip destinations.

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

