# TRIP_DETAILS_V3

Endpoint: POST TRIP_DETAILS_V3
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Request fields (application/json):

  - `event_type` (string)
    TRIP_DETAILS_V3
    Example: TRIP_DETAILS_V3

  - `operationSummary` (object)
    Operation summary for webhook payload

  - `operationSummary.ticketsIssued` (array)
    The tickets issued

  - `operationSummary.ticketsVoided` (array)
    The tickets voided

  - `operationSummary.ticketsRefunded` (array)
    The tickets refunded

  - `operation` (string)
    Pnr and trip details operation types
    Enum: "BOOKING_CREATED", "BOOKING_OTHER_UPDATE", "TRIP_UPDATED", "BOOKING_UPDATED", "BOOKING_CANCELED_BY_TRAVELER", "BOOKING_CANCELED_BY_VENDOR", "BOOKING_REBOOKED", "BOOKING_TICKETED", "TICKET_VOIDED", "TICKET_REFUNDED", "FLIGHT_SCHEDULE_CHANGE_PENDING", "FLIGHT_SCHEDULE_CHANGE_CLOSED", "FLIGHT_CABIN_CHANGED", "FLIGHT_SEAT_CANCELLED", "FLIGHT_SEAT_CONFIRMED", "FLIGHT_SEAT_CHANGED", "PAYMENT_DECLINED", "FLIGHT_CANCELLED", "SPLIT_PNR_CREATED", "REFUND", "EXCHANGE", "FLIGHT_CHANGED", "INVOICE_GENERATED"

  - `payload` (object)
    Trip Details Response for a given trip Id

  - `payload.basicTripInfo` (object, required)
    Basic trip info

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

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

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

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

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

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

  - `payload.basicTripInfo.userId` (object)
    User identifier

  - `payload.basicTripInfo.userId.id` (string, required)

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

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

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

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

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

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

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

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber` (object)
    Properly formatted phone number.

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.countryCode` (integer)
    two digit country code
    Example: 91

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.countryCodeSource` (string)
    Enum: "UNSPECIFIED", "FROM_NUMBER_WITH_PLUS_SIGN", "FROM_NUMBER_WITH_IDD", "FROM_NUMBER_WITHOUT_PLUS_SIGN", "FROM_DEFAULT_COUNTRY"

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.extension` (string)
    phone number extension
    Example: 222

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.isoCountryCode` (string)
    ISO alpha-2 code
    Example: IN

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.italianLeadingZero` (boolean)
    Example: true

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.nationalNumber` (integer)
    Example: 8150

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.numberOfLeadingZeros` (integer)
    Example: 1

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.preferredDomesticCarrierCode` (string)
    Example: 7

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.rawInput` (string)
    Example: 77777

  - `payload.basicTripInfo.tripMetadata.tripContacts.phoneNumber.type` (string)
    Enum: "UNKNOWN_TYPE", "MOBILE", "LANDLINE"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - `payload.basicTripInfo.tripHeaderImages.data` (string)
    Example: 6935813e12584abda0e43d71cd2ea260

  - `payload.basicTripInfo.tripHeaderImages.dimensions` (object)
    Image dimensions ie width and height.

  - `payload.basicTripInfo.tripHeaderImages.dimensions.height` (integer)
    Example: 120

  - `payload.basicTripInfo.tripHeaderImages.dimensions.width` (integer)
    Example: 240

  - `payload.basicTripInfo.tripHeaderImages.url` (string)
    Example: https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp

  - `payload.basicTripInfo.tripHeaderImages.metadata` (object)
    Metadata associated with an image.

  - `payload.basicTripInfo.tripHeaderImages.metadata.variant` (string)
    Image variant.
    Enum: "LIGHT", "DARK"

  - `payload.pnrs` (array, required)

  - `payload.pnrs.pnrId` (string)
    Unique PNR ID
    Example: 6926658168

  - `payload.pnrs.data` (object)
    Pnr data with all information about a single booking containing one of Air, Hotel,
Car, Rail, Limo or Miscellaneous PNR.

  - `payload.pnrs.data.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.
    Example: 1

  - `payload.pnrs.data.sourceInfo` (object)
    Information about the source of booking

  - `payload.pnrs.data.sourceInfo.sourcePnrId` (string)
    The source PNR ID
    Example: AEDAVF

  - `payload.pnrs.data.sourceInfo.bookingSource` (string, required)
    The source of booking
    Example: United.com

  - `payload.pnrs.data.sourceInfo.bookingDateTime` (object)
    ISO8601 UTC Date Time

  - `payload.pnrs.data.sourceInfo.bookingDateTime.iso8601` (string, required)
    Example: 2017-07-21T17:32Z

  - `payload.pnrs.data.sourceInfo.posDescriptor` (string)
    Point of sale descriptor for this pnr from source
    Example: LA5K

  - `payload.pnrs.data.sourceInfo.iataNumber` (string)
    IATA number associated with this pnr
    Example: 426666

  - `payload.pnrs.data.invoiceDelayedBooking` (boolean)
    True if the billing is delayed
    Example: false

  - `payload.pnrs.data.travelers` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo` (object)
    Traveler personal information.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.loyaltyInfos` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.loyaltyInfos.appliedTo` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.loyaltyInfos.id` (string, required)
    Example: firstId

  - `payload.pnrs.data.travelers.travelerPersonalInfo.loyaltyInfos.issuedBy` (string, required)
    Example: firstIssuedBy

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

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

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

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref` (object)
    Travel preferences.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref` (object)
    Travel preferences related to air travel.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.airlinePrefs` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.alliancePref` (object)
    Alliance preferences.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.alliancePref.alliances` (array, required)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.farePref` (object)
    Fare preferences.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.farePref.fareTypes` (array, required)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.homeAirport` (string)
    Example: NEW YORK

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.mealPref` (object)
    Meal preferences.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.mealPref.exclMealPrefs` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.mealPref.inclMealPrefs` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.mealPref.specialMealDescription` (string)
    Example: Veg only meal

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.numStopPref` (object)
    Preferred number of stops.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.numStopPref.numOfStops` (integer, required)
    Example: 34

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.seatAmenityPref` (object)
    Seat amenity preference.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.seatAmenityPref.seatAmenityTypes` (array, required)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.seatLocationPrefs` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.airPref.preferredAirports` (array)
    A list of user preferred airports.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.preferredCurrency` (string)
    Example: USD

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railCards` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railCards.cardNumber` (string)
    Number of card

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

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

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railCards.vendor` (string, required)
    Vendor Name.
    Example: ATOC

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref` (object)
    Travel preferences related to rail station.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.preferredRailStations` (array)
    A list of user preferred rail stations.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference` (object)
    Preference about seat of rail.

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

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.seatTypes` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.seatLocations` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.deckLevels` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.seatPreference.seatDirections` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.travelClasses` (array)
    A list of class of service for rail.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.coachPreferences` (array)
    A list of coach preference for rail.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.railPref.conditionalRates` (array)
    A list of conditional rates for rail.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.carPref` (object)
    Travel preferences related to car.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.carPref.vendors` (array)
    A list of car vendors.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.carPref.carTypes` (array)
    A list of types of car.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.carPref.engineTypes` (array)
    A list of types of engine.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.carPref.transmissionTypes` (array)
    A list of types of transmission.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.carPref.conditionalRates` (array)
    A list of conditional rates for rail.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref` (object)
    Travel preferences related to hotel.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelParentChains` (array)
    A list of hotel parent chains.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelBrands` (array)
    A list of hotel brands.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref.hotelAmenityTypes` (array)
    A list of HotelAmenities.

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference` (object)
    Room options and stay preference.

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

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

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

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

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

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

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref.roomPreference.roomAmenityPrefs` (array)

  - `payload.pnrs.data.travelers.travelerPersonalInfo.travelPref.hotelPref.conditionalRates` (array)
    A list of conditional rates for rail.

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

  - `payload.pnrs.data.travelers.user` (object)
    User details.

  - `payload.pnrs.data.travelers.user.addresses` (array)

  - `payload.pnrs.data.travelers.user.addresses.addressLines` (array, required)
    Address lines

  - `payload.pnrs.data.travelers.user.addresses.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

  - `payload.pnrs.data.travelers.user.addresses.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

  - `payload.pnrs.data.travelers.user.addresses.description` (string)
    Address description
    Example: San Francisco Home

  - `payload.pnrs.data.travelers.user.addresses.isDefault` (boolean)
    Whether this address is default address in case multiple addresses are specified.
    Example: true

  - `payload.pnrs.data.travelers.user.addresses.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

  - `payload.pnrs.data.travelers.user.addresses.locality` (string)
    Generally refers to the city/town portion of the address.
    Example: San Francisco

  - `payload.pnrs.data.travelers.user.addresses.locationCode` (string)
    IATA 3-letter location code. See https://www.iata.org/en/services/codes.
    Example: LAX

  - `payload.pnrs.data.travelers.user.addresses.organization` (string)
    The name of the organization at the address.
    Example: Spotnana

  - `payload.pnrs.data.travelers.user.addresses.postalCode` (string)
    Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
    Example: 94130

  - `payload.pnrs.data.travelers.user.addresses.continentCode` (string)
    2 letter continent code of the continent this address falls in.
    Example: AF

  - `payload.pnrs.data.travelers.user.addresses.recipients` (array)
    The recipient at the address.

  - `payload.pnrs.data.travelers.user.addresses.regionCode` (string, required)
    Region code of the country/region of the address.
    Example: US

  - `payload.pnrs.data.travelers.user.addresses.regionName` (string)
    Region name of the country/region of the address.
    Example: America

  - `payload.pnrs.data.travelers.user.addresses.revision` (integer)
    Example: 1

  - `payload.pnrs.data.travelers.user.addresses.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

  - `payload.pnrs.data.travelers.user.addresses.sublocality` (string)
    Sublocality of the address. This can be neighborhoods, boroughs, districts.

  - `payload.pnrs.data.travelers.user.addresses.timezone` (string)
    Time zone of the address.
    Example: America/Los_Angeles

  - `payload.pnrs.data.travelers.user.addresses.coordinates` (object)
    Latitude and Longitude for a Location

  - `payload.pnrs.data.travelers.user.addresses.coordinates.latitude` (number, required)
    Latitude of the Location
    Example: 77.1025

  - `payload.pnrs.data.travelers.user.addresses.coordinates.longitude` (number, required)
    Longitude of the Location
    Example: 28.7041

  - `payload.pnrs.data.travelers.user.email` (string)
    Example: example@email.com

  - `payload.pnrs.data.travelers.user.emergencyContactInfo` (object)
    Emergency contact information.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.designation` (string)
    Example: MANAGER

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.email` (string, required)
    Example: emergency-contact@email.com

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

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.name.family1` (string, required)
    Last (family) name.
    Example: Gandas

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.name.family2` (string)
    Example: FamilyTwo

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.name.given` (string, required)
    First (given) name.
    Example: Vichitr

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.name.middle` (string)
    Middle name.
    Example: Kumar

  - `payload.pnrs.data.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"

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

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId` (object)
    User and user's organization information.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.organizationAgencyId` (object)
    Agency id for the organization.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.organizationAgencyId.id` (string, required)

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.organizationId` (object, required)
    Organization id for traveler.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.organizationId.id` (string, required)

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.tmcInfo` (object)
    TMC config information.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.tmcInfo.id` (object, required)
    Company ID

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.tmcInfo.primaryServiceProviderTmc` (object, required)
    Primary service provider TMC info

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.tmcInfo.secondaryServiceProviderTmcs` (array)
    Secondary service provider TMCs for the TMC.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.tmcBasicInfo` (object)
    TMC related basic information.

  - `payload.pnrs.data.travelers.user.emergencyContactInfo.userOrgId.tmcBasicInfo.contractingTmc` (object, required)
    Basic information about a company.

  - `payload.pnrs.data.travelers.user.emergencyContact` (object)
    Emergency contact information.

  - `payload.pnrs.data.travelers.user.emergencyContact.name` (string, required)
    Full name of contact.
    Example: John Smith

  - `payload.pnrs.data.travelers.user.emergencyContact.email` (string)
    Email address of contact.
    Example: emergency-contact@email.com

  - `payload.pnrs.data.travelers.user.emergencyContact.designation` (string)
    Job title of contact.
    Example: MANAGER

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

  - `payload.pnrs.data.travelers.user.emergencyContact.phoneNumbers` (array, required)
    Phone numbers of contact.

  - `payload.pnrs.data.travelers.user.emergencyContact.preferredLanguage` (string)
    Language preferred by user.
    Example: en-US

  - `payload.pnrs.data.travelers.user.gender` (string)
    Enum: "MALE", "FEMALE", "UNSPECIFIED", "UNDISCLOSED", "GENDER_REDACTED"

  - `payload.pnrs.data.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…

  - `payload.pnrs.data.travelers.user.identityDocs.passport` (object)
    Passport details.

  - `payload.pnrs.data.travelers.user.identityDocs.immigrationDoc` (object)
    Immigration document details.

  - `payload.pnrs.data.travelers.user.identityDocs.redress` (object)
    Redress details

  - `payload.pnrs.data.travelers.user.identityDocs.ktn` (object)
    Information about the Known Traveler Number (KTN).

  - `payload.pnrs.data.travelers.user.identityDocs.nationalDoc` (object)
    National Document Id details.

  - `payload.pnrs.data.travelers.user.paymentInfos` (array)

  - `payload.pnrs.data.travelers.user.paymentInfos.applicableTo` (array)

  - `payload.pnrs.data.travelers.user.paymentInfos.card` (object, required)
    User card info

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

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

  - `payload.pnrs.data.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"

  - `payload.pnrs.data.travelers.user.paymentInfos.card.name` (string)
    Name on card
    Example: Harrison Schwartz

  - `payload.pnrs.data.travelers.user.paymentInfos.card.number` (string, required)
    Card number
    Example: 4111111111111111

  - `payload.pnrs.data.travelers.user.paymentInfos.card.expiryMonth` (integer)
    Expiry month
    Example: 1

  - `payload.pnrs.data.travelers.user.paymentInfos.card.expiryYear` (integer)
    Expiry year
    Example: 2010

  - `payload.pnrs.data.travelers.user.paymentInfos.card.cvv` (string)
    Card cvv number
    Example: 012

  - `payload.pnrs.data.travelers.user.paymentInfos.card.label` (string)
    Card Label
    Example: Label amex

  - `payload.pnrs.data.travelers.user.paymentInfos.card.currency` (string)
    Native currency of the card.
    Example: USD

  - `payload.pnrs.data.travelers.user.paymentInfos.card.externalId` (string)
    Spotnana partner card id.
    Example: bxt_RNGsNfzgJDaTstKIKqK4xEuhGYAnMdYK8T40

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

  - `payload.pnrs.data.travelers.user.paymentInfos.card.expiry` (object)
    Contains the expiry of a Card.

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

  - `payload.pnrs.data.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"

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

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

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

  - `payload.pnrs.data.travelers.user.phoneNumbers` (array)

  - `payload.pnrs.data.travelers.user.nationality` (string)
    Nationality of user
    Example: Indian

  - `payload.pnrs.data.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"

  - `payload.pnrs.data.travelers.userBusinessInfo` (object)
    User business information.

  - `payload.pnrs.data.travelers.userBusinessInfo.department` (object)
    Department details.

  - `payload.pnrs.data.travelers.userBusinessInfo.department.id` (object, required)
    Department id.

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

  - `payload.pnrs.data.travelers.userBusinessInfo.department.name` (string, required)
    Example: IT Department

  - `payload.pnrs.data.travelers.userBusinessInfo.department.externalId` (string)
    External id of the department
    Example: department-ext-id

  - `payload.pnrs.data.travelers.userBusinessInfo.department.employeeCount` (integer)
    Count of employees in the department
    Example: 57

  - `payload.pnrs.data.travelers.userBusinessInfo.designation` (string)
    Example: MANAGER

  - `payload.pnrs.data.travelers.userBusinessInfo.email` (string, required)
    Example: user@business.com

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

  - `payload.pnrs.data.travelers.userBusinessInfo.grade` (object)
    Grade details.

  - `payload.pnrs.data.travelers.userBusinessInfo.grade.employeeCount` (integer)
    Count of employees in the grade
    Example: 75

  - `payload.pnrs.data.travelers.userBusinessInfo.grade.id` (object, required)
    Grade id.

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

  - `payload.pnrs.data.travelers.userBusinessInfo.grade.name` (string, required)
    Example: Grade

  - `payload.pnrs.data.travelers.userBusinessInfo.legalEntityId` (object, required)
    The ID of the legal entity.

  - `payload.pnrs.data.travelers.userBusinessInfo.legalEntityId.id` (string, required)
    Example: fc1ccbce-8413-4fe9-b233-a324dfbe7421

  - `payload.pnrs.data.travelers.userBusinessInfo.managerBasicInfo` (object)
    Basic user information.

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

  - `payload.pnrs.data.travelers.userBusinessInfo.managerBasicInfo.email` (string)
    Example: example@email.com

  - `payload.pnrs.data.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"

  - `payload.pnrs.data.travelers.userBusinessInfo.managerBasicInfo.employeeId` (string)
    Employee id of the user

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

  - `payload.pnrs.data.travelers.userBusinessInfo.office` (object)
    Office details.

  - `payload.pnrs.data.travelers.userBusinessInfo.office.id` (object, required)
    The unique ID of the office.

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

  - `payload.pnrs.data.travelers.userBusinessInfo.office.name` (string, required)
    Example: Office

  - `payload.pnrs.data.travelers.userBusinessInfo.office.taxId` (string)
    Example: 133232

  - `payload.pnrs.data.travelers.userBusinessInfo.phoneNumbers` (array)

  - `payload.pnrs.data.travelers.userBusinessInfo.userCostCenter` (object)
    Cost center details.

  - `payload.pnrs.data.travelers.userBusinessInfo.userCostCenter.id` (object, required)

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

  - `payload.pnrs.data.travelers.userBusinessInfo.userCostCenter.name` (string, required)
    Example: CostCenter

  - `payload.pnrs.data.travelers.userBusinessInfo.userCostCenter.externalId` (string)
    Example: external-id

  - `payload.pnrs.data.travelers.userBusinessInfo.designatedApproverInfos` (array)
    A list of user basic info for designated approvers.

  - `payload.pnrs.data.travelers.userBusinessInfo.designatedApproverUserIds` (array)
    A list of userId for designated approvers.

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

  - `payload.pnrs.data.travelers.isActive` (boolean)
    A boolean flag to show if traveler is active.
    Example: true

  - `payload.pnrs.data.travelers.adhocUserInfo` (object)
    Basic information related to ad-hoc traveler profile.

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

  - `payload.pnrs.data.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.

  - `payload.pnrs.data.travelers.externalId` (string)
    External id of this user.

  - `payload.pnrs.data.pnrTravelers` (array)
    List of travelers on this pnr and their information. This is a required field.

  - `payload.pnrs.data.pnrTravelers.travelerInfo` (object)
    The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding
the adhoc travelers.

  - `payload.pnrs.data.pnrTravelers.travelerInfo.adhocTravelerInfo` (object)
    Describes an adhoc traveler.

  - `payload.pnrs.data.pnrTravelers.travelerInfo.adhocTravelerInfo.externalId` (string)
    External Id of user
    Example: qwert123

  - `payload.pnrs.data.pnrTravelers.personalInfo` (object)
    User details.

  - `payload.pnrs.data.pnrTravelers.personalInfo.addresses` (array)

  - `payload.pnrs.data.pnrTravelers.personalInfo.email` (string)
    Example: example@email.com

  - `payload.pnrs.data.pnrTravelers.personalInfo.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…

  - `payload.pnrs.data.pnrTravelers.personalInfo.phoneNumbers` (array)

  - `payload.pnrs.data.pnrTravelers.personalInfo.nationality` (string)
    Nationality of user
    Example: Indian

  - `payload.pnrs.data.pnrTravelers.personalInfo.preferredLanguage` (string)
    Language preferred by user.
    Example: en-US

  - `payload.pnrs.data.pnrTravelers.personalInfo.preferredPronoun` (string)
    Enum: "SHE_HER_HERS", "HE_HIM_HIS", "THEY_THEM_THEIRS"

  - `payload.pnrs.data.pnrTravelers.loyalties` (array)

  - `payload.pnrs.data.pnrTravelers.businessInfo` (object)
    Business information of the traveler

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity` (object)
    Legal entity of the traveler

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.id` (string)
    Legal entity ID

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.name` (string)
    Name of the legal entity
    Example: Spotnana India

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.ein` (string)
    EIN of the traveler

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.externalId` (string)
    External Id of the legal entity
    Example: abcd

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.companySpecifiedAttributes` (array)

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.companySpecifiedAttributes.fieldName` (string, required)
    Field name of the attribute
    Example: businessId

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.companySpecifiedAttributes.value` (string, required)
    Field value of the attribute
    Example: ABCD

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.countryCode` (string)
    2-letter ISO country code of the legal entity
    Example: IN

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.billingCurrency` (string)
    Billing currency for the legal entity.
    Example: USD

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.registeredName` (string)
    The official name of this legal entity as registered with local tax authorities.
    Example: Spotnana India Private Limited

  - `payload.pnrs.data.pnrTravelers.businessInfo.legalEntity.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.
    Example: contact@spotnana.in

  - `payload.pnrs.data.pnrTravelers.businessInfo.companyInfo` (object)
    Company information of the traveler

  - `payload.pnrs.data.pnrTravelers.businessInfo.companyInfo.name` (string)
    Name of the company
    Example: Spotnana

  - `payload.pnrs.data.pnrTravelers.businessInfo.companyInfo.externalId` (string)
    External Id of the company
    Example: abcd

  - `payload.pnrs.data.pnrTravelers.businessInfo.workerType` (string)
    The type of worker.
    Enum: "EMPLOYEE", "CONTINGENT", "SEASONAL", "INTERN", "GUEST"

  - `payload.pnrs.data.pnrTravelers.businessInfo.employeeId` (string)
    Employee id of the user
    Example: 1234

  - `payload.pnrs.data.pnrTravelers.businessInfo.companySpecifiedAttributes` (array)

  - `payload.pnrs.data.pnrTravelers.businessInfo.companySpecifiedAttributes.fixedColumnName` (string, required)
    Example: contingentType

  - `payload.pnrs.data.pnrTravelers.businessInfo.companySpecifiedAttributes.value` (string, required)
    Example: FSTV

  - `payload.pnrs.data.pnrTravelers.businessInfo.department` (object)
    Department details.

  - `payload.pnrs.data.pnrTravelers.businessInfo.department.id` (string, required)

  - `payload.pnrs.data.pnrTravelers.businessInfo.department.name` (string, required)
    Name of the department
    Example: IT Department

  - `payload.pnrs.data.pnrTravelers.businessInfo.department.externalId` (string)
    External id of the department
    Example: department-ext-id

  - `payload.pnrs.data.pnrTravelers.businessInfo.accountingCode` (string)
    Code used for accounting.
    Example: 123

  - `payload.pnrs.data.pnrTravelers.blockLoyalty` (boolean)
    If true, hides the loyalty program input on the checkout page for this traveler.
    Example: false

  - `payload.pnrs.data.costOfGoodsSold` (object)
    Payment information about all goods sold. This is a required field for now.

  - `payload.pnrs.data.costOfGoodsSold.payments` (array, required)
    Potentially multiple payments that spotnana will pay to vendors for this booking

  - `payload.pnrs.data.costOfGoodsSold.payments.travelerIndices` (array, required)
    The list of traveler indices on which this payment applies.
    Example: [0,1]

  - `payload.pnrs.data.costOfGoodsSold.payments.userIds` (array)
    The list of traveler user IDs on which this payment applies.

  - `payload.pnrs.data.costOfGoodsSold.payments.amount` (object)
    Fare amount including base fare and tax.

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.base` (object, required)
    Money object containing details such as the amount, the currency code, and the converted amount.

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.base.amount` (number, required)
    The numeric value for the amount of money.
    Example: 510

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.base.currencyCode` (string, required)
    The 3-letter currency code for the money amount (defined using ISO 4217 standard).
    Example: GBP

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.base.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

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.base.convertedCurrency` (string)
    The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
    Example: USD

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.base.otherCoinage` (array)
    List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.taxBreakdown` (array)

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.taxBreakdown.taxCode` (string)
    Tax code
    Example: VAT

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.taxBreakdown.percentage` (number)
    Tax amount to total amount
    Example: 9

  - `payload.pnrs.data.costOfGoodsSold.payments.amount.taxBreakdown.description` (string)
    Tax name or Tax Description
    Example: AIR TRAVELLERS SECURITY CHARGE

  - `payload.pnrs.data.costOfGoodsSold.payments.fop` (object)
    Information about form of payment to be used to charge customer

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.type` (string)
    Type of payment used
    Enum: "UNKNOWN", "CARD", "CASH", "TFPAY", "CHEQUE", "BREX_POINTS", "QANTAS_POINTS"

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.additionalInfo` (string)
    Additional info to be added if payment type is 'UNKNOWN'.

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMethod` (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", "DELAYED_PAYMENT"

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata` (object)
    Payment metadata related to form of payment

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.customPaymentMethodMetadata` (object)
    Metadata related to custom payment method

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.customPaymentMethodMetadata.brexBudgetMetadata` (object)
    Metadata for Brex Budget

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.customPaymentMethodMetadata.noPrepaymentMetadata` (object)
    Metadata for No Prepayment payment source (car bookings on no-guarantee rates).

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.customPaymentMethodMetadata.virtualPaymentMetadata` (object)
    Metadata for custom virtual payment source.

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.vendorProgramPaymentMetadata` (object)
    Metadata related to vendor program payment method

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.virtualCardMetadata` (object)
    Metadata for Virtual Card.

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.virtualCardMetadata.vendorInfo` (object, required)
    Virtual card related information like vendor, cardId, card-pool id of vendor etc.

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.virtualCardMetadata.cardInfo` (object)
    Virtual card information like maximum deployment amount, valid date range.

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.virtualCardMetadata.paymentInstructionId` (string)
    Payment instruction id set during addition of virtual card payment source
    Example: 1eb8b778-f0a6-4037-865c-4580982fa36e

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.virtualCardMetadata.shouldReveal` (boolean)
    Identifier for when to reveal virtual cards as they are revealed to travellers only 24hrs before check-in.
    Example: false

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.cardMetadata` (object)
    Metadata for Card payment source.

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.cardMetadata.isLodgeCard` (boolean)
    Whether the payment is made using a lodge card
    Example: false

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentMetadata.cardMetadata.bta` (string)
    Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards.
    Example: Y

  - `payload.pnrs.data.costOfGoodsSold.payments.fop.paymentSourceType` (string)
    Type of Payment Source
    Enum: "CARD", "VIRTUAL_CARD", "REWARDS_PROGRAM", "DELAYED_INVOICING", "CUSTOM_PAYMENT_METHOD", "VENDOR_PROGRAM_PAYMENT", "UNUSED_CREDIT", "CASH"

  - `payload.pnrs.data.costOfGoodsSold.payments.paymentReference` (string)
    Reference number for original payment made for this service
    Example: HAH2618716871

  - `payload.pnrs.data.costOfGoodsSold.payments.paymentType` (string, required)
    Service for which this payment is made
    Enum: "UNKNOWN", "FLIGHTS", "SERVICE_FEE", "MISCELLANEOUS", "HOTELS", "CARS", "RAILS", "LIMO", "MISC"

  - `payload.pnrs.data.costOfGoodsSold.payments.paymentThirdParty` (string)
    Third party who is processing the payment
    Enum: "UNKNOWN_PARTY", "STRIPE", "TFPAY", "TRAINLINE", "BREX", "OUTSIDE_OBT", "RAZORPAY", "EUROSTAR"

  - `payload.pnrs.data.costOfGoodsSold.payments.paymentId` (string)
    The payment id for this transaction

  - `payload.pnrs.data.costOfGoodsSold.payments.paymentGateway` (string)
    Third party payment gateway used to process the payment
    Enum: "PAYMENT_GATEWAY_UNKNOWN", "STRIPE", "BREX"

  - `payload.pnrs.data.costOfGoodsSold.payments.isRefunded` (boolean)
    Whether the payment is refunded to the customer
    Example: false

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource` (object)
    Describes the selected payment source for the booking.

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.paymentSourceId` (string)
    Unique identifier identifying this payment source.
    Example: f49d00fe-1eda-4304-ba79-a980f565281d

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource` (object)
    Raw Details of the Payment Source

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.type` (string, required)
    Payment source type. Should be set to DPAN for card details.
    Enum: "DPAN"

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.cardDetails` (object, required)
    Card Details

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.type` (string, required)
    Payment source type. Should be set to CREDIT for unused credit details.
    Enum: "CREDIT"

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.pnrOwningPcc` (string, required)
    PCC the PNR was created on.

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.unusedCreditPcc` (string, required)
    PCC the credit was issued on.

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.departureCountry` (string)
    3 letter country code of the departure country associated with the original ticket.
    Example: USA

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.arrivalCountry` (string)
    3 letter country code of the arrival country associated with the original ticket.
    Example: USA

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.ticketType` (string, required)
    Type of credit.
    Enum: "TICKET_TYPE_UNKNOWN", "ETICKET", "MCO"

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.segmentsAvailable` (string)
    Whether all segments are unused or some have already been used.
    Enum: "UNKNOWN", "ALL_OPEN", "PARTIAL", "OTHER"

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.traveler` (object)
    The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding
the adhoc travelers.

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.airlineInfo` (object, required)
    Detailed information about the airline.

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.source` (string, required)
    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"

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.sourcePnr` (string, required)
    PNR number corresponding to third party through which booking was made.
    Example: MC5ONS

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.flightIds` (array)
    ID of the flights on which this credit applies.

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.ticketNumber` (string, required)
    Ticket number for the ticket that was converted into an unused credit.
    Example: 5267779139217

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.rawPaymentSource.travelerIndex` (integer)
    credit associated to the traveler having this index in the air search request. If not passed, credit will be associated in order of the travelers
    Example: 2

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.postPaymentRedirectionUrl` (string)
    Url for post payment redirection if payment source navigates user to a third party url
    Example: https://mycompany.com/checkout?paymentSourceId=f49d00fe-1eda-4304-ba79-a980f565281d

  - `payload.pnrs.data.costOfGoodsSold.payments.selectedPaymentSource.cvv` (string)
    CVV associated with associated payment source, if any.

  - `payload.pnrs.data.costOfGoodsSold.payments.networkTransactionId` (string)
    Network transaction id provided by the card network. Applicable only for cards.
    Example: 721107212171711

  - `payload.pnrs.data.costOfGoodsSold.payments.tmcGatewayInfo` (object)
    Tmc Gateway related info.

  - `payload.pnrs.data.costOfGoodsSold.payments.tmcGatewayInfo.gatewayType` (string)
    Third party payment gateway used to process the payment
    Enum: "STRIPE", "BREX", "RAZORPAY"

  - `payload.pnrs.data.costOfGoodsSold.payments.tmcGatewayInfo.gatewayId` (string)
    GatewayId for related gatewayInfo.
    Example: demo-us:1

  - `payload.pnrs.data.costToCustomer` (object)
    Cost of services, charged to customer

  - `payload.pnrs.data.costToCustomer.payments` (array, required)
    Potentially multiple payments that spotnana will charge the clients

  - `payload.pnrs.data.splitPayment` (object)
    Split payment details for claiming reimbursements.

  - `payload.pnrs.data.splitPayment.isAmountReimbursable` (boolean)
    If the in policy amount is reimbursable or not.

  - `payload.pnrs.data.policyInfo` (object)
    Policy related info for this booking

  - `payload.pnrs.data.policyInfo.outOfPolicy` (boolean, required)
    True if the booking is out of policy, else false
    Example: false

  - `payload.pnrs.data.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"

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

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo` (object)
    Policy Info applicable for the associated itinerary

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.policies` (array)
    List of policies applied to the itinerary.

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.policies.id` (string, required)
    Policy id

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.policies.version` (string, required)
    version of the policy

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.policies.policyName` (string)
    Name of the policy applied.

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.policies.approvalType` (string)
    Enum: "HARD_APPROVAL", "SOFT_APPROVAL", "PASSIVE_APPROVAL"

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.policies.policyType` (string)
    Enum: "GLOBAL", "DEFAULT", "GROUP"

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos` (array)

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos.violationInfos` (array)

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos.violationInfos.predicateString` (string)

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos.violationInfos.predicate` (string)
    This contains the enum mentioning the policy rule which was violated.
    Enum: "UNKNOWN_PREDICATE_STRING", "MAX_FARE_PER_TRAVELLER_VIOLATION", "FARE_MORE_THAN_MINIMUM", "FARE_MORE_THAN_MEDIAN", "FARE_LESS_THAN_MEDIAN", "FARE_MORE_THAN_LLF", "MAX_FARE_PER_TRAVELLER_VIOLATION_INCLUDING_TAX", "MAX_FARE_PER_TRAVELLER_VIOLATION_EXCLUDING_TAX", "HOTEL_PAYMENT_OPTIONS_VIOLATION", "RAIL_BOOKING_WINDOW_GAP_VIOLATION", "RAIL_TRAVEL_CLASS_VIOLATION", "RAIL_TICKET_REFUNDABLE_VIOLATION", "RAIL_MAX_BOOKING_PRICE_VIOLATION_INCLUDING_TAX", "RAIL_MAX_BOOKING_PRICE_VIOLATION_EXCLUDING_TAX", "AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_INCLUDING_TAX", "AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_EXCLUDING_TAX", "HOTEL_RESTRICTED_KEYWORDS_VIOLATION", "RESTRICTED_LOCATION_VIOLATION", "FLIGHT_ADVANCE_BOOKING_WINDOW_DOMESTIC_VIOLATION", "FLIGHT_ADVANCE_BOOKING_WINDOW_INTERNATIONAL_VIOLATION", "FLIGHT_ADVANCE_BOOKING_WINDOW_VIOLATION", "ITINERARY_WITHIN_EVENT_TRAVEL_WINDOW", "HOTEL_IN_ALLOWED_HOTEL_LIST", "PAYMENT_ACCESS_VIOLATION", "AIRPORT_IN_ALLOWED_AIRPORT_LIST", "ITINERARY_TYPE_IS_NOT_IN_ALLOWED_BOOKING_TYPES", "PAYMENT_AIR_ADDON_VIOLATION", "MAX_HOTEL_BOOKING_PRICE_INCLUDING_TAX", "MAX_HOTEL_BOOKING_PRICE_EXCLUDING_TAX", "AIR_NUM_TRAVELERS_ALLOWED", "PREFERRED_VENDOR_VIOLATION", "SEAT_ADDON_VIOLATION", "BAGGAGE_ADDON_VIOLATION", "EARLY_BIRD_ADDON_VIOLATION", "WIFI_ADDON_VIOLATION", "RESTRICTED_BOOKING_VIOLATION", "HIGHEST_ALLOWED_CABIN_VIOLATION", "LOWEST_FARE_PER_HOTEL_PROPERTY_VIOLATION", "AIR_RESTRICTED_FARES_VIOLATION", "AIR_ANCILLARY_VIOLATION"

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos.violationInfos.expectedValue` (object)

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos.subViolationInfos` (array)
    In case of complex rules this will contain extra information as to how the rule was 
calculated.

  - `payload.pnrs.data.policyInfo.appliedPolicyInfo.ruleResultInfos.actions` (array)
    Followed actions if rule was satisfied else violated actions.

  - `payload.pnrs.data.policyInfo.isPersonalUpgrade` (boolean)
    Indicates that this booking exceeded the allowed policy budget with the extra amount being charged on the traveler.
    Example: false

  - `payload.pnrs.data.airPnr` (object)
    Air PNR information

  - `payload.pnrs.data.airPnr.legs` (array, required)
    List of legs that are part of this bookings

  - `payload.pnrs.data.airPnr.legs.flights` (array, required)
    List of flights in this leg

  - `payload.pnrs.data.airPnr.legs.flights.departureDateTime` (object, required)
    Local date and time in ISO 8601 format.

  - `payload.pnrs.data.airPnr.legs.flights.departureDateTime.iso8601` (string, required)
    Example: 2017-07-21T17:32

  - `payload.pnrs.data.airPnr.legs.flights.duration` (object)
    Represents a duration of time with specific units of time.

  - `payload.pnrs.data.airPnr.legs.flights.duration.iso8601` (string)
    Durations define the amount of intervening time in a time interval and are represented by the
format P[n]Y[n]M[n]DT[n]H[n]M[n]S.
The [n] is replaced by the value for each of the date and time elements that follow the [n].
Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are
designators for each of the date and time elements and are not replaced. P is the duration
designator (for period) placed at the start of the duration representation.
Y is the year designator.
M is the month designator.
W is the week designator.
D is the day designator.
T is the time designator.
H is the hour designator.
M is the minute designator.
S is the second designator and can include decimal digits with arbitrary precision.
    Example: PT19H55M

  - `payload.pnrs.data.airPnr.legs.flights.flightId` (string)
    Unique identifier for a flight.
    Example: CjoKOGNsYXNzIERhdGVUaW1lTG9jYWwgewogICAgaXNvO

  - `payload.pnrs.data.airPnr.legs.flights.origin` (string, required)
    3 letter IATA airport code for origin
    Example: SFO

  - `payload.pnrs.data.airPnr.legs.flights.destination` (string, required)
    3 letter IATA airport code for destination
    Example: LHR

  - `payload.pnrs.data.airPnr.legs.flights.departureGate` (object)
    Flight boarding / arrival gate

  - `payload.pnrs.data.airPnr.legs.flights.departureGate.gate` (string)
    Gate number
    Example: 1A

  - `payload.pnrs.data.airPnr.legs.flights.departureGate.terminal` (string)
    Airport terminal
    Example: 1

  - `payload.pnrs.data.airPnr.legs.flights.marketing` (object, required)
    Flight number and airline code.

  - `payload.pnrs.data.airPnr.legs.flights.marketing.num` (string, required)
    Flight number.
    Example: 321

  - `payload.pnrs.data.airPnr.legs.flights.marketing.airlineCode` (string, required)
    Two-letter IATA airline code.
    Example: AA

  - `payload.pnrs.data.airPnr.legs.flights.operatingAirlineName` (string)
    Free text operating airline name that has to be displayed to the user if present
    Example: SKYWEST DBA UNITED EXPRESS

  - `payload.pnrs.data.airPnr.legs.flights.hiddenStops` (array)
    Stops for refueling or getting more passengers

  - `payload.pnrs.data.airPnr.legs.flights.vendorConfirmationNumber` (string)
    Flight confirmation number
    Example: ABQTEJ

  - `payload.pnrs.data.airPnr.legs.flights.cabin` (string)
    Flight cabin
    Enum: "UNKNOWN_CABIN", "ECONOMY", "PREMIUM_ECONOMY", "BUSINESS", "FIRST"

  - `payload.pnrs.data.airPnr.legs.flights.bookingCode` (string)
    Flight Booking Code
    Example: A

  - `payload.pnrs.data.airPnr.legs.flights.flightStatus` (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"

  - `payload.pnrs.data.airPnr.legs.flights.otherStatuses` (array)
    Details about any duplicate flight segment. Cabin code and status of other duplicate 
segments.

  - `payload.pnrs.data.airPnr.legs.flights.co2EmissionDetail` (object)
    CO2 emission details for the flight.

  - `payload.pnrs.data.airPnr.legs.flights.co2EmissionDetail.emissionValue` (number, required)
    Estimated C02 emissions value for selected flight and seating class, per passenger (in tons)
    Example: 10

  - `payload.pnrs.data.airPnr.legs.flights.co2EmissionDetail.averageEmissionValue` (number)
    Average estimated C02 emissions per passenger for same route (in tons)
    Example: 10

  - `payload.pnrs.data.airPnr.legs.flights.co2EmissionDetail.flightDistanceKm` (number)
    Total distance flown by the flight in kilometres.
    Example: 10

  - `payload.pnrs.data.airPnr.legs.flights.co2EmissionDetail.isApproximate` (boolean)
    Indicates whether the emissions value is approximate or not.
    Example: true

  - `payload.pnrs.data.airPnr.legs.flights.flightUpdates` (object)
    Flight alerts like departure datetime change, gate change, etc.

  - `payload.pnrs.data.airPnr.legs.flights.flightUpdates.baggageBelt` (string)
    Baggage belt / claim carousel number for arrival (from FlightStats)
    Example: 7

  - `payload.pnrs.data.airPnr.legs.flights.sourceStatus` (string)
    Flight status code from supplier

  - `payload.pnrs.data.airPnr.legs.flights.equipment` (object)
    The type of the aircraft equipment

  - `payload.pnrs.data.airPnr.legs.flights.equipment.code` (string)
    Aircraft equipment code
    Example: 777

  - `payload.pnrs.data.airPnr.legs.flights.equipment.type` (string)
    Code representing the type of the equipment
    Example: N

  - `payload.pnrs.data.airPnr.legs.flights.equipment.name` (string)
    The name of the flight aircraft type
    Example: Boeing 737-800

  - `payload.pnrs.data.airPnr.legs.flights.distance` (object)
    Specifies the length or a distance.

  - `payload.pnrs.data.airPnr.legs.flights.distance.length` (number, required)
    Distance from search point.
    Example: 150

  - `payload.pnrs.data.airPnr.legs.flights.distance.unit` (string, required)
    Unit of measure being applied.
    Enum: "UNKNOWN_UNIT", "KM", "MILE", "CENTIMETER", "METER"

  - `payload.pnrs.data.airPnr.legs.flights.amenities` (array)
    The amenities associated with the flight.

  - `payload.pnrs.data.airPnr.legs.flights.flightIndex` (integer)
    Index of flight in the leg
    Example: 0

  - `payload.pnrs.data.airPnr.legs.flights.upas` (array)

  - `payload.pnrs.data.airPnr.legs.flights.utaIndices` (array)
    Indices into the Air.utas array for this flight's UTAs

  - `payload.pnrs.data.airPnr.legs.brandName` (string)
    Brand name
    Example: BUSFLEX

  - `payload.pnrs.data.airPnr.legs.validatingAirlineCode` (string)
    2 letter IATA airline code for validating airline
    Example: AA

  - `payload.pnrs.data.airPnr.legs.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"

  - `payload.pnrs.data.airPnr.legs.fareOffers` (array)
    Fare offers for this leg including baggage, cancellation policy, etc

  - `payload.pnrs.data.airPnr.legs.fareOffers.baggagePolicy` (object)
    Baggage policy for this traveler.

  - `payload.pnrs.data.airPnr.legs.fareOffers.baggagePolicy.checkedIn` (array, required)
    Policies for checked-in baggage

  - `payload.pnrs.data.airPnr.legs.fareOffers.baggagePolicy.carryOn` (array, required)
    Policies for carry-on baggage

  - `payload.pnrs.data.airPnr.legs.fareOffers.cancellationPolicy` (object)
    Information about the cancellation policy.

  - `payload.pnrs.data.airPnr.legs.fareOffers.cancellationPolicy.description` (string)
    Text describing the cancellation policy.
    Example: Non-refundable

  - `payload.pnrs.data.airPnr.legs.fareOffers.cancellationPolicy.assessmentType` (string)
    Enum: "NEUTRAL", "BENEFIT", "RESTRICTION", "FEE"

  - `payload.pnrs.data.airPnr.legs.fareOffers.cancellationPolicy.isCat16` (boolean)
    Is source cat16
    Example: true

  - `payload.pnrs.data.airPnr.legs.fareOffers.cancellationPolicy.isConditional` (boolean)
    Is conditional
    Example: true

  - `payload.pnrs.data.airPnr.legs.fareOffers.exchangePolicy` (object)
    Information about the exchange policy.

  - `payload.pnrs.data.airPnr.legs.fareOffers.exchangePolicy.description` (string)
    Text describing the exchange policy.
    Example: Change allowed for free

  - `payload.pnrs.data.airPnr.legs.fareOffers.exchangePolicy.isCat16` (boolean)
    Is source cat16
    Example: true

  - `payload.pnrs.data.airPnr.legs.fareOffers.exchangePolicy.isConditional` (boolean)
    Is conditional
    Example: true

  - `payload.pnrs.data.airPnr.legs.rateType` (string)
    Type of booked fare
    Enum: "RATE_TYPE_UNKNOWN", "PUBLISHED", "TMC_NEGOTIATED", "COMPANY_NEGOTIATED"

  - `payload.pnrs.data.airPnr.legs.legUpdates` (object)
    Alerts like connection risk for a leg

  - `payload.pnrs.data.airPnr.legs.legUpdates.connectionAlerts` (array)

  - `payload.pnrs.data.airPnr.legs.legUpdates.connectionAlerts.departingFlightIndex` (integer)
    Index of departing flight for this connection

  - `payload.pnrs.data.airPnr.legs.scheduleChangeInfo` (object)
    Schedule change information for the leg.

  - `payload.pnrs.data.airPnr.legs.scheduleChangeInfo.flightIndices` (array)
    List of flight indices in this leg which has schedule changes.

  - `payload.pnrs.data.airPnr.legs.scheduleChangeInfo.disruptedFlightIndices` (array)
    List of flight indices in the disrupted flights list in the air pnr which has schedule changes.

  - `payload.pnrs.data.airPnr.legs.scheduleChangeInfo.possibleActions` (array)
    Actions allowed for the user on the schedule change for this leg

  - `payload.pnrs.data.airPnr.legs.legIndex` (integer)
    Index of leg in the booking
    Example: 0

  - `payload.pnrs.data.airPnr.airPnrRemarks` (array)
    Remarks added for the pnr.

  - `payload.pnrs.data.airPnr.airPnrRemarks.remarkString` (string, required)
    Remark String
    Example: COMPLEATREMARK

  - `payload.pnrs.data.airPnr.travelerInfos` (array, required)
    Information about traveler bookings

  - `payload.pnrs.data.airPnr.travelerInfos.airVendorCancellationInfo` (object)
    Airline-side cancellation records for a traveler's air transactions.

  - `payload.pnrs.data.airPnr.travelerInfos.airVendorCancellationInfo.airVendorCancellationObjects` (array)
    Vendor Cancellation

  - `payload.pnrs.data.airPnr.travelerInfos.airVendorCancellationInfo.airVendorCancellationObjects.vendorCancellationId` (string)
    Identifier returned by the vendor for a cancellation transaction
    Example: 1A2B3C

  - `payload.pnrs.data.airPnr.travelerInfos.airVendorCancellationInfo.airVendorCancellationObjects.flightAndLegIndices` (array)
    Vendor Cancellation

  - `payload.pnrs.data.airPnr.travelerInfos.createdMcos` (array)
    Created Mcos

  - `payload.pnrs.data.airPnr.travelerInfos.createdMcos.airline` (string)
    Code of the airline for which mco is created.

  - `payload.pnrs.data.airPnr.travelerInfos.createdMcos.mcoNumber` (string)
    Number of the mco created.

  - `payload.pnrs.data.airPnr.travelerInfos.createdMcos.isMcoVoided` (boolean)
    Whether the MCO was voided or not
    Example: false

  - `payload.pnrs.data.airPnr.travelerInfos.travelerIdx` (integer, required)
    Index of traveler in travelers list to which this info belongs
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.paxType` (string)
    Type of passenger
    Enum: "UNKNOWN_PASSENGER_TYPE", "ADULT", "CHILD", "INFANT", "INFANT_ON_LAP", "YOUTH", "SENIOR", "TEEN"

  - `payload.pnrs.data.airPnr.travelerInfos.paxCurrentAge` (object)
    Age of the traveler

  - `payload.pnrs.data.airPnr.travelerInfos.paxCurrentAge.numYears` (integer, required)
    Age of the passenger
    Example: 22

  - `payload.pnrs.data.airPnr.travelerInfos.tickets` (array)
    Tickets belonging to this traveler

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketNumber` (string, required)
    Ticket number
    Example: 0017574214321

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketType` (string)
    Ticket type
    Enum: "UNKNOWN_TICKET_TYPE", "FLIGHT", "ANCILLARY", "MIXED"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.status` (string)
    Ticket status
    Enum: "UNKNOWN", "ISSUED", "VOIDED", "REFUNDED", "EXCHANGED"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.additionalFareAmounts` (array)
    Additional charges on the ticket like change penalty, flight pass additional charge etc.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.flightCoupons` (array)
    List of flight coupons in this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ancillaries` (array)
    List of ancillaries in this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.validatingAirlineCode` (string)
    2 letter IATA airline code for the validating/ticketing airline
    Example: AA

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangePolicy` (object)
    Ticket exchange policy
> **Note:** If the value of `pnrs.data.sourceInfo.bookingSource` is `TRAVEL_FUSION` then the `exchangePolicy` field will be empty.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangePolicy.isExchangeable` (boolean)
    Is ticket exchangeable or not
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangePolicy.isCat16` (boolean)
    Is source cat16
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangePolicy.isConditional` (boolean)
    Is conditional
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangeInfo` (object)
    Ticket exchange info

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangeInfo.originalTicketNumber` (string, required)
    If the ticket was created as part of an exchange, the original ticket that was exchanged to create this ticket.
    Example: 0017574214321

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangeInfo.originalTicketDetails` (object)
    Original ticket details in case of an exchange ticket.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangeInfo.residueType` (string)
    Type of residue for cases where the ticket is exchanged to a lower amount
    Enum: "NO_RESIDUE", "MCO", "FORFEITED", "REFUNDED"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.exchangeInfo.addCollectTaxBreakdown` (object)
    Tax breakdown information for this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.refundPolicy` (object)
    Ticket refund policy
> **Note:** If the value of `pnrs.data.sourceInfo.bookingSource` is `TRAVEL_FUSION` then the `refundPolicy` field will be empty.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.refundPolicy.isRefundable` (boolean)
    Is ticket refundable or not
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.refundPolicy.isRefundableByObt` (boolean)
    Is ticket refundable or not in OBT
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.refundPolicy.isCat16` (boolean)
    Is source cat16
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.refundPolicy.isConditional` (boolean)
    Is conditional
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.refundInfo` (object)
    Ticket refund info

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.llfInfo` (object)
    Information about lowest logical fare for this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.llfInfo.reason` (string)
    Free form text if selected reason code is OTHER
    Example: Want a stop in London

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.commission` (object)
    Ticket commission info

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.commission.percent` (number)
    The percentage of the base amount that we are getting as commission
    Example: 10

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.iataNumber` (string)
    Iata number

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.fareCalculation` (string)
    Fare calculation line

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.paymentDetails` (array)
    List of payment details for this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketSettlement` (string)
    Ticket settlement
    Enum: "UNKNOWN_TICKET_SETTLEMENT", "ARC_TICKET", "BSP_TICKET", "NON_ARC_BSP_TICKET"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketCtc` (object)
    The cost to customer for this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketCtc.cost` (array, required)

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.airlineFeeDetails` (object)
    Details of the airline fee charged by the airline. It contains breakdown of the fee into base and tax amounts and ob fee percentage

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.airlineFeeDetails.percent` (number)
    OB Percent, there is no connection with this percentage and amount
    Example: 2.25

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.vendorCancellationId` (string)
    Cancellation id sent by the supplier.
    Example: 2108528068

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.conjunctionTicketSuffix` (array)
    List of ticket suffix in case of multiple coupons in a single ticket from GDS

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit` (object)
    Information regarding an unused credit.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.sourcePnr` (string)
    PNR number corresponding to third party through which booking was made.
    Example: MC5ONS

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.spotnanaPnr` (string)
    Spotnana pnr ID.
    Example: 2345678

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.ticketNumber` (string)
    Ticket number for the ticket that was converted into an unused credit.
    Example: 5267779139217

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.airlineCode` (string)
    2 letter airline code of the airline associated with this unused credit.
    Example: AA

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.segmentsAvailable` (string)
    Whether all segments are unused or some have already been used.
    Enum: "UNKNOWN", "ALL_OPEN", "PARTIAL", "OTHER"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.departureCountry` (string)
    3 letter country code of the departure country associated with the original ticket.
    Example: USA

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.arrivalCountry` (string)
    3 letter country code of the arrival country associated with the original ticket.
    Example: USA

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.ticketType` (string)
    Type of credit.
    Enum: "TICKET_TYPE_UNKNOWN", "ETICKET", "MCO", "NON_GDS"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.pcc` (string)
    PCC the credit was issued on.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.status` (string)
    Status of the credit.
    Enum: "STATUS_UNKNOWN", "OPEN", "USED", "RESERVED"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.tripId` (string)
    Trip ID that contains the unused credit
    Example: 1234567

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.redeemVia` (string)
    Credit redemption method.
If the value contains `CONTACT_AGENT`, then the agent must book the ticket and redeem the credits on behalf of the traveler.
    Enum: "REDEEM_VIA_OBT", "CONTACT_AGENT"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.sourceOfTruth` (string)
    The system that owns the credit.
    Enum: "SPOTNANA", "MANUAL_FORM", "MAGNATECH", "BCD", "OBT", "CWT"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.owningPcc` (string)
    PCC the PNR was created on.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.paymentSourceId` (string)
    Payment source ID associated with the credit.
    Example: edd5b835-8001-430c-98f8-fedeccebe4cf

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.creditUsageType` (string)
    Usage type of the credit.
    Enum: "CREDIT_USAGE_TYPE_UNKNOWN", "COMPANY", "PERSONAL"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.email` (string)
    Email of the passenger owning the unused credit.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.fopInfo` (object)
    Form of payment information associated with an unused credit.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.fopLabel` (string)
    The label associated with the FOP. This value can be empty if that particular FOP does not have any label.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.exchangeInfo` (object)
    Exchange information for unused credits.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.fopCardAccessType` (string)
    The card access type of the FOP associated with the unused credit.
    Enum: "CARD_ACCESS_CENTRAL", "CARD_ACCESS_PERSONAL", "CARD_ACCESS_CORPORATE"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.legalEntityName` (string)
    The name of the legal entity associated with this unused credit.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.createdUnusedCredit.countryCode` (string)
    Country code of the credit's Point-of-Sale market, derived from the credit's PCC.
    Example: US

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketScheduleChangeInformation` (object)
    Schedule change information for this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketScheduleChangeInformation.possibleActions` (array)

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketScheduleChangeInformation.refundInfo` (object)
    Refund information if applicable for this ticket

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.pcc` (string)
    The ticketing PCC for this ticket.
    Example: ABCD

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.savingsFare` (object)
    Total savings present.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.savingsFare.isTaxIncluded` (boolean)

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.preBookAnswers` (object)

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.preBookAnswers.answers` (array)

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.preBookAnswers.preBookQuestionResponseId` (string)
    The unique id sent back in the pre book questions API response

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketIncompleteReasons` (array)
    List of reasons for ticket being incomplete

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.associatedTicketNumber` (string)
    The associated ticket number for this ticket
    Example: 1251913362894

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.rficCode` (string)
    Reason for issuance code
    Example: D

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.journeyCode` (string)
    Journey code
    Example: 1

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.hemisphereCode` (string)
    Hemisphere code
    Example: 9

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.markup` (object)
    Markup applied on this ticket by the TMC

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.mcoIssuanceEligibility` (string)
    Type of residue for cases where the ticket is exchanged to a lower amount
    Enum: "ELIGIBLE", "NOT_ELIGIBLE", "MAYBE_ELIGIBLE"

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.emdInfo` (object)
    EMD Information of this ticket if applicable

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.emdInfo.emdType` (string)
    Type of EMD
    Example: ASSOCIATED

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.emdInfo.rficCode` (string)
    Reason for issuance code
    Example: D

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.emdInfo.rfiscCode` (string)
    Reason for issuance sub-code
    Example: 992

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.emdInfo.associatedEticketCouponIndices` (array)
    List of associated eTicket coupon indices

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.emdInfo.productName` (string)
    Product name
    Example: TICKET AMENDMENT FEE

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.taxInfo` (object)
    Tax meta data associated with this ticket if applicable

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.taxInfo.gstCode` (string)
    GST Code
    Example: D

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.taxInfo.qstCode` (string)
    QST Code
    Example: C

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.flightCreditInfo` (object)
    Flight credit information if this ticket was converted to flight credit

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.flightCreditInfo.isConvertedToFlightCredit` (boolean)
    Is converted to Flight Credit
    Example: true

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketPolicyInfo` (object)
    Travel-policy information recorded against an air ticket.

  - `payload.pnrs.data.airPnr.travelerInfos.tickets.ticketPolicyInfo.isPersonalUpgrade` (boolean)
    Indicates that this booking exceeded the allowed policy budget with the extra amount being charged on the traveler.
    Example: false

  - `payload.pnrs.data.airPnr.travelerInfos.boardingPass` (array)
    Boarding pass details.

  - `payload.pnrs.data.airPnr.travelerInfos.boardingPass.legIndex` (integer)
    Index of leg to which this boarding pass belongs.
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.boardingPass.flightIndex` (integer)
    Index of flight in it's leg to which this boarding pass belongs.
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.boardingPass.boardingPriority` (string)
    Boarding Priority for airlines like Southwest which have open seating.
    Example: A

  - `payload.pnrs.data.airPnr.travelerInfos.boardingPass.boardingZone` (string)
    Boarding zone for airlines like Southwest which have open seating.
    Example: 16

  - `payload.pnrs.data.airPnr.travelerInfos.booking` (object, required)
    Info about all booked items

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats` (array)
    Seat booking info

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats.legIdx` (integer)
    Index of leg to which this seat belongs
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats.flightIdx` (integer)
    Index of flight in it's leg to which this seat belongs
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats.number` (string)
    Assigned seat number
    Example: 32A

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats.status` (string)
    Status of assigned seat.
    Enum: "CONFIRMED", "PENDING", "UNKNOWN", "CANCELLED"

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats.sourceStatus` (string)
    Raw status code of the seat. E.g. HK, KK.
    Example: HK

  - `payload.pnrs.data.airPnr.travelerInfos.booking.seats.assignmentType` (string)
    The type of seat assignment
    Enum: "AUTO_ASSIGNED"

  - `payload.pnrs.data.airPnr.travelerInfos.booking.luggageDetails` (array)
    Additional luggage info

  - `payload.pnrs.data.airPnr.travelerInfos.booking.luggageDetails.legIdx` (integer)
    Index of leg to which this luggage belongs. If -1, belongs to all legs
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.booking.luggageDetails.weightKg` (integer, required)
    Total weight in Kgs
    Example: 40

  - `payload.pnrs.data.airPnr.travelerInfos.booking.luggageDetails.numBags` (integer)
    Number of bags.
    Example: 2

  - `payload.pnrs.data.airPnr.travelerInfos.booking.luggageDetails.status` (string)
    Status of baggage
    Enum: "UNKNOWN", "CONFIRMED", "PENDING", "CANCELLED"

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherAncillaries` (array)
    Ancillaries other than seat and luggage

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherAncillaries.type` (string, required)
    Type of ancillary
    Enum: "EARLY_BIRD", "WIFI", "CARBON_OFFSET"

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherAncillaries.legIndex` (integer)
    Index of leg to which this ancillary belongs. If an ancillary belongs to all legs,
this index should be set to -1
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherAncillaries.flightIndex` (integer)
    Index of flight in it's leg to which this ancillary belongs. If an ancillary 
belongs to all flights, this index should be set to -1
    Example: 0

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherAncillaries.status` (string, required)
    Status of this ancillary
    Enum: "ANCILLARY_STATUS_UNKNOWN", "CONFIRMED", "PENDING", "CANCELLED", "ELIGIBLE", "NOT_APPLICABLE"

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherAncillaries.flightIds` (array, required)

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherCharges` (array)
    Extra charges over flight fare, seat and luggage.

  - `payload.pnrs.data.airPnr.travelerInfos.booking.otherCharges.type` (string, required)
    Name of extra item
    Example: Meal

  - `payload.pnrs.data.airPnr.travelerInfos.appliedCredits` (array)
    Information about credit redeemed in booking.

  - `payload.pnrs.data.airPnr.travelerInfos.appliedCredits.creditId` (string, required)
    Unique ID of credit applied. For example, numeric ID of unused ticket.
    Example: 0017574214321

  - `payload.pnrs.data.airPnr.travelerInfos.appliedCredits.ticketType` (string)
    Type of credit.
    Enum: "ETICKET", "MCO"

  - `payload.pnrs.data.airPnr.travelerInfos.specialServiceRequestInfos` (array)
    List of all the Special Service Requests associated with the traveler.

  - `payload.pnrs.data.airPnr.travelerInfos.specialServiceRequestInfos.code` (string)
    4 letter Special Service Request code.

  - `payload.pnrs.data.airPnr.travelerInfos.specialServiceRequestInfos.customText` (string)
    Free text string for special request.

  - `payload.pnrs.data.airPnr.travelerInfos.specialServiceRequestInfos.flightIndex` (integer)
    Index of flight mapping with the special service request, starts with 0.

  - `payload.pnrs.data.airPnr.travelerInfos.specialServiceRequestInfos.legIndex` (integer)
    Index of leg mapping with the special service request, starts with 0.

  - `payload.pnrs.data.airPnr.travelerInfos.specialServiceRequestInfos.status` (string)
    Status of the Special Service Request.
    Enum: "SPECIAL_SERVICE_REQUEST_STATUS_UNKNOWN", "CONFIRMED", "REQUESTED", "UNABLE_TO_CONFIRM", "DENIED"

  - `payload.pnrs.data.airPnr.travelerInfos.lastConfirmedTickets` (array)
    List of tickets from last confirmed version. These will only be set for cancelled PNRs.

  - `payload.pnrs.data.airPnr.travelerInfos.nameNumber` (string)
    Name number associated to the traveler like 1.1, 2.1 from Sabre
    Example: 1.1

  - `payload.pnrs.data.airPnr.automatedCancellationInfo` (object)
    Info related to possible automated cancellations

  - `payload.pnrs.data.airPnr.automatedCancellationInfo.supportedCancellations` (array)
    Supported automated cancellations. If this list is empty, automated cancellation is not 
supported for this booking

  - `payload.pnrs.data.airPnr.automatedCancellationInfo.supportedCancellations.cancelType` (string, required)
    Type of cancellation
    Enum: "VOID", "REFUND"

  - `payload.pnrs.data.airPnr.automatedExchangeInfo` (object)
    Info related to possible automated exchange

  - `payload.pnrs.data.airPnr.automatedExchangeInfo.supportedExchanges` (array)
    Supported automated exchanges. If this list is empty, automated exchange is not 
supported for this booking.

  - `payload.pnrs.data.airPnr.automatedExchangeInfo.supportedExchanges.legInfos` (array)
    List of legs supported for this exchange

  - `payload.pnrs.data.airPnr.automatedExchangeInfo.supportedExchanges.legInfos.legIdx` (integer, required)
    Example: 1

  - `payload.pnrs.data.airPnr.bookingMetadata` (object)
    Metadata like fare statistics for this booking

  - `payload.pnrs.data.airPnr.bookingMetadata.fareStatistics` (object)

  - `payload.pnrs.data.airPnr.bookingMetadata.fareStatistics.statisticsItems` (array, required)

  - `payload.pnrs.data.airPnr.bookingMetadata.fareStatistics.statisticsItems.statisticType` (string, required)
    Enum: "MINIMUM", "MEDIAN", "MAXIMUM"

  - `payload.pnrs.data.airPnr.bookingMetadata.fareStatistics.cheapestFares` (array)

  - `payload.pnrs.data.airPnr.bookingMetadata.fareStatistics.cheapestFares.fareType` (string)
    Type of fare
    Enum: "PUBLISHED", "CORPORATE", "PRIVATE_MARKETED_PUBLIC", "PRIVATE"

  - `payload.pnrs.data.airPnr.otherServiceInfos` (array)
    List of all the Other Service Information associated with the PNR.

  - `payload.pnrs.data.airPnr.otherServiceInfos.customText` (string)
    The special instruction is given in the form of text.
    Example: Wheelchair access

  - `payload.pnrs.data.airPnr.otherServiceInfos.flightIndexes` (array)
    Index of flight mapping with the OSI, starts with 0. One OSI belong to one airline, so all the segments of an airline will have the same OSI.

  - `payload.pnrs.data.airPnr.otherServiceInfos.flightIndexes.flightIndex` (integer)
    Flight index within a leg, starts from 0.
    Example: 0

  - `payload.pnrs.data.airPnr.otherServiceInfos.flightIndexes.legIndex` (integer)
    Leg index within a pnr, starts from 0.
    Example: 1

  - `payload.pnrs.data.airPnr.holdDeadline` (object)
    Hold Information about the booking.

  - `payload.pnrs.data.airPnr.airPriceOptimizationMetadata` (object)
    Information related to air price optimization if PNR has been rebooked.

  - `payload.pnrs.data.airPnr.airPriceOptimizationMetadata.oldTickets` (array)
    List of old tickets present in PNR before rebook.
For non-ticketed PNRs, tickets will not be present.

  - `payload.pnrs.data.airPnr.airPriceOptimizationMetadata.newTickets` (array)
    List of new tickets in PNR after rebook.
For non-ticketed PNRs, tickets will not be present.

  - `payload.pnrs.data.airPnr.airPriceOptimizationMetadata.oldPnrId` (string, required)
    Old Spotnana PnrId of the PNR before rebook.
    Example: 6789533589

  - `payload.pnrs.data.airPnr.airPriceOptimizationMetadata.newPnrId` (string, required)
    New Spotnana PnrId of the PNR after rebook.
If the same PNR has been modified during rebook, oldPnrId and newPnrId will be same.
If a new PNR has been booked during rebook, oldPnrId and newPnrId will be different.
    Example: 6789533589

  - `payload.pnrs.data.airPnr.disruptedFlightDetails` (array)
    List of all the last confirmed flights that have changed via disruption by the airline.

  - `payload.pnrs.data.airPnr.disruptedFlightDetails.originAirportCode` (string, required)
    3 letter IATA airport code for origin
    Example: SFO

  - `payload.pnrs.data.airPnr.disruptedFlightDetails.destinationAirportCode` (string, required)
    3 letter IATA airport code for destination
    Example: LHR

  - `payload.pnrs.data.airPnr.voidPolicy` (object)
    Void policy information for the PNR

  - `payload.pnrs.data.airPnr.voidPolicy.isVoidable` (boolean)
    Set to true if either PNR is not ticketed or the PNR can be voided based on all the pre validation checks
    Example: true

  - `payload.pnrs.data.airPnr.voidPolicy.isInfoAvailable` (boolean)
    If false, void policy is not available for the PNR
    Example: true

  - `payload.pnrs.data.airPnr.utas` (array)
    Universal Travel Attributes for amenities and policies

  - `payload.pnrs.data.airPnr.utas.postDepartureExchangePolicy` (object)
    Air UTA data

  - `payload.pnrs.data.airPnr.utas.postDepartureExchangePolicy.summary` (object)

  - `payload.pnrs.data.airPnr.utas.postDepartureExchangePolicy.summary.headline` (string)
    Summary headline

  - `payload.pnrs.data.airPnr.utas.postDepartureExchangePolicy.summary.summaryDescription` (string)
    Summary description

  - `payload.pnrs.data.airPnr.utas.postDepartureExchangePolicy.value` (object)
    Policy value which can be used by clients to decide how this policy is displayed.

  - `payload.pnrs.data.airPnr.utas.postDepartureExchangePolicy.value.seat` (string)
    Enum: "UNKNOWN", "STANDARD", "RECLINER", "ANGLE_FLAT", "FLAT", "SUITE"

  - `payload.pnrs.data.airPnr.utas.baggage` (object)

  - `payload.pnrs.data.airPnr.utas.baggage.checkedBags` (array)

  - `payload.pnrs.data.airPnr.utas.baggage.carryOns` (array)

  - `payload.pnrs.data.airPnr.utas.baggage.personalItems` (array)

  - `payload.pnrs.data.airPnr.showRawFareRules` (boolean)
    For FE to show raw fare rules
    Example: false

  - `payload.pnrs.data.hotelPnr` (object)
    Hotel PNR information

  - `payload.pnrs.data.hotelPnr.hotelInfo` (object, required)
    Hotel info

  - `payload.pnrs.data.hotelPnr.hotelInfo.chainCode` (string)
    Chain code of the hotel.
    Example: RF

  - `payload.pnrs.data.hotelPnr.hotelInfo.chainName` (string)
    Chain name of the hotel.
    Example: Red Roof Inns

  - `payload.pnrs.data.hotelPnr.hotelInfo.email` (string)
    Email address of the hotel.
    Example: user@business.com

  - `payload.pnrs.data.hotelPnr.hotelInfo.hotelId` (string)
    Hotel id.
    Example: 100094780

  - `payload.pnrs.data.hotelPnr.hotelInfo.name` (string, required)
    Name of the hotel.
    Example: San Francisco Airport Red Roof

  - `payload.pnrs.data.hotelPnr.hotelInfo.starRating` (number)
    Star rating of the hotel.
    Example: 3.5

  - `payload.pnrs.data.hotelPnr.hotelInfo.fax` (array)

  - `payload.pnrs.data.hotelPnr.hotelInfo.masterChainCode` (string)
    Master chain code of the hotel.
    Example: EM

  - `payload.pnrs.data.hotelPnr.hotelInfo.brandName` (string)
    Brand name of the hotel.
    Example: Marriott Hotel Brands

  - `payload.pnrs.data.hotelPnr.hotelInfo.amenities` (array)

  - `payload.pnrs.data.hotelPnr.hotelInfo.amenities.type` (string)
    Type of hotel amenity.
    Enum: "TWENTY_FOUR_HOUR_FRONT_DESK", "TWENTY_FOUR_HOUR_ROOM_SERVICE", "TWENTY_FOUR_HOUR_SECURITY", "ADJOINING_ROOMS", "AIR_CONDITIONING", "AIRLINE_DESK", "ATM_CASH_MACHINE", "BABY_SITTING", "BBQ_PICNIC_AREA", "BILINGUAL_STAFF", "BOOKSTORE", "BOUTIQUES_STORES", "BRAILED_ELEVATORS", "BUSINESS_LIBRARY", "CAR_RENTAL_DESK", "CASINO", "CHECK_CASHING_POLICY", "CHECK_IN_KIOSK", "COCKTAIL_LOUNGE", "COFFEE_SHOP", "COIN_OPERATED_LAUNDRY", "CONCIERGE_DESK", "CONCIERGE_FLOOR", "CONFERENCE_FACILITIES", "COURTYARD", "CURRENCY_EXCHANGE", "DESK_WITH_ELECTRICAL_OUTLET", "DOCTOR_ON_CALL", "DOOR_MAN", "DRIVING_RANGE", "DRUGSTORE_PHARMACY", "DUTY_FREE_SHOP", "ELEVATORS", "EXECUTIVE_FLOOR", "EXERCISE_GYM", "EXPRESS_CHECK_IN", "EXPRESS_CHECK_OUT", "FAMILY_PLAN", "FLORIST", "FOLIOS", "FREE_AIRPORT_SHUTTLE", "FREE_PARKING", "FREE_TRANSPORTATION", "GAME_ROOM", "GIFT_NEWS_STAND", "HAIRDRESSER_BARBER", "ACCESSIBLE_FACILITIES", "HEALTH_CLUB", "HEATED_POOL", "HOUSEKEEPING_DAILY", "HOUSEKEEPING_WEEKLY", "ICE_MACHINE", "INDOOR_PARKING", "INDOOR_POOL", "JACUZZI", "JOGGING_TRACK", "KENNELS", "LAUNDRY_VALET_SERVICE", "LIQUOR_STORE", "LIVE_ENTERTAINMENT", "MASSAGE_SERVICES", "NIGHTCLUB", "OFF_SITE_PARKING", "ON_SITE_PARKING", "OUTDOOR_PARKING", "OUTDOOR_POOL", "PACKAGE_PARCEL_SERVICES", "PARKING", "PHOTOCOPY_CENTER", "PLAYGROUND", "POOL", "POOLSIDE_SNACK_BAR", "PUBLIC_ADDRESS_SYSTEM", "RAMP_ACCESS", "RECREATIONAL_VEHICLE_PARKING", "RESTAURANT", "ROOM_SERVICE", "SAFE_DEPOSIT_BOX", "SAUNA", "SECURITY", "SHOE_SHINE_STAND", "SHOPPING_MALL", "SOLARIUM", "SPA", "SPORTS_BAR", "STEAM_BATH", "STORAGE_SPACE", "SUNDRY_CONVENIENCE_STORE", "TECHNICAL_CONCIERGE", "THEATRE_DESK", "TOUR_SIGHTSEEING_DESK", "TRANSLATION_SERVICES", "TRAVEL_AGENCY", "TRUCK_PARKING", "VALET_CLEANING", "DRY_CLEANING", "VALET_PARKING", "VENDING_MACHINES", "VIDEO_TAPES", "WAKEUP_SERVICE", "WHEELCHAIR_ACCESS", "WHIRLPOOL", "MULTILINGUAL_STAFF", "WEDDING_SERVICES", "BANQUET_FACILITIES", "BELL_STAFF_PORTER", "BEAUTY_SHOP_SALON", "COMPLIMENTARY_SELF_SERVICE_LAUNDRY", "DIRECT_DIAL_TELEPHONE", "FEMALE_TRAVELER_ROOM_FLOOR", "PHARMACY", "STABLES", "ONE_TWENTY_AC", "ONE_TWENTY_DC", "TWO_TWENTY_AC", "ACCESSIBLE_PARKING", "TWO_TWENTY_DC", "BARBEQUE_GRILLS", "WOMENS_CLOTHING", "MENS_CLOTHING", "CHILDRENS_CLOTHING", "SHOPS_AND_COMMERCIAL_SERVICES", "VIDEO_GAMES", "SPORTS_BAR_OPEN_FOR_LUNCH", "SPORTS_BAR_OPEN_FOR_DINNER", "ROOM_SERVICE_FULL_MENU", "ROOM_SERVICE_LIMITED_MENU", "ROOM_SERVICE_LIMITED_HOURS", "VALET_SAME_DAY_DRY_CLEANING", "BODY_SCRUB", "BODY_WRAP", "PUBLIC_AREA_AIR_CONDITIONED", "EFOLIO_AVAILABLE_TO_COMPANY", "INDIVIDUAL_EFOLIO_AVAILABLE", "VIDEO_REVIEW_BILLING", "BUTLER_SERVICE", "COMPLIMENTARY_IN_ROOM_COFFEE_OR_TEA", "COMPLIMENTARY_BUFFET_BREAKFAST", "COMPLIMENTARY_COCKTAILS", "COMPLIMENTARY_COFFEE_IN_LOBBY", "COMPLIMENTARY_CONTINENTAL_BREAKFAST", "COMPLIMENTARY_FULL_AMERICAN_BREAKFAST", "DINNER_DELIVERY_SERVICE_FROM_LOCAL_RESTAURANT", "COMPLIMENTARY_NEWSPAPER_DELIVERED_TO_ROOM", "COMPLIMENTARY_NEWSPAPER_IN_LOBBY", "COMPLIMENTARY_SHOESHINE", "EVENING_RECEPTION", "FRONT_DESK", "GROCERY_SHOPPING_SERVICE_AVAILABLE", "HALAL_FOOD_AVAILABLE", "KOSHER_FOOD_AVAILABLE", "LIMOUSINE_SERVICE", "MANAGERS_RECEPTION", "MEDICAL_FACILITIES_SERVICE", "TELEPHONE_JACK_ADAPTOR_AVAILABLE", "ALL_INCLUSIVE_MEAL_PLAN", "BUFFET_BREAKFAST", "COMMUNAL_BAR_AREA", "CONTINENTAL_BREAKFAST", "FULL_MEAL_PLAN", "FULL_AMERICAN_BREAKFAST", "MEAL_PLAN_AVAILABLE", "MODIFIED_AMERICAN_MEAL_PLAN", "FOOD_AND_BEVERAGE_OUTLETS", "LOUNGES_BARS", "BARBER_SHOP", "VIDEO_CHECKOUT", "ONSITE_LAUNDRY", "TWENTY_FOUR_HOUR_FOOD_AND_BEVERAGE_KIOSK", "CONCIERGE_LOUNGE", "PARKING_FEE_MANAGED_BY_HOTEL", "TRANSPORTATION", "BREAKFAST_SERVED_IN_RESTAURANT", "LUNCH_SERVED_IN_RESTAURANT", "DINNER_SERVED_IN_RESTAURANT", "FULL_SERVICE_HOUSEKEEPING", "LIMITED_SERVICE_HOUSEKEEPING", "HIGH_SPEED_INTERNET_ACCESS_FOR_LAPTOP_IN_PUBLIC_AREAS", "WIRELESS_INTERNET_CONNECTION_IN_PUBLIC_AREAS", "ADDITIONAL_SERVICES_AMENITIES_FACILITIES_ON_PROPERTY", "TRANSPORTATION_SERVICES_LOCAL_AREA", "TRANSPORTATION_SERVICES_LOCAL_OFFICE", "DVD_VIDEO_RENTAL", "PARKING_LOT", "PARKING_DECK", "STREET_SIDE_PARKING", "COCKTAIL_LOUNGE_WITH_ENTERTAINMENT", "COCKTAIL_LOUNGE_WITH_LIGHT_FARE", "MOTORCYCLE_PARKING", "PHONE_SERVICES", "BALLROOM", "BUS_PARKING", "CHILDRENS_PLAY_AREA", "CHILDRENS_NURSERY", "DISCO", "EARLY_CHECK_IN", "LOCKER_ROOM", "NON_SMOKING_ROOMS_GENERIC", "TRAIN_ACCESS", "AEROBICS_INSTRUCTION", "BAGGAGE_HOLD", "BICYCLE_RENTALS", "DIETICIAN", "LATE_CHECK_OUT_AVAILABLE", "PET_SITTING_SERVICES", "PRAYER_MATS", "SPORTS_TRAINER", "TURNDOWN_SERVICE", "DVDS_VIDEOS_CHILDREN", "BANK", "LOBBY_COFFEE_SERVICE", "BANKING_SERVICES", "STAIRWELLS", "PET_AMENITIES_AVAILABLE", "EXHIBITION_CONVENTION_FLOOR", "LONG_TERM_PARKING", "CHILDREN_NOT_ALLOWED", "CHILDREN_WELCOME", "COURTESY_CAR", "HOTEL_DOES_NOT_PROVIDE_PORNOGRAPHIC_FILMS_TV", "HOTSPOTS", "FREE_HIGH_SPEED_INTERNET_CONNECTION", "INTERNET_SERVICES", "PETS_ALLOWED", "GOURMET_HIGHLIGHTS", "CATERING_SERVICES", "COMPLIMENTARY_BREAKFAST", "BUSINESS_CENTER", "BUSINESS_SERVICES", "SECURED_PARKING", "RACQUETBALL", "SNOW_SPORTS", "TENNIS_COURT", "WATER_SPORTS", "CHILD_PROGRAMS", "GOLF", "HORSEBACK_RIDING", "OCEANFRONT", "BEACHFRONT", "HAIR_DRYER", "IRONING_BOARD", "HEATED_GUEST_ROOMS", "TOILET", "PARLOR", "VIDEO_GAME_PLAYER", "THALASSOTHERAPY", "PRIVATE_DINING_FOR_GROUPS", "HEARING_IMPAIRED_SERVICES", "CARRYOUT_BREAKFAST", "DELUXE_CONTINENTAL_BREAKFAST", "HOT_CONTINENTAL_BREAKFAST", "HOT_BREAKFAST", "PRIVATE_POOL", "CONNECTING_ROOMS", "DATA_PORT", "EXTERIOR_CORRIDORS", "GULF_VIEW", "ACCESSIBLE_ROOMS", "HIGH_SPEED_INTERNET_ACCESS", "INTERIOR_CORRIDORS", "HIGH_SPEED_WIRELESS", "KITCHENETTE", "PRIVATE_BATH_OR_SHOWER", "FIRE_SAFETY_COMPLIANT", "WELCOME_DRINK", "BOARDING_PASS_PRINT_OUT_AVAILABLE", "PRINTING_SERVICES_AVAILABLE", "ALL_PUBLIC_AREAS_NON_SMOKING", "MEETING_ROOMS", "MOVIES_IN_ROOM", "SECRETARIAL_SERVICE", "SNOW_SKIING", "WATER_SKIING", "FAX_SERVICE", "GREAT_ROOM", "LOBBY", "MULTIPLE_PHONE_LINES_BILLED_SEPARATELY", "UMBRELLAS", "GAS_STATION", "GROCERY_STORE", "TWENTY_FOUR_HOUR_COFFEE_SHOP", "AIRPORT_SHUTTLE_SERVICE", "LUGGAGE_SERVICE", "PIANO_BAR", "VIP_SECURITY", "COMPLIMENTARY_WIRELESS_INTERNET", "CONCIERGE_BREAKFAST", "SAME_GENDER_FLOOR", "CHILDREN_PROGRAMS", "BUILDING_MEETS_LOCAL_STATE_AND_COUNTRY_BUILDING_CODES", "INTERNET_BROWSER_ON_TV", "NEWSPAPER", "PARKING_CONTROLLED_ACCESS_GATES_TO_ENTER_PARKING_AREA", "HOTEL_SAFE_DEPOSIT_BOX_NOT_ROOM_SAFE_BOX", "STORAGE_SPACE_AVAILABLE_FEE", "TYPE_OF_ENTRANCES_TO_GUEST_ROOMS", "BEVERAGE_COCKTAIL", "CELL_PHONE_RENTAL", "COFFEE_TEA", "EARLY_CHECK_IN_GUARANTEE", "FOOD_AND_BEVERAGE_DISCOUNT", "LATE_CHECK_OUT_GUARANTEE", "ROOM_UPGRADE_CONFIRMED", "ROOM_UPGRADE_ON_AVAILABILITY", "SHUTTLE_TO_LOCAL_BUSINESSES", "SHUTTLE_TO_LOCAL_ATTRACTIONS", "SOCIAL_HOUR", "VIDEO_BILLING", "WELCOME_GIFT", "HYPOALLERGENIC_ROOMS", "ROOM_AIR_FILTRATION", "SMOKE_FREE_PROPERTY", "WATER_PURIFICATION_SYSTEM_IN_USE", "POOLSIDE_SERVICE", "CLOTHING_STORE", "ELECTRIC_CAR_CHARGING_STATIONS", "OFFICE_RENTAL", "PIANO", "INCOMING_FAX", "OUTGOING_FAX", "SEMI_PRIVATE_SPACE", "LOADING_DOCK", "BABY_KIT", "CHILDRENS_BREAKFAST", "CLOAKROOM_SERVICE", "COFFEE_LOUNGE", "EVENTS_TICKET_SERVICE", "LATE_CHECK_IN", "LIMITED_PARKING", "OUTDOOR_SUMMER_BAR_CAFE", "NO_PARKING_AVAILABLE", "BEER_GARDEN", "GARDEN_LOUNGE_BAR", "SUMMER_TERRACE", "WINTER_TERRACE", "ROOF_TERRACE", "BEACH_BAR", "HELICOPTER_SERVICE", "FERRY", "TAPAS_BAR", "CAFE_BAR", "SNACK_BAR", "GUESTROOM_WIRED_INTERNET", "GUESTROOM_WIRELESS_INTERNET", "FITNESS_CENTER", "ALCOHOLIC_BEVERAGES", "NON_ALCOHOLIC_BEVERAGES", "HEALTH_AND_BEAUTY_SERVICES", "LOCAL_CALLS", "MINIBAR", "REFRIGERATOR", "IN_ROOM_SAFE", "SMOKING_ROOMS_AVAILBLE", "MOUNTAIN_VIEW", "POOL_VIEW", "BEACH_VIEW", "OCEAN_VIEW", "ROOMS_WITH_BALCONY", "FAMILY_ROOM", "CRIB_CHARGE", "ROLLAWAY_ADULT", "FREE_WIFI_IN_MEETING_ROOMS", "ECO_FRIENDLY", "EXTRA_PERSON", "STAY_SAFE", "ENHANCED_HYGIENE_CLEANLINESS_PROTOCOLS"

  - `payload.pnrs.data.hotelPnr.hotelInfo.amenities.additionalInfo` (string)
    Amenity description
    Example: Complimentary in-room coffee or tea

  - `payload.pnrs.data.hotelPnr.hotelInfo.amenities.complimentary` (boolean)
    Is Amenity complimentary
    Example: true

  - `payload.pnrs.data.hotelPnr.hotelInfo.additionalAmenities` (array)
    List of amenities provided by the supplier.
    Example: ["Room service","Wifi"]

  - `payload.pnrs.data.hotelPnr.hotelInfo.imageSets` (array)

  - `payload.pnrs.data.hotelPnr.hotelInfo.imageSets.category` (string, required)
    Category of image such as exterior, spa, etc.
    Enum: "UNKNOWN_CATEGORY", "EXTERIOR_VIEW", "LOBBY_VIEW", "POOL_VIEW", "RESTAURANT", "HEALTH_CLUB", "GUEST_ROOM", "SUITE", "MEETING_ROOM", "BALLROOM", "GOLF_COURSE", "BEACH", "SPA", "BAR_OR_LOUNGE", "RECREATIONAL_FACILITY", "LOGO", "BASICS", "MAP", "PROMOTIONAL", "HOT_NEWS", "MISCELLANEOUS", "GUEST_ROOM_AMENITY", "PROPERTY_AMENITY", "BUSINESS_CENTER"

  - `payload.pnrs.data.hotelPnr.hotelInfo.imageSets.imageGroup` (object, required)
    Contains different sizes of the same image.

  - `payload.pnrs.data.hotelPnr.hotelInfo.imageSets.imageGroup.caption` (string)
    Caption for the image.
    Example: Exterior

  - `payload.pnrs.data.hotelPnr.hotelInfo.imageSets.imageGroup.images` (array, required)
    List of images.

  - `payload.pnrs.data.hotelPnr.hotelInfo.descriptions` (array)

  - `payload.pnrs.data.hotelPnr.hotelInfo.descriptions.type` (string)
    Hotel description type
    Enum: "GENERAL", "ALERTS", "DINING", "FACILITIES", "RECREATION", "SERVICES", "ATTRACTIONS", "CANCELLATION_POLICY", "DEPOSIT_POLICY", "DIRECTIONS", "POLICIES", "SAFETY", "TRANSPORTATION"

  - `payload.pnrs.data.hotelPnr.hotelInfo.descriptions.value` (string)
    Hotel description value

  - `payload.pnrs.data.hotelPnr.hotelInfo.thirdPartyHotelCodes` (array)

  - `payload.pnrs.data.hotelPnr.hotelInfo.thirdPartyHotelCodes.hotelCode` (string, required)
    Third party hotel code.

  - `payload.pnrs.data.hotelPnr.hotelInfo.thirdPartyHotelCodes.hotelCodeType` (string, required)
    Type of the third party.
    Enum: "SABRE_CSL", "SABRE_TN", "EXPEDIA_RAPID", "MARRIOTT", "GIATA", "BCD", "AMADEUS_GDS", "BOOKING_COM", "PREMIER_INN", "HOTEL_HUB", "TRAVELODGE"

  - `payload.pnrs.data.hotelPnr.numberOfRooms` (integer, required)
    Number of rooms booked.
    Example: 1

  - `payload.pnrs.data.hotelPnr.payment` (object, required)
    Payment method.

  - `payload.pnrs.data.hotelPnr.payment.paymentType` (string, required)
    Payment type.
    Enum: "UNKNOWN", "PAY_AT_HOTEL", "PREPAID", "OTHER"

  - `payload.pnrs.data.hotelPnr.payment.description` (string)
    Payment method, if payment type is OTHER.

  - `payload.pnrs.data.hotelPnr.room` (object, required)
    Room info

  - `payload.pnrs.data.hotelPnr.room.bedCount` (integer, required)
    Number of rooms.
    Example: 1

  - `payload.pnrs.data.hotelPnr.room.bedType` (string, required)
    Bed types.
    Enum: "UNKNOWN_BED_TYPE", "DOUBLE", "FUTON", "KING", "MURPHY", "QUEEN", "SOFA", "TATAMI_MATS", "TWIN", "SINGLE", "FULL", "RUN_OF_THE_HOUSE", "DORM", "WATER", "PULL_OUT", "TWIN_XL"

  - `payload.pnrs.data.hotelPnr.room.cancellationPolicy` (object, required)
    Cancellation policy info.

  - `payload.pnrs.data.hotelPnr.room.cancellationPolicy.policy` (string, required)
    Indicates whether the booking is refundable or not.
    Enum: "UNKNOWN", "NON_REFUNDABLE", "FREE_CANCELLATION_UNTIL", "PARTIALLY_REFUNDABLE"

  - `payload.pnrs.data.hotelPnr.room.cancellationPolicy.currentlyRefundable` (string)
    Refundable status that is currently applicable in the hotel timezone.
FALSE even if it is partially refundable.
    Enum: "TRUE", "FALSE"

  - `payload.pnrs.data.hotelPnr.room.cancellationPolicy.cancellableStatus` (string)
    Whether the booking can be cancelled.
UNSPECIFIED and CANCELLABLE are treated as cancellable.
Some suppliers (e.g. Premier Inn) block cancellation on non-refundable rates.
    Enum: "CANCELLABLE_STATUS_UNSPECIFIED", "CANCELLABLE", "NOT_CANCELLABLE"

  - `payload.pnrs.data.hotelPnr.room.rateInfo` (object, required)
    Rate info for the booking

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate` (object, required)
    Rate info for non-air pnr.

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.extras` (array)
    List of extras.

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.extras.type` (string, required)
    Charge type.
    Example: SERVICE_CHARGE

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.commission` (object)
    Commission

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.commission.percent` (number)
    The percentage of the base amount that we are getting as commission
    Example: 10

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.includesCommission` (boolean)
    Whether the rate includes commission
    Example: false

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.taxBreakdown` (object)
    Tax breakdown

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.taxBreakdown.tax` (array)
    List of taxes for this ticket

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.refundInfo` (object)
    Refund info

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.refundInfo.refundVoucher` (object)
    Voucher details

  - `payload.pnrs.data.hotelPnr.room.rateInfo.totalRate.refundInfo.refundVoucher.amount` (object, required)
    Money object containing just amount and currency code.

  - `payload.pnrs.data.hotelPnr.room.rateInfo.rateCode` (string)
    Rate Code used for the booking
    Example: SIG

  - `payload.pnrs.data.hotelPnr.room.rateInfo.nightlyRates` (array)
    Nightly rates for the booking.

  - `payload.pnrs.data.hotelPnr.room.rateInfo.rateType` (string)
    Enum: "PUBLISHED", "CORPORATE", "SPOTNANA", "REGULAR", "AAA", "AARP", "SENIOR_CITIZEN", "GOVERNMENT", "MILITARY", "MEMBERSHIP", "BEST_AVAILABLE_RATE", "TMC"

  - `payload.pnrs.data.hotelPnr.room.rateInfo.ratePlanName` (string)
    Name of the rate plan used for the booking, e.g. a negotiated corporate rate name.
    Example: Local Negotiated Rate

  - `payload.pnrs.data.hotelPnr.room.roomName` (string)
    Name of the room.
    Example: Standard Twin Room (City View)

  - `payload.pnrs.data.hotelPnr.room.imageSets` (array)

  - `payload.pnrs.data.hotelPnr.room.meals` (object)
    Meal details for the room.

  - `payload.pnrs.data.hotelPnr.room.meals.mealsIncluded` (array)

  - `payload.pnrs.data.hotelPnr.room.meals.mealPlan` (string, required)
    Type of meal plan
    Enum: "UNKNOWN", "ALL_INCLUSIVE", "AMERICAN", "BED_AND_BREAKFAST", "BUFFET_BREAKFAST", "CARIBBEAN_BREAKFAST", "CONTINENTAL_BREAKFAST", "ENGLISH_BREAKFAST", "EUROPEAN_PLAN", "FAMILY_PLAN", "FULL_BOARD", "FULL_BREAKFAST", "HALF_BOARD_MODIFIED_AMERICAN_PLAN", "AS_BROCHURED", "ROOM_ONLY", "SELF_CATERING", "BERMUDA", "DINNER_BED_AND_BREAKFAST_PLAN", "FAMILY_AMERICAN", "BREAKFAST_MEAL_PLAN", "MODIFIED", "LUNCH_MEAL_PLAN", "DINNER_MEAL_PLAN", "BREAKFAST_AND_LUNCH"

  - `payload.pnrs.data.hotelPnr.room.roomAmenities` (array)

  - `payload.pnrs.data.hotelPnr.room.roomAmenities.additionalInfo` (string)
    Extra information about the room amenity

  - `payload.pnrs.data.hotelPnr.room.roomAmenities.isComplimentary` (boolean)
    Is amenity complimentary
    Example: true

  - `payload.pnrs.data.hotelPnr.room.roomAmenities.roomAmenityType` (string, required)
    Room amenity type
    Enum: "UNKNOWN", "ADJOINING_ROOMS", "AIR_CONDITIONING", "ALARM_CLOCK", "ALL_NEWS_CHANNEL", "AM_FM_RADIO", "BABY_LISTENING_DEVICE", "BALCONY_LANAI_TERRACE", "BARBEQUE_GRILLS", "BATH_TUB_WITH_SPRAY_JETS", "BATHROBE", "BATHROOM_AMENITIES", "BATHROOM_TELEPHONE", "BATHTUB", "BATHTUB_ONLY", "BATHTUB_SHOWER_COMBINATION", "BIDET", "BOTTLED_WATER", "CABLE_TELEVISION", "COFFEE_TEA_MAKER", "COLOR_TELEVISION", "COMPUTER", "CONNECTING_ROOMS", "CONVERTERS_VOLTAGE_ADAPTORS", "COPIER", "CORDLESS_PHONE", "CRIBS", "DATA_PORT", "DESK", "DESK_WITH_LAMP", "DINING_GUIDE", "DIRECT_DIAL_PHONE_NUMBER", "DISHWASHER", "DOUBLE_BEDS", "DUAL_VOLTAGE_OUTLET", "ELECTRICAL_CURRENT_VOLTAGE", "ERGONOMIC_CHAIR", "EXTENDED_PHONE_CORD", "FAX_MACHINE", "FIRE_ALARM", "FIRE_ALARM_WITH_LIGHT", "FIREPLACE", "FREE_TOLL_FREE_CALLS", "FREE_CALLS", "FREE_CREDIT_CARD_ACCESS_CALLS", "FREE_LOCAL_CALLS", "FREE_MOVIES_VIDEO", "FULL_KITCHEN", "GRAB_BARS_IN_BATHROOM", "GRECIAN_TUB", "HAIRDRYER", "HIGH_SPEED_INTERNET_CONNECTION", "INTERACTIVE_WEB_TV", "INTERNATIONAL_DIRECT_DIALING", "INTERNET_ACCESS", "IRON", "IRONING_BOARD", "WHIRPOOL", "KING_BED", "KITCHEN", "KITCHEN_SUPPLIES", "KITCHENETTE", "KNOCK_LIGHT", "LAPTOP", "LARGE_DESK", "LARGE_WORK_AREA", "LAUNDRY_BASKET_CLOTHES_HAMPER", "LOFT", "MICROWAVE", "MINIBAR", "MODEM", "MODEM_JACK", "MULTILINE_PHONE", "NEWSPAPER", "NONSMOKING", "NOTEPADS", "OFFICE_SUPPLIES", "OVEN", "PAY_PER_VIEW_MOVIES_ON_TV", "PENS", "PHONE_IN_BATHROOM", "PLATES_AND_BOWLS", "POTS_AND_PANS", "PRAYER_MATS", "PRINTER", "PRIVATE_BATHROOM", "QUEEN_BED", "RECLINER", "REFRIGERATOR", "REFRIGERATOR_WITH_ICE_MAKER", "REMOTE_CONTROL_TELEVISION", "ROLLAWAY_BED", "SAFE", "SCANNER", "SEPARATE_CLOSET", "SEPARATE_MODEM_LINE_AVAILABLE", "SHOE_POLISHER", "SHOWER_ONLY", "SILVERWARE_UTENSILS", "SITTING_AREA", "SMOKE_DETECTORS", "SMOKING", "SOFA_BED", "SPEAKER_PHONE", "STEREO", "STOVE", "TAPE_RECORDER", "TELEPHONE", "TELEPHONE_FOR_HEARING_IMPAIRED", "TELEPHONES_WITH_MESSAGE_LIGHT", "TOASTER_OVEN", "TROUSER_PANT_PRESS", "TURN_DOWN_SERVICE", "TWIN_BED", "VAULTED_CEILINGS", "VCR_MOVIES", "VCR_PLAYER", "VIDEO_GAMES_AMENITY", "VOICE_MAIL", "WAKEUP_CALLS", "WATER_CLOSET", "WATER_PURIFICATION_SYSTEM", "WET_BAR", "WIRELESS_INTERNET_CONNECTION", "WIRELESS_KEYBOARD", "ADAPTOR_AVAILABLE_FOR_TELEPHONE_PC_USE", "AIR_CONDITIONING_INDIVIDUALLY_CONTROLLED_IN_ROOM", "BATHTUB_ANDWHIRLPOOL_SEPARATE", "TELEPHONE_WITH_DATA_PORTS", "CD_PLAYER", "COMPLIMENTARY_LOCAL_CALLS_TIME_LIMIT", "EXTRA_PERSON_CHARGE_FOR_ROLLAWAY_USE", "DOWN_FEATHER_PILLOWS", "DESK_WITH_ELECTRICAL_OUTLET", "ESPN_AVAILABLE", "FOAM_PILLOWS", "HBO_AVAILABLE", "HIGH_CEILINGS", "MARBLE_BATHROOM", "LIST_OF_MOVIE_CHANNELS_AVAILABLE", "PETS_ALLOWED", "OVERSIZED_BATHTUB", "SHOWER", "SINK_INROOM", "SOUNDPROOFED_ROOM", "STORAGE_SPACE", "TABLES_AND_CHAIRS", "TWOLINE_PHONE", "WALKIN_CLOSET", "WASHER_DRYER", "WEIGHT_SCALE", "WELCOME_GIFT", "SPARE_ELECTRICAL_OUTLET_AVAILABLE_AT_DESK", "NONREFUNDABLE_CHARGE_FOR_PETS", "REFUNDABLE_DEPOSIT_FOR_PETS", "SEPARATE_TUB_AND_SHOWER", "ENTRANCE_TYPE_TO_GUEST_ROOM", "CEILING_FAN", "CNN_AVAILABLE", "ELECTRICAL_ADAPTORS_AVAILABLE", "BUFFET_BREAKFAST", "ACCESSIBLE_ROOM", "CLOSETS_IN_ROOM", "DVD_PLAYER", "MINIREFRIGERATOR", "SEPARATE_LINE_BILLING_FOR_MULTILINE_PHONE", "SELFCONTROLLED_HEATING_COOLING_SYSTEM", "TOASTER", "ANALOG_DATA_PORT", "COLLECT_CALLS", "INTERNATIONAL_CALLS", "CARRIER_ACCESS", "INTERSTATE_CALLS", "INTRASTATE_CALLS", "LOCAL_CALLS", "LONG_DISTANCE_CALLS", "OPERATORASSISTED_CALLS", "CREDIT_CARD_ACCESS_CALLS", "CALLING_CARD_CALLS", "TOLL_FREE_CALLS", "UNIVERSAL_AC_DC_ADAPTORS", "BATHTUB_SEAT", "CANOPY_POSTER_BED", "CUPS_GLASSWARE", "ENTERTAINMENT_CENTER", "FAMILY_OVERSIZED_ROOM", "HYPOALLERGENIC_BED", "HYPOALLERGENIC_PILLOWS", "LAMP", "MEAL_INCLUDED_BREAKFAST", "MEAL_INCLUDED_CONTINENTAL_BREAKFAST", "MEAL_INCLUDED_DINNER", "MEAL_INCLUDED_LUNCH", "SHARED_BATHROOM", "TELEPHONE_TDD_TEXTPHONE", "WATER_BED", "EXTRA_ADULT_CHARGE", "EXTRA_CHILD_CHARGE", "EXTRA_CHILD_CHARGE_FOR_ROLLAWAY_USE", "MEAL_INCLUDED_FULL_AMERICAN_BREAKFAST", "FUTON", "MURPHY_BED", "TATAMI_MATS", "SINGLE_BED", "ANNEX_ROOM", "FREE_NEWSPAPER", "HONEYMOON_SUITES", "COMPLIMENTARY_HIGH_SPEED_INTERNET_IN_ROOM", "MAID_SERVICE", "PC_HOOKUP_IN_ROOM", "SATELLITE_TELEVISION", "VIP_ROOMS", "CELL_PHONE_RECHARGER", "DVR_PLAYER", "IPOD_DOCKING_STATION", "MEDIA_CENTER", "PLUG_AND_PLAY_PANEL", "SATELLITE_RADIO", "VIDEO_ON_DEMAND", "EXTERIOR_CORRIDORS", "GULF_VIEW", "ACCESSIBLE_ROOM_AMENITY", "INTERIOR_CORRIDORS", "MOUNTAIN_VIEW", "OCEAN_VIEW", "HIGH_SPEED_INTERNET_ACCESS_FEE", "HIGH_SPEED_WIRELESS", "PREMIUM_MOVIE_CHANNELS", "SLIPPERS", "FIRST_NIGHTERS_KIT", "CHAIR_PROVIDED_WITH_DESK", "PILLOW_TOP_MATTRESS", "FEATHER_BED", "DUVET", "LUXURY_LINEN_TYPE", "INTERNATIONAL_CHANNELS", "PANTRY", "DISHCLEANING_SUPPLIES", "DOUBLE_VANITY", "LIGHTED_MAKEUP_MIRROR", "UPGRADED_BATHROOM_AMENITIES", "VCR_PLAYER_AVAILABLE_AT_FRONT_DESK", "INSTANT_HOT_WATER", "OUTDOOR_SPACE", "HINOKI_TUB", "PRIVATE_POOL", "HIGH_DEFINITION_HD_FLAT_PANEL_TELEVISION_32_INCHES_OR_GREATER", "ROOM_WINDOWS_OPEN", "BEDDING_TYPE_UNKNOWN_OR_UNSPECIFIED", "FULL_BED", "ROUND_BED", "TV", "CHILD_ROLLAWAY", "DVD_PLAYER_AVAILABLE_AT_FRONT_DESK", "VIDEO_GAME_PLAYER", "VIDEO_GAME_PLAYER_AVAILABLE_AT_FRONT_DESK", "DINING_ROOM_SEATS", "FULL_SIZE_MIRROR", "MOBILE_CELLULAR_PHONES", "MOVIES", "MULTIPLE_CLOSETS", "PLATES_GLASSWARE", "SAFE_LARGE_ENOUGH_TO_ACCOMMODATE_A_LAPTOP", "BED_LINEN_THREAD_COUNT", "BLACKOUT_CURTAIN", "BLURAY_PLAYER", "DEVICE_WITH_MP3", "NO_ADULT_CHANNELS_OR_ADULT_CHANNEL_LOCK", "NONALLERGENIC_ROOM", "PILLOW_TYPE", "SEATING_AREA_WITH_SOFA_CHAIR", "SEPARATE_TOILET_AREA", "WEB_ENABLED", "WIDESCREEN_TV", "OTHER_DATA_CONNECTION", "PHONELINE_BILLED_SEPARATELY", "SEPARATE_TUB_OR_SHOWER", "VIDEO_GAMES", "ROOF_VENTILATOR", "CHILDRENS_PLAYPEN", "PLUNGE_POOL", "DVD_MOVIES", "AIR_FILTRATION", "BRAILLE_SIGNAGE", "WHEELCHAIR_ACCESSIBLE_VANITY", "LOWERED_ELECTRICAL_OUTLETS", "LOWERED_PEEPHOLE", "LOWERED_LOCKS", "LOWERED_COUNTERS", "LOWERED_DESK", "LOWERED_BED", "LEVER_DOOR_HANDLES", "ACCESSIBLE_COUNTER_HEIGHT", "ACCESSIBLE_DOORWAY_WIDTH", "ACCESSIBLE_VANITY_HEIGHT", "ACCESSIBLE_BED_HEIGHT", "ACCESSIBLE_DESK_HEIGHT", "ACCESSIBLE_SHOWER_WIDTH"

  - `payload.pnrs.data.hotelPnr.room.amenities` (array)

  - `payload.pnrs.data.hotelPnr.room.amenities.additionalInfo` (string)
    Extra information about the room amenity

  - `payload.pnrs.data.hotelPnr.room.amenities.complimentary` (boolean)
    Is amenity complimentary
    Example: true

  - `payload.pnrs.data.hotelPnr.room.amenities.type` (string)
    Room amenity type
    Enum: "UNKNOWN", "ADJOINING_ROOMS", "AIR_CONDITIONING", "ALARM_CLOCK", "ALL_NEWS_CHANNEL", "AM_FM_RADIO", "BABY_LISTENING_DEVICE", "BALCONY_LANAI_TERRACE", "BARBEQUE_GRILLS", "BATH_TUB_WITH_SPRAY_JETS", "BATHROBE", "BATHROOM_AMENITIES", "BATHROOM_TELEPHONE", "BATHTUB", "BATHTUB_ONLY", "BATHTUB_SHOWER_COMBINATION", "BIDET", "BOTTLED_WATER", "CABLE_TELEVISION", "COFFEE_TEA_MAKER", "COLOR_TELEVISION", "COMPUTER", "CONNECTING_ROOMS", "CONVERTERS_VOLTAGE_ADAPTORS", "COPIER", "CORDLESS_PHONE", "CRIBS", "DATA_PORT", "DESK", "DESK_WITH_LAMP", "DINING_GUIDE", "DIRECT_DIAL_PHONE_NUMBER", "DISHWASHER", "DOUBLE_BEDS", "DUAL_VOLTAGE_OUTLET", "ELECTRICAL_CURRENT_VOLTAGE", "ERGONOMIC_CHAIR", "EXTENDED_PHONE_CORD", "FAX_MACHINE", "FIRE_ALARM", "FIRE_ALARM_WITH_LIGHT", "FIREPLACE", "FREE_TOLL_FREE_CALLS", "FREE_CALLS", "FREE_CREDIT_CARD_ACCESS_CALLS", "FREE_LOCAL_CALLS", "FREE_MOVIES_VIDEO", "FULL_KITCHEN", "GRAB_BARS_IN_BATHROOM", "GRECIAN_TUB", "HAIRDRYER", "HIGH_SPEED_INTERNET_CONNECTION", "INTERACTIVE_WEB_TV", "INTERNATIONAL_DIRECT_DIALING", "INTERNET_ACCESS", "IRON", "IRONING_BOARD", "WHIRPOOL", "KING_BED", "KITCHEN", "KITCHEN_SUPPLIES", "KITCHENETTE", "KNOCK_LIGHT", "LAPTOP", "LARGE_DESK", "LARGE_WORK_AREA", "LAUNDRY_BASKET_CLOTHES_HAMPER", "LOFT", "MICROWAVE", "MINIBAR", "MODEM", "MODEM_JACK", "MULTILINE_PHONE", "NEWSPAPER", "NONSMOKING", "NOTEPADS", "OFFICE_SUPPLIES", "OVEN", "PAY_PER_VIEW_MOVIES_ON_TV", "PENS", "PHONE_IN_BATHROOM", "PLATES_AND_BOWLS", "POTS_AND_PANS", "PRAYER_MATS", "PRINTER", "PRIVATE_BATHROOM", "QUEEN_BED", "RECLINER", "REFRIGERATOR", "REFRIGERATOR_WITH_ICE_MAKER", "REMOTE_CONTROL_TELEVISION", "ROLLAWAY_BED", "SAFE", "SCANNER", "SEPARATE_CLOSET", "SEPARATE_MODEM_LINE_AVAILABLE", "SHOE_POLISHER", "SHOWER_ONLY", "SILVERWARE_UTENSILS", "SITTING_AREA", "SMOKE_DETECTORS", "SMOKING", "SOFA_BED", "SPEAKER_PHONE", "STEREO", "STOVE", "TAPE_RECORDER", "TELEPHONE", "TELEPHONE_FOR_HEARING_IMPAIRED", "TELEPHONES_WITH_MESSAGE_LIGHT", "TOASTER_OVEN", "TROUSER_PANT_PRESS", "TURN_DOWN_SERVICE", "TWIN_BED", "VAULTED_CEILINGS", "VCR_MOVIES", "VCR_PLAYER", "VIDEO_GAMES_AMENITY", "VOICE_MAIL", "WAKEUP_CALLS", "WATER_CLOSET", "WATER_PURIFICATION_SYSTEM", "WET_BAR", "WIRELESS_INTERNET_CONNECTION", "WIRELESS_KEYBOARD", "ADAPTOR_AVAILABLE_FOR_TELEPHONE_PC_USE", "AIR_CONDITIONING_INDIVIDUALLY_CONTROLLED_IN_ROOM", "BATHTUB_ANDWHIRLPOOL_SEPARATE", "TELEPHONE_WITH_DATA_PORTS", "CD_PLAYER", "COMPLIMENTARY_LOCAL_CALLS_TIME_LIMIT", "EXTRA_PERSON_CHARGE_FOR_ROLLAWAY_USE", "DOWN_FEATHER_PILLOWS", "DESK_WITH_ELECTRICAL_OUTLET", "ESPN_AVAILABLE", "FOAM_PILLOWS", "HBO_AVAILABLE", "HIGH_CEILINGS", "MARBLE_BATHROOM", "LIST_OF_MOVIE_CHANNELS_AVAILABLE", "PETS_ALLOWED", "OVERSIZED_BATHTUB", "SHOWER", "SINK_INROOM", "SOUNDPROOFED_ROOM", "STORAGE_SPACE", "TABLES_AND_CHAIRS", "TWOLINE_PHONE", "WALKIN_CLOSET", "WASHER_DRYER", "WEIGHT_SCALE", "WELCOME_GIFT", "SPARE_ELECTRICAL_OUTLET_AVAILABLE_AT_DESK", "NONREFUNDABLE_CHARGE_FOR_PETS", "REFUNDABLE_DEPOSIT_FOR_PETS", "SEPARATE_TUB_AND_SHOWER", "ENTRANCE_TYPE_TO_GUEST_ROOM", "CEILING_FAN", "CNN_AVAILABLE", "ELECTRICAL_ADAPTORS_AVAILABLE", "BUFFET_BREAKFAST", "ACCESSIBLE_ROOM", "CLOSETS_IN_ROOM", "DVD_PLAYER", "MINIREFRIGERATOR", "SEPARATE_LINE_BILLING_FOR_MULTILINE_PHONE", "SELFCONTROLLED_HEATING_COOLING_SYSTEM", "TOASTER", "ANALOG_DATA_PORT", "COLLECT_CALLS", "INTERNATIONAL_CALLS", "CARRIER_ACCESS", "INTERSTATE_CALLS", "INTRASTATE_CALLS", "LOCAL_CALLS", "LONG_DISTANCE_CALLS", "OPERATORASSISTED_CALLS", "CREDIT_CARD_ACCESS_CALLS", "CALLING_CARD_CALLS", "TOLL_FREE_CALLS", "UNIVERSAL_AC_DC_ADAPTORS", "BATHTUB_SEAT", "CANOPY_POSTER_BED", "CUPS_GLASSWARE", "ENTERTAINMENT_CENTER", "FAMILY_OVERSIZED_ROOM", "HYPOALLERGENIC_BED", "HYPOALLERGENIC_PILLOWS", "LAMP", "MEAL_INCLUDED_BREAKFAST", "MEAL_INCLUDED_CONTINENTAL_BREAKFAST", "MEAL_INCLUDED_DINNER", "MEAL_INCLUDED_LUNCH", "SHARED_BATHROOM", "TELEPHONE_TDD_TEXTPHONE", "WATER_BED", "EXTRA_ADULT_CHARGE", "EXTRA_CHILD_CHARGE", "EXTRA_CHILD_CHARGE_FOR_ROLLAWAY_USE", "MEAL_INCLUDED_FULL_AMERICAN_BREAKFAST", "FUTON", "MURPHY_BED", "TATAMI_MATS", "SINGLE_BED", "ANNEX_ROOM", "FREE_NEWSPAPER", "HONEYMOON_SUITES", "COMPLIMENTARY_HIGH_SPEED_INTERNET_IN_ROOM", "MAID_SERVICE", "PC_HOOKUP_IN_ROOM", "SATELLITE_TELEVISION", "VIP_ROOMS", "CELL_PHONE_RECHARGER", "DVR_PLAYER", "IPOD_DOCKING_STATION", "MEDIA_CENTER", "PLUG_AND_PLAY_PANEL", "SATELLITE_RADIO", "VIDEO_ON_DEMAND", "EXTERIOR_CORRIDORS", "GULF_VIEW", "ACCESSIBLE_ROOM_AMENITY", "INTERIOR_CORRIDORS", "MOUNTAIN_VIEW", "OCEAN_VIEW", "HIGH_SPEED_INTERNET_ACCESS_FEE", "HIGH_SPEED_WIRELESS", "PREMIUM_MOVIE_CHANNELS", "SLIPPERS", "FIRST_NIGHTERS_KIT", "CHAIR_PROVIDED_WITH_DESK", "PILLOW_TOP_MATTRESS", "FEATHER_BED", "DUVET", "LUXURY_LINEN_TYPE", "INTERNATIONAL_CHANNELS", "PANTRY", "DISHCLEANING_SUPPLIES", "DOUBLE_VANITY", "LIGHTED_MAKEUP_MIRROR", "UPGRADED_BATHROOM_AMENITIES", "VCR_PLAYER_AVAILABLE_AT_FRONT_DESK", "INSTANT_HOT_WATER", "OUTDOOR_SPACE", "HINOKI_TUB", "PRIVATE_POOL", "HIGH_DEFINITION_HD_FLAT_PANEL_TELEVISION_32_INCHES_OR_GREATER", "ROOM_WINDOWS_OPEN", "BEDDING_TYPE_UNKNOWN_OR_UNSPECIFIED", "FULL_BED", "ROUND_BED", "TV", "CHILD_ROLLAWAY", "DVD_PLAYER_AVAILABLE_AT_FRONT_DESK", "VIDEO_GAME_PLAYER", "VIDEO_GAME_PLAYER_AVAILABLE_AT_FRONT_DESK", "DINING_ROOM_SEATS", "FULL_SIZE_MIRROR", "MOBILE_CELLULAR_PHONES", "MOVIES", "MULTIPLE_CLOSETS", "PLATES_GLASSWARE", "SAFE_LARGE_ENOUGH_TO_ACCOMMODATE_A_LAPTOP", "BED_LINEN_THREAD_COUNT", "BLACKOUT_CURTAIN", "BLURAY_PLAYER", "DEVICE_WITH_MP3", "NO_ADULT_CHANNELS_OR_ADULT_CHANNEL_LOCK", "NONALLERGENIC_ROOM", "PILLOW_TYPE", "SEATING_AREA_WITH_SOFA_CHAIR", "SEPARATE_TOILET_AREA", "WEB_ENABLED", "WIDESCREEN_TV", "OTHER_DATA_CONNECTION", "PHONELINE_BILLED_SEPARATELY", "SEPARATE_TUB_OR_SHOWER", "VIDEO_GAMES", "ROOF_VENTILATOR", "CHILDRENS_PLAYPEN", "PLUNGE_POOL", "DVD_MOVIES", "AIR_FILTRATION"

  - `payload.pnrs.data.hotelPnr.room.additionalAmenities` (array)

  - `payload.pnrs.data.hotelPnr.room.guaranteeType` (string)
    Guarantee type for the booking.
    Enum: "GUARANTEE", "DEPOSIT"

  - `payload.pnrs.data.hotelPnr.room.additionalDetails` (array)

  - `payload.pnrs.data.hotelPnr.room.additionalDetails.additionalDetailType` (string)
    Enum: "ADDITIONAL_DETAIL_TYPE_UNKNOWN", "RATE_DESCRIPTION", "PROPERTY_DESCRIPTION", "PROPERTY_LOCATION", "ROOM_INFORMATION", "GUARANTEE_INFORMATION", "DEPOSIT_INFORMATION", "CANCELLATION_INFORMATION", "CHECK_IN_CHECK_OUT_INFORMATION", "EXTRA_CHARGE_INFORMATION", "TAX_INFORMATION", "SERVICE_CHARGE_INFORMATION", "PACKAGE_INFORMATION", "COMMISSION_INFORMATION", "MISCELLANEOUS_INFORMATION", "PROMOTIONAL_INFORMATION", "INCLUSION_INFORMATION", "AMENITY_INFORMATION", "LATE_ARRIVAL_INFORMATION", "LATE_DEPARTURE_INFORMATION", "ADVANCED_BOOKING_INFORMATION", "EXTRA_PERSON_INFORMATION", "AREAS_SERVED", "ONSITE_FACILITIES_INFORMATION", "OFFSITE_FACILITIES_INFORMATION", "ONSITE_SERVICES_INFORMATION", "OFFSITE_SERVICES_INFORMATION", "EXTENDED_STAY_INFORMATION", "CORPORATE_BOOKING_INFORMATION", "BOOKING_GUIDELINES", "GOVERNMENT_BOOKING_POLICY", "GROUP_BOOKING_INFORMATION", "RATE_DISCLAIMER_INFORMATION", "VISA_TRAVEL_REQUIREMENT_INFORMATION", "SECURITY_INFORMATION", "ONSITE_RECREATIONAL_ACTIVITIES_INFORMATION", "OFFSITE_RECREATIONAL_ACTIVITIES_INFORMATION", "GENERAL_MEETING_PLANNING_INFORMATION", "GROUP_MEETING_PLANNING_INFORMATION", "CONTRACT_NEGOTIATED_BOOKING_INFORMATION", "TRAVEL_INDUSTRY_BOOKING_INFORMATION", "MEETING_ROOM_DESCRIPTION", "PET_POLICY_DESCRIPTION", "MEAL_PLAN_DESCRIPTION", "FAMILY_PLAN_DESCRIPTION", "CHILDREN_INFORMATION", "EARLY_CHECKOUT_DESCRIPTION", "SPECIAL_OFFERS_DESCRIPTION", "CATERING_DESCRIPTION", "ROOM_DECOR_DESCRIPTION", "OVERSOLD_POLICY_DESCRIPTION", "LAST_ROOM_AVAILABILITY_DESCRIPTION", "ROOM_TYPE_UPGRADE_DESCRIPTION", "DRIVING_DIRECTIONS", "DRIVING_DIRECTIONS_FROM_THE_NORTH", "DRIVING_DIRECTIONS_FROM_THE_SOUTH", "DRIVING_DIRECTIONS_FROM_THE_EAST", "DRIVING_DIRECTIONS_FROM_THE_WEST", "SURCHARGE_INFORMATION", "MINIMUM_STAY_INFORMATION", "MAXIMUM_STAY_INFORMATION", "CHECK_IN_POLICY", "CHECK_OUT_POLICY", "EXPRESS_CHECK_IN_POLICY", "EXPRESS_CHECK_OUT_POLICY", "FACILITY_RESTRICTIONS", "CUSTOMS_INFORMATION_FOR_MATERIAL", "SEASONS", "FOOD_AND_BEVERAGE_MINIMUMS_FOR_GROUPS", "DEPOSIT_POLICY_FOR_MASTER_ACCOUNT", "DEPOSIT_POLICY_FOR_RESERVATIONS", "RESTAURANT_SERVICES", "SPECIAL_EVENTS", "CUISINE_DESCRIPTION", "KEY_COLLECTION_INFO", "IMPORTANT_INFO"

  - `payload.pnrs.data.hotelPnr.room.additionalDetails.text` (string)

  - `payload.pnrs.data.hotelPnr.room.roomInfo` (object)

  - `payload.pnrs.data.hotelPnr.room.roomInfo.roomType` (string)
    Room Type
    Enum: "ROOM", "SUITE", "VILLA", "APARTMENT", "COTTAGE", "STUDIO", "UNKNOWN_ROOM"

  - `payload.pnrs.data.hotelPnr.room.roomInfo.typeClassDescription` (string)

  - `payload.pnrs.data.hotelPnr.room.roomInfo.roomView` (object)

  - `payload.pnrs.data.hotelPnr.room.roomInfo.roomView.type` (string)
    Enum: "UNKNOWN", "AIRPORT", "BAY", "CITY", "COURTYARD", "GOLF", "HARBOR", "INTERCOASTAL", "LAKE", "MARINA", "MOUNTAIN", "OCEAN", "POOL", "RIVER", "WATER", "BEACH", "GARDEN", "PARK", "FOREST", "RAIN_FOREST", "VARIOUS", "LIMITED", "SLOPE", "STRIP", "COUNTRYSIDE", "SEA", "GULF", "VALLEY"

  - `payload.pnrs.data.hotelPnr.room.roomInfo.roomView.roomClass` (array)

  - `payload.pnrs.data.hotelPnr.room.roomInfo.roomTypeCode` (string)
    Room type code.
    Example: 1QN

  - `payload.pnrs.data.hotelPnr.room.co2EmissionDetail` (object)
    The co2 emission detail for the hotel.

  - `payload.pnrs.data.hotelPnr.room.co2EmissionDetail.co2EmissionValue` (number, required)
    CO2 emission value in kg per room for the entire stay.
    Example: 10.5

  - `payload.pnrs.data.hotelPnr.room.rateMetadata` (object)
    Price Summary

  - `payload.pnrs.data.hotelPnr.room.rateMetadata.negotiatedRateType` (string)
    Enum: "NONE", "CORPORATE_RATE", "AGENCY_RATE"

  - `payload.pnrs.data.hotelPnr.vendorConfirmationNumber` (string, required)
    Hotel confirmation number
    Example: 2108528068

  - `payload.pnrs.data.hotelPnr.travelerInfos` (array)
    Information about travelers.

  - `payload.pnrs.data.hotelPnr.travelerInfos.travelerIdx` (integer, required)
    Index of traveler in travelers list to which this info belongs
    Example: 0

  - `payload.pnrs.data.hotelPnr.travelerInfos.loyaltyInfos` (array)

  - `payload.pnrs.data.hotelPnr.sortingPriority` (integer)
    Sorting priority amongst other pnrs
    Example: 0

  - `payload.pnrs.data.hotelPnr.vendorReferenceId` (string)
    Reference provided by vendors
    Example: AWKHGS

  - `payload.pnrs.data.hotelPnr.vendorCancellationId` (string)
    Cancellation reference provided by vendors
    Example: AWKHGS

  - `payload.pnrs.data.hotelPnr.preferredType` (array)
    Hotel preference

  - `payload.pnrs.data.hotelPnr.preferences` (array)
    Hotel preference

  - `payload.pnrs.data.hotelPnr.preferences.blockedReason` (string)
    Reason for blocking the leg, hotel or car.

  - `payload.pnrs.data.hotelPnr.preferences.label` (string)
    The label assigned to a specific tier of preference.

  - `payload.pnrs.data.hotelPnr.occupancy` (array)
    Occupancy information

  - `payload.pnrs.data.hotelPnr.occupancy.numAdults` (integer)
    Number of adults in the hotel pnr
    Example: 1

  - `payload.pnrs.data.hotelPnr.occupancy.numChildren` (integer)
    Number of children in the hotel pnr
    Example: 1

  - `payload.pnrs.data.hotelPnr.occupancy.childAges` (array)

  - `payload.pnrs.data.hotelPnr.occupancy.numInfants` (integer)
    Number of infants in the hotel pnr
    Example: 1

  - `payload.pnrs.data.hotelPnr.sourceStatus` (string)
    Source status code of the pnr

  - `payload.pnrs.data.hotelPnr.rebookReference` (object)
    Rate Assurance Rebooking information along with pnr references and savings

  - `payload.pnrs.data.hotelPnr.rebookReference.cancelledPnrIds` (array)
    Backward reference to the cancelled PNRs (if any) after rebooking.

  - `payload.pnrs.data.hotelPnr.rebookReference.rebookedPnrId` (string)
    Forward reference to the rebooked PNR (if any) after cancellation.
    Example: 1234567890

  - `payload.pnrs.data.hotelPnr.rebookReference.hotelRateAssuranceMetadata` (object)
    Savings information from the rate assurance rebooking

  - `payload.pnrs.data.hotelPnr.rebookReference.rebookType` (string)
    Indicates the reason for rebooking.
    Enum: "RATE_ASSURANCE", "MODIFY"

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests` (object)
    Hotel special requests

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.roomLocations` (array)
    Room Location special request

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.roomFeatures` (array)
    Room Features List

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.checkIn` (string)
    Early or Late Check-in
    Enum: "EARLY_CHECK_IN", "LATE_CHECK_IN"

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.checkInTime` (object)
    ISO8601 Local Time

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.checkInTime.iso8601` (string, required)
    Example: 17:32

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.flightNumber` (string)
    Attach flight number
    Example: AC1234

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.additionalNote` (string)
    Free form text to describe special request
    Example: Extra pillows and blankets for added comfort during the stay.

  - `payload.pnrs.data.hotelPnr.hotelSpecialRequests.accessibleFeatures` (array)
    Accessible Features List

  - `payload.pnrs.data.hotelPnr.ancillaries` (array)
    User selected ancillaries for the hotel booking.

  - `payload.pnrs.data.hotelPnr.ancillaries.ancillaryKey` (string, required)
    Unique identifier for the ancillary service.

  - `payload.pnrs.data.hotelPnr.ancillaries.category` (string, required)
    Type of ancillary.
    Enum: "ANCILLARY_UNKNOWN", "EARLY_CHECKIN", "LATE_CHECKOUT", "WIFI", "BREAKFAST", "PARKING", "PETS", "MEAL_PLAN", "OTHER"

  - `payload.pnrs.data.hotelPnr.ancillaries.displayName` (string, required)
    Display name of ancillary.

  - `payload.pnrs.data.hotelPnr.ancillaries.description` (string)
    Detailed description of ancillary.

  - `payload.pnrs.data.hotelPnr.ancillaries.refundability` (string, required)
    Refundability information about the ancillary.
    Enum: "REFUNDABILITY_UNKNOWN", "FULLY_REFUNDABLE", "PARTIALLY_REFUNDABLE", "NON_REFUNDABLE"

  - `payload.pnrs.data.hotelPnr.ancillaries.purchaseStatus` (string, required)
    Purchase status of the ancillary.
    Enum: "PURCHASE_STATUS_UNKNOWN", "AVAILABLE", "ALREADY_PURCHASED", "INCLUDED_IN_RATE"

  - `payload.pnrs.data.hotelPnr.ancillaries.paymentType` (string, required)
    Payment type for the ancillary.
    Enum: "PAYMENT_TYPE_UNKNOWN", "PREPAID", "POSTPAID"

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate` (object)
    Rate details for hotel room

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.roomFees` (array)

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.roomFees.feeInclusions` (array)
    Amenities included as part of the fee

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.roomFees.displayFee` (boolean)
    Flag to determine whether to explicitly show this fee type on UI

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.roomFees.feeType` (string)
    Fees Type
    Enum: "UNKNOWN", "BED_TAX", "CITY_HOTEL_FEE", "CITY_TAX", "COUNTRY_TAX", "ENERGY_TAX", "FEDERAL_TAX", "FOOD_AND_BEVERAGE_TAX", "LODGING_TAX", "MAINTENANCE_FEE", "OCCUPANCY_TAX", "PACKAGE_FEE", "RESORT_FEE", "SALES_TAX", "SERVICE_CHARGE", "STATE_TAX", "SURCHARGE", "TOTAL_TAX", "TOURISM_TAX", "VAT_GST_TAX", "SURPLUS_LINES_TAX", "INSURANCE_PREMIUM_TAX", "APPLICATON_FEE", "EXPRESS_HANDLING_FEE", "EXEMPT", "STANDARD", "ZERO_RATED", "MISCELLANEOUS", "ROOM_TAX", "EARLY_CHECKOUT_FEE", "COUNTRY_TAXES", "EXTRA_PERSON_CHARGE", "BANQUET_SERVICE_FEE", "ROOM_SERVICE_FEE", "LOCAL_FEE", "GOODS_AND_SERVICES_TAX", "VALUE_ADDED_TAX", "CRIB_FEE", "ROLLAWAY_FEE", "ASSESSMENT_LICENSE_TAX", "PET_SANITATION_FEE", "NOT_KNOWN", "CHILD_ROLLAWAY_CHARGE", "CONVENTION_TAX", "EXTRA_CHILD_CHARGE", "STANDARD_FOOD_AND_BEVERAGE_GRATUITY", "NATIONAL_GOVERNMENT_TAX", "ADULT_ROLLAWAY_FEE", "BEVERAGE_WITH_ALCOHOL", "BEVERAGE_WITHOUT_ALCOHOL", "TOBACCO", "FOOD", "TOTAL_SURCHARGES", "STATE_COST_RECOVERY_FEE", "MISCELLANEOUS_FEE", "DESTINATION_AMENITY_FEE", "REFUNDABLE_PET_FEE", "CHARITY_SUPPORT_FEE", "LOCAL_AMENITY_USAGE_MAINTENANCE_FEE", "CONVENTION_TOURISM_FEE", "DESTINATION_MARKETING_FEE", "HOTEL_DEVELOPMENT_FEE", "EVENT_FEE", "SUSTAINABILITY_FEE", "TRANSPORTATION_TRANSFER_FEE", "INSURANCE_FEE", "LOCAL_GOVERNMENT_FEE", "LOCAL_ORDINANCE_SURCHARGE", "GUARANTEED_EARLY_CHECK_IN_FEE", "GUARANTEED_LATE_CHECK_OUT_FEE", "MODIFICATION_FEE", "HOTEL_ANCILLARY_EARLY_CHECK_IN_FEE", "HOTEL_ANCILLARY_LATE_CHECK_OUT_FEE", "HOTEL_ANCILLARY_PET_FEE", "HOTEL_ANCILLARY_WIFI_FEE", "HOTEL_ANCILLARY_BREAKFAST_FEE", "HOTEL_ANCILLARY_PARKING_FEE", "HOTEL_ANCILLARY_MEAL_PLAN_FEE", "ACCESSIBILITY_EQUIPMENT_FEE", "TOURISM_MARKETING_FEE"

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.commission` (object)
    Commision on rate

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.commission.commissionPercent` (number)
    Commission percentage
    Example: 7.5

  - `payload.pnrs.data.hotelPnr.ancillaries.totalRate.includesCommission` (boolean)
    Whether the rate includes commission
    Example: false

  - `payload.pnrs.data.hotelPnr.ancillaries.status` (string)
    Status of the ancillary service.
    Enum: "ANCILLARY_STATUS_UNKNOWN", "ACTIVE", "CANCELLED", "MODIFIED"

  - `payload.pnrs.data.hotelPnr.bookingMetadata` (object)
    Metadata like rate statistics for this booking

  - `payload.pnrs.data.hotelPnr.bookingMetadata.rateStatistics` (object)
    Contains statistical information about hotel search results.

  - `payload.pnrs.data.hotelPnr.bookingMetadata.rateStatistics.median` (object, required)
    Details median rate information for a hotel.

  - `payload.pnrs.data.hotelPnr.bookingMetadata.rateStatistics.sampleSize` (integer, required)
    Size of the sample set used to calculate the statistics.
    Example: 100

  - `payload.pnrs.data.hotelPnr.bookingMetadata.rateStatistics.policyType` (string, required)
    Enumeration of policy types for rate statistics.
    Enum: "DEFAULT", "SET_BY_ADMIN"

  - `payload.pnrs.data.hotelPnr.bookingMetadata.rateStatistics.statisticalMethod` (string)
    Statistical method used for the recommended hotel rate.
    Enum: "MEDIAN", "MEAN"

  - `payload.pnrs.data.hotelPnr.bookingMetadata.rateStatistics.preferredHotelsOnly` (boolean)
    Whether mean and median were calculated using only preferred hotels.
    Example: true

  - `payload.pnrs.data.carPnr` (object)
    Car PNR information

  - `payload.pnrs.data.carPnr.carInfo` (object, required)
    Car info

  - `payload.pnrs.data.carPnr.carInfo.carSpec` (object, required)
    Car spec.

  - `payload.pnrs.data.carPnr.carInfo.carSpec.airConditioning` (string)
    Whether air conditioning is available.
    Enum: "UNKNOWN_AC", "AC_AVAILABLE", "AC_NOT_AVAILABLE"

  - `payload.pnrs.data.carPnr.carInfo.carSpec.amenities` (object)
    Car amenities.

  - `payload.pnrs.data.carPnr.carInfo.carSpec.amenities.numDoors` (integer)
    Number of doors.
    Example: 4

  - `payload.pnrs.data.carPnr.carInfo.carSpec.amenities.numLargeBags` (integer)
    Number of large bags.
    Example: 2

  - `payload.pnrs.data.carPnr.carInfo.carSpec.amenities.numSeatBelts` (integer)
    Number of seats belts.
    Example: 5

  - `payload.pnrs.data.carPnr.carInfo.carSpec.amenities.numSeats` (integer)
    Number of seats.
    Example: 5

  - `payload.pnrs.data.carPnr.carInfo.carSpec.amenities.numSmallBags` (integer)
    Number of small bags.
    Example: 5

  - `payload.pnrs.data.carPnr.carInfo.carSpec.displayName` (string)
    Car display name.
    Example: Economy

  - `payload.pnrs.data.carPnr.carInfo.carSpec.modelName` (string)
    Car make and model.
    Example: Kia Picanto

  - `payload.pnrs.data.carPnr.carInfo.carSpec.imageGroups` (array)
    Collection of car images.

  - `payload.pnrs.data.carPnr.carInfo.carSpec.transmission` (string)
    Transmission types.
    Enum: "UNKNOWN_TRANSMISSION", "MANUAL_UNSPECIFIED_DRIVE", "MANUAL_4WD", "MANUAL_AWD", "AUTO_UNSPECIFIED_DRIVE", "AUTO_4WD", "AUTO_AWD"

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation` (object, required)
    Pickup and drop-off location info.

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.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"

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.contactInfo` (object)
    Contact info of the location

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.contactInfo.phone` (array)

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.contactInfo.fax` (array)

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.contactInfo.email` (array)

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.operatingSchedule` (object)
    Operating schedule of vendor

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.operatingSchedule.interval` (array, required)
    Operating schedule interval

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.weeklyOperatingSchedule` (array)
    Weekly operating schedule of vendor

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.weeklyOperatingSchedule.interval` (array, required)
    Operating schedule intervals

  - `payload.pnrs.data.carPnr.carInfo.dropOffLocation.weeklyOperatingSchedule.dayOfWeek` (string)
    Day of the week for which operating schedule is valid
    Example: SUN

  - `payload.pnrs.data.carPnr.carInfo.vendor` (object, required)
    Car vendor.

  - `payload.pnrs.data.carPnr.carInfo.vendor.code` (string, required)
    Vendor code.
    Example: ZE

  - `payload.pnrs.data.carPnr.carInfo.vendor.name` (string, required)
    Vendor name.
    Example: HERTZ

  - `payload.pnrs.data.carPnr.carInfo.vendor.email` (string)
    Vendor email.
    Example: abc@xyz.com

  - `payload.pnrs.data.carPnr.carInfo.carTypeCode` (string)
    Car type code
    Example: EBMR

  - `payload.pnrs.data.carPnr.carInfo.preferredType` (array)
    Car preference

  - `payload.pnrs.data.carPnr.carInfo.preferences` (array)
    Car preferences

  - `payload.pnrs.data.carPnr.carInfo.co2EmissionDetail` (object)
    The CO2 emission detail for car.

  - `payload.pnrs.data.carPnr.carInfo.co2EmissionDetail.co2EmissionValue` (number, required)
    The CO2 emission value in kgs for car.
    Example: 0.01

  - `payload.pnrs.data.carPnr.carInfo.voucherInfo` (object)
    Car Voucher information

  - `payload.pnrs.data.carPnr.carInfo.voucherInfo.voucherId` (string, required)
    Voucher Id
    Example: @38807091

  - `payload.pnrs.data.carPnr.carInfo.voucherInfo.remarks` (string)
    Remarks associated with the voucher
    Example: VI--A123456

  - `payload.pnrs.data.carPnr.carInfo.voucherInfo.voucherType` (string)
    Type of voucher
    Enum: "FC", "GDA", "FIXED_VALUE"

  - `payload.pnrs.data.carPnr.carInfo.voucherInfo.voucherBillingNumber` (string)
    Voucher Billing Number
    Example: A123456

  - `payload.pnrs.data.carPnr.carInfo.voucherInfo.voucherFormat` (string)
    Format of the voucher
    Example: E

  - `payload.pnrs.data.carPnr.carInfo.dcStatus` (string)
    Whether a car is offered for delivery & collection.
Present only on cars that came back from a delivery & collection
search; absent means the car is an ordinary counter rental. A merged
result set carries both, so filter on DC_AVAILABLE rather than on the
field being set: ON_REQUEST and NOT_AVAILABLE are diagnostic values
and neither is sellable.
    Enum: "DC_STATUS_UNKNOWN", "DC_AVAILABLE", "DC_ON_REQUEST", "DC_NOT_AVAILABLE"

  - `payload.pnrs.data.carPnr.carInfo.dcInfo` (object)
    Where the car is delivered to and collected from.
Both legs travel together. A car delivered but never collected is not a
sellable arrangement, and at least one supplier rejects a half-filled
block outright, so omitting collection means "same as delivery" rather
than "no collection". With neither leg there is nothing to deliver, so
`delivery` is required whenever the block is sent at all.

  - `payload.pnrs.data.carPnr.carInfo.dcInfo.delivery` (object, required)
    One leg of a delivery & collection arrangement.

  - `payload.pnrs.data.carPnr.carInfo.dcInfo.delivery.instructions` (string)
    Free-text note for the driver, entered at checkout. Sent per leg, so
identical delivery and collection notes still travel twice.
Suppliers truncate beyond their own limits.
    Example: Deliver to reception desk

  - `payload.pnrs.data.carPnr.carInfo.dcDetails` (object)
    What the supplier actually confirmed for a booking's delivery &
collection, as opposed to CarDeliveryCollectionInfo (what the
traveller asked for). Present on a create/modify booking response
only when that booking carried dc_info.

  - `payload.pnrs.data.carPnr.carInfo.dcDetails.servingBranch` (string)
    The branch the supplier will actually deliver from and collect to,
which the pickup/dropOff location on this same PNR already shows --
this is the same value, offered separately for a caller that wants
just the branch code without parsing a full location.
    Example: ABZT50

  - `payload.pnrs.data.carPnr.carInfo.dcDetails.chargesMayApply` (boolean)
    The supplier warned that delivery/collection may carry an extra fee
it does not quote up front. Not a price -- suppliers who do quote a
fee include it in the rate instead, so this is only ever a warning.

  - `payload.pnrs.data.carPnr.paymentType` (string)
    Payment type.
    Enum: "UNKNOWN_PAYMENT_TYPE", "PAY_AT_VENDOR", "PREPAID", "NO_PREPAYMENT"

  - `payload.pnrs.data.carPnr.vendorConfirmationNumber` (string, required)
    Car confirmation number.
    Example: 2108528068

  - `payload.pnrs.data.carPnr.sortingPriority` (integer)
    Sort order on the trips page
    Example: 0

  - `payload.pnrs.data.carPnr.corporateId` (string)
    Corporate id applied while booking
    Example: 8371

  - `payload.pnrs.data.carPnr.rateType` (string)
    Rate type of the car booked
    Enum: "PUBLISHED", "CORPORATE", "SPOTNANA"

  - `payload.pnrs.data.carPnr.sourceStatus` (string)
    Source status code of the pnr

  - `payload.pnrs.data.carPnr.vendorCancellationId` (string)
    Cancellation id sent by the supplier.
    Example: 2108528068

  - `payload.pnrs.data.carPnr.originalCarSearchInfo` (object)
    Car search information

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.pickup` (object, required)
    Search Parameter including location and datetime for a given search.

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.pickup.location` (object, required)
    Car Search location parameters.

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.pickup.location.airportCode` (string)
    IATA code for AIRPORT
    Example: SFO

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.pickup.location.cityCode` (string)
    City Code.
    Example: JFK

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.pickup.searchQuery` (string)
    Search query provided for the search.
    Example: London

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.renterAge` (integer)
    Age of the renter
    Example: 30

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.citizenCountryCode` (string)
    Citizen code of the renter
    Example: US

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.pickupCountryCode` (string)
    Country code of the pick up location
    Example: US

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.loyaltyCode` (array)
    Loyalty codes to be applied

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.loyaltyCode.vendor` (string, required)
    Vendor code
    Example: ZI

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.loyaltyCode.code` (string, required)
    Loyalty code
    Example: 1924047077

  - `payload.pnrs.data.carPnr.originalCarSearchInfo.loyaltyCode.type` (string, required)
    Loyalty type
    Enum: "PROMOTIONAL_COUPON"

  - `payload.pnrs.data.carPnr.rebookReference` (object)
    Contains reference to cancelled and rebooked PNR's.

  - `payload.pnrs.data.carPnr.rebookReference.cancelledPnrIds` (array)
    Reference to Spotnana Pnr Ids that were cancelled in favor of this booking.

  - `payload.pnrs.data.carPnr.rebookReference.rebookedPnrId` (string)
    Reference to Spotnana Pnr Id that was booked in favor of this cancellation, Populated for cancelled PNR's if they were cancelled for a rebooking.
    Example: 1234567890

  - `payload.pnrs.data.carPnr.dailyRates` (array)
    Contains daily rates for each day of the rental duration.

  - `payload.pnrs.data.carPnr.promotionalOffers` (object)
    Promotional offer info for car rental.

  - `payload.pnrs.data.carPnr.promotionalOffers.type` (string)
    Type of promotional offer.
    Enum: "PERCENTAGE_DISCOUNT", "FREE_ADDITIONAL_DRIVER", "MONETARY_DISCOUNT", "FREE_GPS", "FREE_FUEL", "FREE_DAYS", "FREE_WINTER_CARKIT", "FREE_CONGESTION_CHARGE", "FREE_CHILD_SEAT", "FREE_PERSONAL_INSURANCE", "EURO_DISNEY_PASS", "FREE_SKI_PASS", "FREE_UPGRADE", "PERCENTAGE_DISCOUNT_GPS", "FREE_WIFI", "GUARANTEED_MAM", "GENERIC_OFFER"

  - `payload.pnrs.data.carPnr.promotionalOffers.subType` (string)
    Sub-type of promotional offer.

  - `payload.pnrs.data.carPnr.promotionalOffers.description` (string)
    Descriptive text for the promotional offer.
    Example: This special price is inclusive of a 4.09% discount. Discount is based on standard rate from the car hire agent.

  - `payload.pnrs.data.carPnr.promotionalOffers.value` (string)
    Value associated with the promotional offer (e.g., percentage value).
    Example: 4

  - `payload.pnrs.data.carPnr.arrivalFlightInfo` (object)
    Contains arrival flight information for this car reservation.

  - `payload.pnrs.data.carPnr.arrivalFlightInfo.airlineCode` (string)
    Arrival flight airline code.
    Example: AA

  - `payload.pnrs.data.carPnr.arrivalFlightInfo.airlineNumber` (string)
    Arrival flight number.
    Example: 100

  - `payload.pnrs.data.carPnr.specialEquipmentTypes` (array)
    Special equipment types for the car booking if any. For example, child seat, bike rack etc.

  - `payload.pnrs.data.railPnr` (object)
    Rail PNR information

  - `payload.pnrs.data.railPnr.inwardJourney` (object)
    Journey info

  - `payload.pnrs.data.railPnr.inwardJourney.legs` (array, required)
    List of indexes of legs covered in the journey.

  - `payload.pnrs.data.railPnr.inwardJourney.co2EmissionDetails` (object)
    CO2 emission info for rail

  - `payload.pnrs.data.railPnr.inwardJourney.co2EmissionDetails.co2EmissionKilograms` (number, required)
    CO2 emission for the outward/inward leg in kilograms for a single passenger.
    Example: 10

  - `payload.pnrs.data.railPnr.inwardJourney.co2EmissionDetails.isApproximate` (boolean)
    Indicates whether the emissions value is approximate or not.
    Example: true

  - `payload.pnrs.data.railPnr.inwardJourney.sortingPriority` (integer)
    Sort order of the rail journey on the trips page
    Example: 0

  - `payload.pnrs.data.railPnr.inwardJourney.fareComposition` (string)
    Rail Fare Composition
    Enum: "THROUGH", "DIRECT_SPLIT", "INTERCHANGE_SPLIT"

  - `payload.pnrs.data.railPnr.legInfos` (array, required)
    List of legs covered in the booking.

  - `payload.pnrs.data.railPnr.legInfos.allocatedSpaces` (array)
    Space allocated for each passenger.

  - `payload.pnrs.data.railPnr.legInfos.allocatedSpaces.coachNumber` (string, required)
    Coach Number.
    Example: B

  - `payload.pnrs.data.railPnr.legInfos.allocatedSpaces.travelerIdx` (integer, required)
    Traveler for which the seat belongs.
    Example: 0

  - `payload.pnrs.data.railPnr.legInfos.allocatedSpaces.seatNumber` (string, required)
    Seat Number.
    Example: 32

  - `payload.pnrs.data.railPnr.legInfos.allocatedSpaces.additionalProperties` (array)
    Additional Properties of allocated seat.

  - `payload.pnrs.data.railPnr.legInfos.travelerRailInfo` (array)

  - `payload.pnrs.data.railPnr.legInfos.travelerRailInfo.travelerIndex` (integer)

  - `payload.pnrs.data.railPnr.legInfos.travelerRailInfo.loyaltyDetails` (object)
    Details about the traveler loyalty program and number.

  - `payload.pnrs.data.railPnr.legInfos.travelerRailInfo.loyaltyDetails.loyaltyProgram` (string)

  - `payload.pnrs.data.railPnr.legInfos.travelerRailInfo.loyaltyDetails.loyaltyNumber` (string)

  - `payload.pnrs.data.railPnr.legInfos.amenities` (array)
    List of amenities available for the leg.

  - `payload.pnrs.data.railPnr.legInfos.amenities.description` (string)
    Amenity description
    Example: Seat Reservation

  - `payload.pnrs.data.railPnr.legInfos.amenities.name` (string, required)
    Amenity name
    Example: Seat Reservation

  - `payload.pnrs.data.railPnr.legInfos.amenities.quantity` (integer)
    Available/Selected quantity
    Example: 1

  - `payload.pnrs.data.railPnr.legInfos.amenities.type` (string)
    Rail amenity type
    Enum: "WIFI", "LUGGAGE_INCLUDED", "ELECTRICAL_SOCKET", "CAFE", "SEAT_DISPLAY", "NEWSPAPER", "MEAL", "QUIET_CAR", "SEAT_SELECTION", "LOCAL_TRANSPORT", "LOUNGE", "LEATHER_SEATS", "BICYCLE", "PET", "FIRST_CLASS_COMFORT", "BUSINESS_PREMIER", "PERSONALIZED_SERVICE", "BOARDING", "WHEELCHAIR_ACCESS", "NURSERY_SPACE", "TABLE_SEAT", "LARGE_SEAT", "EXTRA_LEGROOM", "AIR_CONDITIONING", "READING_LIGHT"

  - `payload.pnrs.data.railPnr.legInfos.destination` (string, required)
    Destination station name of the leg.
    Example: Liverpool Lime Street

  - `payload.pnrs.data.railPnr.legInfos.fareType` (string, required)
    Details of fare for this leg.
    Example: Anytime Return

  - `payload.pnrs.data.railPnr.legInfos.origin` (string, required)
    Originating station name of the leg.
    Example: London Euston

  - `payload.pnrs.data.railPnr.legInfos.vehicle` (object, required)
    Information regarding the vehicle and operator.

  - `payload.pnrs.data.railPnr.legInfos.vehicle.carrierName` (string, required)
    Name of the carrier.
    Example: Deutsche Bahn

  - `payload.pnrs.data.railPnr.legInfos.vehicle.route` (string)
    Route taken by the vehicle.
    Example: L17

  - `payload.pnrs.data.railPnr.legInfos.vehicle.timetableId` (string, required)
    Timetable ID
    Example: ICE 373

  - `payload.pnrs.data.railPnr.legInfos.vehicle.transportName` (string)
    Name of the transport.
    Example: TGV

  - `payload.pnrs.data.railPnr.legInfos.vehicle.type` (string, required)
    Type of vehicle.
    Enum: "TRAIN", "BUS", "FERRY", "WALK", "TAXI", "TRAM", "METRO", "TUBE"

  - `payload.pnrs.data.railPnr.legInfos.originInfo` (object)
    Details of the station.

  - `payload.pnrs.data.railPnr.legInfos.originInfo.name` (string, required)
    Name of the station

  - `payload.pnrs.data.railPnr.legInfos.originInfo.code` (string)
    Unique code of the station.

  - `payload.pnrs.data.railPnr.legInfos.originInfo.cityCode` (string)
    City Code for the Railway Station
    Example: LON

  - `payload.pnrs.data.railPnr.legInfos.originInfo.timeZone` (string)
    TimeZone of the Railway Station
    Example: Europe/London

  - `payload.pnrs.data.railPnr.legInfos.originInfo.countryCode` (string)
    Unique Code of the Country of Railway Station
    Example: GB

  - `payload.pnrs.data.railPnr.legInfos.originInfo.localCode` (string)
    Local code of the station.
    Example: EUS1444

  - `payload.pnrs.data.railPnr.legInfos.originInfo.uicCodes` (array)
    List of UIC codes of the station.

  - `payload.pnrs.data.railPnr.legInfos.originInfo.sourceRefInfos` (array)
    Source Reference Info

  - `payload.pnrs.data.railPnr.legInfos.originInfo.sourceRefInfos.stationReferenceId` (string, required)
    Reference Id of the Station
    Example: https://et2-trainlineapi.ttlnonprod.com/stations/op~U~6e6165d9-1be0-4a52-b461-57f18d756c4c

  - `payload.pnrs.data.railPnr.legInfos.originInfo.sourceRefInfos.inventoryName` (string, required)
    Inventory Name
    Example: Atoc

  - `payload.pnrs.data.railPnr.legInfos.originInfo.stationType` (string)
    Status of the journey.
    Enum: "INDIVIDUAL", "STATION_GROUP", "METRO", "BUS_STOP", "FERRY_TERMINAL"

  - `payload.pnrs.data.railPnr.legInfos.originInfo.cityName` (string)
    City Name of the Railway Station
    Example: LONDON

  - `payload.pnrs.data.railPnr.legInfos.originInfo.stateCode` (string)
    State code for the Railway Station
    Example: MA

  - `payload.pnrs.data.railPnr.legInfos.originInfo.continentCode` (string)
    Unique Code of the Railway Station's Continent
    Example: EU

  - `payload.pnrs.data.railPnr.legInfos.originInfo.spotnanaRailStationId` (integer)
    Canonical Spotnana rail station id.

  - `payload.pnrs.data.railPnr.legInfos.originInfo.thirdPartyInfos` (array)
    Per-supplier codes and inventories for this station.

  - `payload.pnrs.data.railPnr.legInfos.originInfo.thirdPartyInfos.thirdParty` (string)
    Third party
    Enum: "TRAINLINE", "AMTRAK", "EUROSTAR"

  - `payload.pnrs.data.railPnr.legInfos.originInfo.thirdPartyInfos.stationCode` (string)
    Supplier-specific station code used for API calls with that supplier.

  - `payload.pnrs.data.railPnr.legInfos.originInfo.thirdPartyInfos.inventories` (array)
    Inventories that serve this station via this supplier.

  - `payload.pnrs.data.railPnr.legInfos.railFareType` (object)
    Type of fare.

  - `payload.pnrs.data.railPnr.legInfos.railFareType.description` (string, required)
    Description of this fare type.
    Example: Anytime Return (1st Class)

  - `payload.pnrs.data.railPnr.legInfos.railFareType.fareDetails` (array)

  - `payload.pnrs.data.railPnr.legInfos.railFareType.fareDetails.description` (string, required)
    Description about this fare.
    Example: Your journey must be on the date, or the day after the date, specified on the ticket.

  - `payload.pnrs.data.railPnr.legInfos.railFareType.fareDetails.name` (string, required)
    Name of the Attribute.
    Example: VALIDITY

  - `payload.pnrs.data.railPnr.legInfos.railFareType.fareSummary` (string)
    Summary of the fare
    Example: Any time of day, return within 1 month.

  - `payload.pnrs.data.railPnr.legInfos.ticketNumber` (string)
    ticket number
    Example: 345675333

  - `payload.pnrs.data.railPnr.legInfos.carrierConfirmationNumber` (string)
    carrier confirmation number for a segment
    Example: QP123AF

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection` (object)
    Selected Seat Preferences for the itinerary.

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.carriageType` (string)
    Seat Carriage Type
    Example: Quiet

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.deckType` (string)
    Seat Carriage Type
    Example: Upstairs

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.direction` (string)
    Seat Direction.
    Example: Backward facing

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.facilities` (array)
    Seat Facilities.

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.positionType` (string)
    Seat Position Type.
    Example: Window

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.seatLocationType` (string)
    Seat Location Type.
    Example: Sit close to

  - `payload.pnrs.data.railPnr.legInfos.seatPreferenceSelection.seatType` (string)
    Seat Type.
    Example: Family

  - `payload.pnrs.data.railPnr.legInfos.legId` (string)
    Leg Id.
    Example: 9a766905-b5e9-43f7-b985-0738ff692324

  - `payload.pnrs.data.railPnr.legInfos.vendorName` (string)
    Name of the vendor for which current leg is reserved
    Example: ATOC

  - `payload.pnrs.data.railPnr.legInfos.co2EmissionGramsPerPassenger` (integer)
    CO2 emission for the current leg in gram for a single passenger.
    Example: 10903

  - `payload.pnrs.data.railPnr.passengerInfos` (array)
    List of passenger information.

  - `payload.pnrs.data.railPnr.passengerInfos.passengerType` (string)
    Passenger type
    Enum: "ADULT", "CHILD", "INFANT", "YOUTH", "SENIOR"

  - `payload.pnrs.data.railPnr.paymentMode` (string)
    The payment mode used to pay for the rail booking.
    Enum: "PRE_PAID", "PAID_AT_STATION"

  - `payload.pnrs.data.railPnr.sections` (array)
    List of sections covered in the booking.

  - `payload.pnrs.data.railPnr.sections.fares` (array, required)
    List of all fares in this section.

  - `payload.pnrs.data.railPnr.sections.fares.appliedPromotions` (array)
    List of applied promotions for this fare.

  - `payload.pnrs.data.railPnr.sections.fares.fareLegs` (array, required)

  - `payload.pnrs.data.railPnr.sections.fares.passengerRefs` (array)
    List of passenger indexes for this fare.

  - `payload.pnrs.data.railPnr.sections.fares.routeRestriction` (string)
    Route restrictions for the fare.
    Example: Travel is allowed via any permitted route.

  - `payload.pnrs.data.railPnr.sections.fares.rateType` (string)
    Rate type classification for the fare.
    Enum: "UNKNOWN", "PUBLISHED", "COMPANY_NEGOTIATED", "TMC_NEGOTIATED", "RAIL_CARD"

  - `payload.pnrs.data.railPnr.sections.fares.corporateRates` (array)
    Corporate rate details when rateType is company or TMC negotiated.

  - `payload.pnrs.data.railPnr.sections.sectionStatus` (string)
    Status of the section.
    Enum: "INITIATED", "CONFIRMED", "CANCELLED", "REQUESTED"

  - `payload.pnrs.data.railPnr.sections.vendorConfirmations` (array)
    List of vendor confirmation numbers for this section.

  - `payload.pnrs.data.railPnr.sections.vendorConfirmations.passengerRefs` (array)
    List of passenger indexes.

  - `payload.pnrs.data.railPnr.sections.vendorConfirmations.vendorConfirmationId` (string, required)
    Vendor confirmation id.
    Example: XY179358

  - `payload.pnrs.data.railPnr.sections.vendorName` (string)
    Name of the vendor for this section.
    Example: ATOC

  - `payload.pnrs.data.railPnr.tickets` (array)
    List of rail tickets.

  - `payload.pnrs.data.railPnr.tickets.ticketNumber` (string, required)
    Ticket number.
    Example: 0840010000072

  - `payload.pnrs.data.railPnr.tickets.legs` (array, required)
    List of legs covered by this ticket.

  - `payload.pnrs.data.railPnr.tickets.passengerRefs` (array, required)
    List of passenger indexes for this ticket.

  - `payload.pnrs.data.railPnr.ticketDetails` (array, required)

  - `payload.pnrs.data.railPnr.ticketDetails.deliveryOption` (string, required)
    Delivery options available.
    Enum: "ELECTRONIC_TICKET", "KIOSK"

  - `payload.pnrs.data.railPnr.ticketDetails.eticketMetadata` (object)
    For ELECTRONIC_TICKET, it contains e-ticket file info.

  - `payload.pnrs.data.railPnr.ticketDetails.eticketMetadata.description` (string)
    E-ticket file name.
    Example: Rail e-ticket

  - `payload.pnrs.data.railPnr.ticketDetails.eticketMetadata.eticketData` (string, required)
    E-ticket data as bytes.

  - `payload.pnrs.data.railPnr.ticketDetails.eticketMetadata.type` (string, required)
    Ticket asset type.
    Enum: "PDF", "PNG", "APPLE_PK_PASS", "HTML", "COLLECTION_NUMBER"

  - `payload.pnrs.data.railPnr.ticketDetails.reference` (string)
    For KIOSK, it contains the reference number of the ticket.
For ELECTRONIC_TICKET, it contains the path where the actual content of the ticket is.

  - `payload.pnrs.data.railPnr.ticketDetails.deliveryStatus` (string)
    Enum representing the status of the ticket delivery.
    Enum: "FULFILLING", "FULFILLED"

  - `payload.pnrs.data.railPnr.ticketDetails.legs` (array)
    List of legs covered by this ticket asset.

  - `payload.pnrs.data.railPnr.ticketDetails.passengerRefs` (array)
    List of passenger indexes for this ticket asset.

  - `payload.pnrs.data.railPnr.type` (string, required)
    Enum representing what kind of journey it is.
    Enum: "ONE_WAY", "RETURN", "OPEN_RETURN"

  - `payload.pnrs.data.railPnr.vendorConfirmationNumber` (string, required)
    Rail confirmation number
    Example: ABQTEJ

  - `payload.pnrs.data.railPnr.itineraryId` (string)
    Itinerary ID
    Example: abcde

  - `payload.pnrs.data.railPnr.ancillaries` (array)
    Details of the selected ancillaries for the booking.

  - `payload.pnrs.data.railPnr.ancillaries.travelCard` (object)
    Travel card to select.

  - `payload.pnrs.data.railPnr.ancillaries.travelCard.rateInfo` (object)
    Rate for the itinerary.

  - `payload.pnrs.data.railPnr.ancillaries.travelCard.rateInfo.includesCommission` (boolean)
    Whether the rate includes commission
    Example: false

  - `payload.pnrs.data.railPnr.ancillaries.travelCard.travelCardKey` (string, required)
    Base64 encoded string to uniquely identify the card.
    Example: CilvcH5VfmZmMjU0MjVhLTQ1ZGYtNDRlZi1iYjFmLWRhZTYxMDFkMDhiORIkYjJiMTdkZmYtNDgwNy00YzgyLWI2YWEtMWM5Yjc0ZTEzOWZi

  - `payload.pnrs.data.railPnr.ancillaries.travelCard.validityPeriod` (object)
    Time validity for journey.

  - `payload.pnrs.data.railPnr.ancillaries.travelCard.vendorName` (string, required)
    Vendor which provides the card.
    Example: ATOC

  - `payload.pnrs.data.railPnr.ancillaries.travelCard.zoneValidity` (string)
    Zones in which travel card is valid.
    Example: London Travelcard Zones 1-4

  - `payload.pnrs.data.railPnr.ancillaries.type` (string, required)
    Type of the ancillary
    Enum: "TRAVEL_CARD"

  - `payload.pnrs.data.railPnr.termsAndConditions` (object)
    Terms and conditions.

  - `payload.pnrs.data.railPnr.termsAndConditions.conditions` (array)
    List of conditions

  - `payload.pnrs.data.railPnr.termsAndConditions.conditions.url` (string, required)
    Url for terms and conditions.
    Example: https://www.amtrak.com/terms-and-conditions.html

  - `payload.pnrs.data.railPnr.termsAndConditions.conditions.text` (string, required)
    Display text for the url.
    Example: Amtrak

  - `payload.pnrs.data.railPnr.exchangeInfo` (object)
    Exchange information for rail PNR.

  - `payload.pnrs.data.railPnr.exchangeInfo.exchangeType` (string, required)
    Exchange type
    Enum: "AMEND_RESERVATION", "PAY_THE_DIFFERENCE", "REBOOK_AND_REFUND"

  - `payload.pnrs.data.railPnr.exchangeInfo.relatedSectionInfo` (object)
    Related section information for the exchanged itinerary.

  - `payload.pnrs.data.railPnr.exchangeInfo.relatedSectionInfo.newSectionIndexes` (array)
    Section indexes of the exchanged itinerary.

  - `payload.pnrs.data.railPnr.exchangeInfo.relatedSectionInfo.oldSectionIndexes` (array)
    Section indexes of the previous itinerary.

  - `payload.pnrs.data.railPnr.previousItinerary` (object)
    Previous itinerary information for rail PNR.

  - `payload.pnrs.data.railPnr.previousItinerary.legInfos` (array, required)
    List of legs covered in the booking.

  - `payload.pnrs.data.railPnr.previousItinerary.sections` (array, required)
    List of sections covered in the itinerary.

  - `payload.pnrs.data.railPnr.previousItinerary.sourceReference` (string, required)
    Source reference of the itinerary.

  - `payload.pnrs.data.limoPnr` (object)
    Limo info

  - `payload.pnrs.data.limoPnr.driver` (object)
    Driver details of the limo.

  - `payload.pnrs.data.limoPnr.driver.name` (string, required)
    Driver name.
    Example: John Doe

  - `payload.pnrs.data.limoPnr.driver.driverInstructions` (string)
    Notes to inform driver about any special instructions.

  - `payload.pnrs.data.limoPnr.legs` (array, required)
    List of legs covered in the booking.

  - `payload.pnrs.data.limoPnr.legs.dropOffNotes` (string)
    Drop off notes for the driver.

  - `payload.pnrs.data.limoPnr.legs.pickupNotes` (string)
    Pick up notes for the driver.

  - `payload.pnrs.data.limoPnr.legs.sortingPriority` (integer)
    Sorting priority of this leg

  - `payload.pnrs.data.limoPnr.legs.flightNumbers` (array)
    Flight information associated with this leg.

  - `payload.pnrs.data.limoPnr.limoDetails` (object, required)
    Limo details.

  - `payload.pnrs.data.limoPnr.limoDetails.carType` (string, required)
    Limo type.
    Enum: "UNKNOWN_CAR_TYPE", "STANDARD_CAR", "EXECUTIVE_CAR", "BUSINESS_VAN", "FIRST_CLASS", "SUV", "SEDAN", "EXECUTIVE_SEDAN", "LUXURY_SEDAN", "EXECUTIVE_VAN", "BUSINESS_SEDAN"

  - `payload.pnrs.data.limoPnr.limoDetails.electricVehicle` (string, required)
    Whether the vehicle is electric.
    Enum: "UNKNOWN_EV", "YES", "NO"

  - `payload.pnrs.data.limoPnr.limoDetails.vendorName` (string)
    Vendor name of the limo.
    Example: NATIONAL

  - `payload.pnrs.data.limoPnr.limoDetails.limoVendorInfo` (object)
    Information about limo vendor.

  - `payload.pnrs.data.limoPnr.limoDetails.limoVendorInfo.code` (string)
    Vendor code
    Example: ZE

  - `payload.pnrs.data.limoPnr.limoDetails.limoVendorInfo.name` (string, required)
    Vendor name
    Example: HERTZ

  - `payload.pnrs.data.limoPnr.limoDetails.limoVendorInfo.email` (string)
    Vendor Email
    Example: mail@mail.com

  - `payload.pnrs.data.limoPnr.limoDetails.amenities` (object)
    Limo car amenities.

  - `payload.pnrs.data.limoPnr.limoDetails.amenities.numPassengers` (integer)
    Number of passengers allowed.

  - `payload.pnrs.data.limoPnr.limoDetails.amenities.numSmallBags` (integer)
    Number of small bags allowed.

  - `payload.pnrs.data.limoPnr.limoDetails.amenities.numLargeBags` (integer)
    Number of large bags allowed.

  - `payload.pnrs.data.limoPnr.bookingNotes` (string)
    Contains information about rate, cancellation policies and terms and conditions.

  - `payload.pnrs.data.limoPnr.notesToVendor` (string)
    Notes added by the booker for the vendor at the checkout.

  - `payload.pnrs.data.limoPnr.paymentType` (string)
    Payment type.
    Enum: "UNKNOWN_PAYMENT_TYPE", "PAY_AT_VENDOR", "PREPAID"

  - `payload.pnrs.data.limoPnr.vendorConfirmationNumber` (string, required)
    Limo confirmation number.
    Example: 2108528068

  - `payload.pnrs.data.limoPnr.sourceStatus` (string)
    Source status code of the pnr

  - `payload.pnrs.data.miscPnr` (object)
    Misc info

  - `payload.pnrs.data.miscPnr.description` (string, required)
    Description of the miscellaneous segment.
    Example: Any text info

  - `payload.pnrs.data.miscPnr.vendorConfirmationNumber` (string, required)
    Miscellaneous segment confirmation number.
    Example: 2108528068

  - `payload.pnrs.data.miscPnr.sortingPriority` (integer)
    Sorting priority of this pnr
    Example: 10

  - `payload.pnrs.data.miscPnr.sourceStatus` (string)
    Source status code of the pnr

  - `payload.pnrs.data.additionalMetadata` (object)
    Any addtional metadata associated with the booking

  - `payload.pnrs.data.customFields` (array)
    List of all the Custom Fields associated with this Pnr

  - `payload.pnrs.data.customFields.id` (string, required)
    Meeting id or budget id based on custom field type.

  - `payload.pnrs.data.customFields.type` (string, required)
    The type of custom field.
    Enum: "QUESTION", "MEETING", "BUDGET", "BREX_TOKEN"

  - `payload.pnrs.data.customFields.description` (string, required)
    Description of the custom Field
    Example: GLOBAL OFFSITE 2022

  - `payload.pnrs.data.customFieldsV3Responses` (array)
    List of all the Custom Fields responses associated with this Pnr.

  - `payload.pnrs.data.customFieldsV3Responses.entity` (object, required)
    The entity.

  - `payload.pnrs.data.customFieldsV3Responses.entity.type` (string, required)
    The type at which the field will be stored.
    Enum: "PNR", "TICKET"

  - `payload.pnrs.data.customFieldsV3Responses.entity.id` (string, required)
    Identifier of the entity

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses` (array, required)
    The list of responses that are selected by user or auto populated.

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.fieldId` (string, required)
    Custom field id

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.fieldName` (string)
    Name of the custom field

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.armId` (string, required)
    Arm id which is applicable

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.includeLocations` (array)

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions` (array, required)
    The list of options that are selected by user or auto populated.

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.name` (string, required)
    Value of the selection

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.translatedName` (string)
    Translated value of the selection

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.description` (string)
    Description of the selection

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.translatedDescription` (string)
    Translated description of the selection

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.additionalUserInput` (string)
    Additional user input

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.additionalInfos` (array)
    Actual values of the additional infos

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.additionalInfoConfigs` (array)
    Additional info configs for the selected option

  - `payload.pnrs.data.customFieldsV3Responses.selectedResponses.selectedOptions.optionId` (string)
    Id of the selected option; sent by clients, never returned

  - `payload.pnrs.data.travelerPnrVisibilityStatus` (string)
    Represents the PNR visibility status, if marked as HIDDEN should not be displayed to the traveler
    Enum: "VISIBLE", "HIDDEN"

  - `payload.pnrs.data.shellPnrInfo` (object)
    Information about shell pnr

  - `payload.pnrs.data.shellPnrInfo.shellPnrCreateReasonType` (string)
    Reason for creating the shell pnr
    Example: CONTENT_NOT_AVAILABLE

  - `payload.pnrs.data.shellPnrInfo.createShellPnrReason` (string)
    If the reason for creating the shell pnr is chosen as OTHER or CONTENT_NOT_AVAILABLE,
we expect the agent to explain the reason using this free text
    Example: Flight Missing

  - `payload.pnrs.data.shellPnrInfo.pnrType` (string)
    It will contain the PNR type for different shell PNRs
    Example: AIR

  - `payload.pnrs.data.pnrCreationDetails` (object)
    Information about pnr creation

  - `payload.pnrs.data.pnrCreationDetails.requestedByDetails` (object)
    Information about the requester of the trip.

  - `payload.pnrs.data.pnrCreationDetails.requestedByDetails.pnrRequestedBy` (string, required)
    Name of the requester
    Example: Peter

  - `payload.pnrs.data.approvalInfo` (array)
    Approval related information for the PNR

  - `payload.pnrs.data.approvalInfo.approvalStatus` (string, required)
    The approval status for the PNR
    Enum: "APPROVAL_PENDING", "APPROVED", "DENIED", "TIMED_OUT", "TIMED_OUT_REMINDER", "APPROVAL_NOT_REQUIRED", "SOFT_APPROVAL_TIMEOUT"

  - `payload.pnrs.data.approvalInfo.approvalType` (string)
    Type of APPROVAL
    Enum: "APPROVAL_TYPE_UNKNOWN", "HARD_APPROVAL", "SOFT_APPROVAL", "PASSIVE_APPROVAL", "PRE_APPROVAL"

  - `payload.pnrs.data.approvalInfo.autoBookStatus` (string)
    Auto book status of the PNR.
    Enum: "AUTO_BOOK_STATUS_UNKNOWN", "AUTO_BOOK_STATUS_NOT_REQUIRED", "AUTO_BOOK_STATUS_REQUESTED", "AUTO_BOOK_STATUS_IN_PROGRESS", "AUTO_BOOK_STATUS_SUCCESS", "AUTO_BOOK_STATUS_FAILED"

  - `payload.pnrs.data.cancellationRequestStatus` (string)
    Status of in progress cancellation request
CANCELLATION_IN_PROGRESS - Cancellation request is in progress via OBT
CANCELLATION_BY_AGENT_REQUESTED - Cancellation request is in progress via agent
    Enum: "CANCELLATION_IN_PROGRESS", "CANCELLATION_BY_AGENT_REQUESTED"

  - `payload.pnrs.data.externalInfo` (object)
    PNR related external information

  - `payload.pnrs.data.externalInfo.externalPnrId` (string)
    External Pnr ID
    Example: A2345

  - `payload.pnrs.data.externalInfo.externalPnrVersion` (integer)
    External Pnr Version
    Example: 1

  - `payload.pnrs.data.externalInfo.externalUrlMetadata` (string)
    External url information to be attached for pnr
    Example: exchange=a,cancel=b

  - `payload.pnrs.data.tripId` (string)
    Spotnana trip ID to which the PNR belongs to
    Example: 123456789

  - `payload.pnrs.data.freshnessInfo` (object)
    Information about the freshness of the data set in this PNR object. This field is only set
when the PNR returned is not the latest PNR available.

  - `payload.pnrs.data.bookingEmailInfo` (object)
    Information passed to the Spotnana email system that processes booking updates.

  - `payload.pnrs.data.bookingEmailInfo.disableEmail` (boolean)
    Whether an email should be sent to travelers.
    Example: true

  - `payload.pnrs.data.llfPnrInfo` (object)
    Lowest logical fare info at pnr level

  - `payload.pnrs.data.pnrId` (string)
    Spotnana PNR ID
    Example: 123456789

  - `payload.pnrs.data.invoiceInfos` (array)
    Invoice related information for the PNR

  - `payload.pnrs.data.invoiceInfos.invoiceNumber` (string, required)
    The invoice number for an invoice
    Example: SPOT-0001

  - `payload.pnrs.data.invoiceInfos.productType` (string, required)
    Type of product being invoiced
    Enum: "PNR", "SERVICE_FEE"

  - `payload.pnrs.data.invoiceInfos.invoiceId` (string, required)
    Unique ID of the invoice.
    Example: 2a5c0a73-1306-47f2-8210-7dfc812f4d0e

  - `payload.pnrs.data.invoiceData` (array)
    Buyer and seller invoice information for this PNR

  - `payload.pnrs.data.invoiceData.type` (string)
    The type of entity this buyer/seller info is associated with
    Enum: "PNR"

  - `payload.pnrs.data.invoiceData.buyer` (object)
    Buyer of items mentioned in the invoice.

  - `payload.pnrs.data.invoiceData.buyer.name` (string, required)
    Name of buyer, usually a traveler.
    Example: John Doe

  - `payload.pnrs.data.invoiceData.buyer.address` (string, required)
    Address of buyer. Could be office, legal entity or org address.
    Example: 115 Broadway Suite 04-101,
New York, NY 10006

  - `payload.pnrs.data.invoiceData.buyer.taxId` (string)
    Tax number for the seller, for ex GSTN in India
    Example: TXG239023092

  - `payload.pnrs.data.invoiceData.buyer.idInfo` (array)
    The seller ID information.

  - `payload.pnrs.data.invoiceData.buyer.idInfo.idType` (string, required)
    The type of Id.
    Enum: "TAX_ID", "VAT_ID", "VAT_REG_NO", "GST_NO", "ABN", "GSTIN", "SIRET", "BUSINESS_REG_NO", "UID", "CVR_NO", "EIN"

  - `payload.pnrs.data.invoiceData.buyer.idInfo.value` (string, required)
    Value of the Id.
    Example: TXG239023092

  - `payload.pnrs.data.invoiceData.seller` (object)
    Entity that sold the items mentioned in the invoice.

  - `payload.pnrs.data.invoiceData.seller.name` (string, required)
    Name of seller, usually a TMC Legal Entity.
    Example: Spotnana India Pvt. Ltd.

  - `payload.pnrs.data.invoiceData.seller.address` (string, required)
    Address of seller.
    Example: 115 Broadway Suite 04-101,
New York, NY 10006

  - `payload.pnrs.data.invoiceData.seller.taxId` (string)
    Tax number for the seller, for ex GSTN in India
    Example: TXG239023092

  - `payload.pnrs.data.invoiceData.seller.idInfo` (array)
    The seller ID information.

  - `payload.pnrs.data.additionalFareAmounts` (array)
    Additional fare amounts of the PNR defining components like flight pass additional amount, change fee etc.

  - `payload.pnrs.data.dkNumber` (string)
    DK number attached to the PNR.
    Example: 123456789

  - `payload.pnrs.data.tripUsageMetadata` (object)
    Usage metadata associated with the trip entity.

  - `payload.pnrs.data.tripUsageMetadata.tripUsageType` (string, required)
    Trip usage type.
    Enum: "STANDARD", "EVENT"

  - `payload.pnrs.data.tripUsageMetadata.eventMetadata` (object)
    Metadata associated with an event trip.

  - `payload.pnrs.data.tripUsageMetadata.eventMetadata.eventId` (string, required)
    The event id.
    Example: 123456789

  - `payload.pnrs.data.tripUsageMetadata.eventMetadata.rootEventId` (string)
    The root event id.
    Example: 123456789

  - `payload.pnrs.data.tripUsageMetadata.eventMetadata.eventType` (string)
    Type of an event
    Enum: "GENERIC", "PROGRAM", "PROGRAM_SESSION", "PROGRAM_TRIP"

  - `payload.pnrs.data.tripUsageMetadata.eventMetadata.associatedEventIds` (array)
    The associated event ids.

  - `payload.pnrs.data.owningPccInfo` (object)
    Details of the agency PCC (pseudo city code) office that owns the booking.

  - `payload.pnrs.data.owningPccInfo.zoneId` (string)
    Zone id of the PCC
    Example: America/Chicago

  - `payload.pnrs.data.suspendReason` (string)
    Reason for suspending the PNR. Determines which finalizeIntent variant is required when finalizing.
- PRICE_OPTIMIZATION: Unified price optimization reshop (air or hotel). Finalize with priceOptimization (PriceOptimizationMetadata).
- EXCHANGE: Ticket exchange initiated by agent. Finalize with manualVerificationIntent.
- GDS_EXCHANGE: GDS-driven ticket exchange. Finalize with manualVerificationIntent.
- AIR_PRICE_OPTIMIZATION: Deprecated. Legacy air-only reshop. Use PRICE_OPTIMIZATION instead. Finalize with airPriceOptimizationMetadata.
    Enum: "AIR_PRICE_OPTIMIZATION", "EXCHANGE", "GDS_EXCHANGE", "PRICE_OPTIMIZATION"

  - `payload.pnrs.data.priceOptimizationMetadata` (object)
    Unified price optimization metadata for all travel types.
Carried on FinalizeIntent and stored on PnrMetadata after finalize.

  - `payload.pnrs.data.priceOptimizationMetadata.oldPnrId` (string, required)
    Spotnana PNR ID before reshop.
    Example: 8196487818

  - `payload.pnrs.data.priceOptimizationMetadata.newPnrId` (string)
    Spotnana PNR ID after reshop. Same as oldPnrId for in-place modify;
different for cross-PNR rebook. May not exist on failure.
    Example: 8196487818

  - `payload.pnrs.data.priceOptimizationMetadata.result` (object, required)
    Result of a price optimization reshop attempt.

  - `payload.pnrs.data.priceOptimizationMetadata.result.status` (string, required)
    Outcome status of a price optimization reshop attempt.
    Enum: "SUCCESS", "FAILURE", "NO_CHANGE"

  - `payload.pnrs.data.priceOptimizationMetadata.result.failureMetadata` (object)
    Details about a failed price optimization attempt.

  - `payload.pnrs.data.priceOptimizationMetadata.result.failureMetadata.reason` (string, required)
    Failure reason for a price optimization reshop attempt.
    Enum: "OLD_FARE_CANCEL_FAILED", "NEW_FARE_BOOK_FAILED", "OLD_PNR_CANCEL_FAILED", "NEW_PNR_BOOKING_FAILED", "NEW_TICKET_ISSUE_FAILED", "OLD_TICKET_VOID_FAILED", "SUPPLIER_ERROR"

  - `payload.pnrs.data.priceOptimizationMetadata.result.failureMetadata.message` (string)
    Human-readable detail about the failure.
    Example: New PNR booked but old PNR cancel failed

  - `payload.pnrs.data.priceOptimizationMetadata.travelType` (object)
    Travel-type-specific price optimization metadata.

  - `payload.pnrs.data.priceOptimizationMetadata.travelType.air` (object)
    Air-specific price optimization metadata.

  - `payload.pnrs.data.priceOptimizationMetadata.travelType.air.oldTickets` (array)
    Ticket numbers of reshopped tickets.

  - `payload.pnrs.data.priceOptimizationMetadata.travelType.air.newTickets` (array)
    New ticket numbers issued after reshop. May not exist on failure.

  - `payload.pnrs.data.priceOptimizationMetadata.travelType.hotel` (object)
    Hotel-specific price optimization metadata.

  - `payload.pnrs.data.priceOptimizationMetadata.travelType.hotel.oldConfirmationNumber` (string)
    Hotel supplier confirmation number before reshop.
    Example: HK-98765

  - `payload.pnrs.data.priceOptimizationMetadata.travelType.hotel.newConfirmationNumber` (string)
    Hotel supplier confirmation number after reshop. May not exist on failure.
    Example: HK-11223

  - `payload.pnrs.data.state` (string)
    State of the PNR
    Enum: "ITINERARY", "PNR"

  - `payload.pendingShellPnrs` (array)

  - `payload.pendingManualFormPnrs` (array)

  - `payload.tripStatus` (string)
    User facing status for this booking
    Enum: "PENDING", "CONFIRMED", "ACTIVE", "COMPLETED", "CANCELLED", "REFUNDED", "VOIDED", "PROCESSING", "UNCONFIRMED", "AIRLINE_CONTROL", "PAYMENT_DECLINED", "SCHEDULE_CHANGE", "UNKNOWN", "HOLD", "APPROVAL_REQUESTED", "APPROVAL_DENIED", "CANCELLATION_IN_PROGRESS", "INOPERATIVE_STATUS", "FLIGHT_UNCONFIRMED_STATUS"

  - `payload.eventSummary` (object)
    Event summary for a traveler

  - `payload.eventSummary.id` (string, required)
    Event ID
    Example: 12345

  - `payload.eventSummary.name` (string)
    Name of the event
    Example: My event

  - `payload.eventSummary.description` (string)
    Description of the event
    Example: This is an event description

  - `payload.eventSummary.location` (object)
    Location for an event

  - `payload.eventSummary.contacts` (array)
    Event contacts for the traveler

  - `payload.eventSummary.documents` (array)
    List of documents associated with this event for the traveler

  - `payload.eventSummary.documents.url` (string, required)
    S3 location of the document.
    Example: https://s3.amazonaws.com/bucket-name/folder-name/file-name

  - `payload.eventSummary.documents.documentId` (string, required)
    Unique identifier of the document.
    Example: f49d00fe-1eda-4304-ba79-a980f565281d

  - `payload.eventSummary.documents.documentMetadata` (object, required)
    Metadata related to document.

  - `payload.eventSummary.documents.documentMetadata.documentType` (string, required)
    Document type.
    Enum: "BOARDING_PASS", "CONFIRMATION", "INVOICE", "VISA", "MISCELLANEOUS", "OTHERS", "TASK_PROCESSOR", "EVENT_COVER_IMAGE", "LOGO_IMAGE", "KNOWLEDGE_BASE", "AI_PLATFORM_ATTACHMENTS", "AI_SKILL_FILE"

  - `payload.eventSummary.documents.documentMetadata.entityType` (string, required)
    Entity type against which the document is to uploaded.
    Enum: "PNR", "COMPANY", "AIR_ITINERARY", "EVENT", "LOCATION_IMAGE", "AIR_COMMISSION_CONTRACT"

  - `payload.eventSummary.documents.documentMetadata.entityId` (string, required)
    Entity Id for the given entity type.
    Example: 123124

  - `payload.eventSummary.documents.documentMetadata.entityMetadata` (object, required)
    Metadata for associated entity of document.

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.pnrMetadata` (object)
    Metadata when document is associated to pnr entity.

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.pnrMetadata.flightMetadata` (object)
    Flight metadata against which document is associated.

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.pnrMetadata.flightMetadata.flightId` (string)
    Unique identifier of the flight.
    Example: CgNERU4SA1NGTxoKNTQ1NzI5ODcxMQ

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.pnrMetadata.legMetadata` (object)
    Leg metadata against which document is associated.

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.pnrMetadata.legMetadata.legId` (string)
    Unique identifier of the leg.
    Example: CgNTRk8SA0RFThoKNTQ1NzI5ODcxMQ==

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.invoiceMetadata` (object)
    Metadata associated with an invoice document.

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.invoiceMetadata.invoiceNumber` (string, required)
    Example: SPOT-0001

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.invoiceMetadata.invoiceType` (string)
    Enum: "SERVICE_FEE_INVOICE", "FARE_INVOICE", "GENERIC_INVOICE"

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.travelType` (string, required)
    Travel Type
    Enum: "AIR", "HOTEL", "CAR", "RAIL", "LIMO", "MISC", "ALL"

  - `payload.eventSummary.documents.documentMetadata.entityMetadata.eventMetadata` (object)
    Metadata when document is associated to an event.

  - `payload.eventSummary.documents.documentMetadata.name` (string, required)
    Document name.
    Example: BoardingPass.pdf

  - `payload.eventSummary.bookingGuidelines` (array)
    Booking details allowed for the event for the traveler

  - `payload.eventSummary.bookingGuidelines.numGuestsAllowed` (integer)
    Number of guests allowed to be booked for this booking
    Example: 1

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine` (object)
    Air related guidelines

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports` (array)
    List of allowed airports for arrival of flight-in-event and departure of flight-out-event.

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.airportCode` (string)
    3-letter code of the airport.
    Example: WRA

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.airportName` (string)
    Full name of the airport.
    Example: Warder Airport

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.cityName` (string)
    Name of the city in which the airport is located (or is nearest to).
    Example: Werder

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.countryName` (string)
    Name of the country in which the airport is located.
    Example: Ethiopia

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.countryCode` (string)
    2-letter IATA country code associated with the airport.
    Example: ET

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.zoneName` (string)
    Name of the time zone associated with the airport.
    Example: Africa/Addis_Ababa

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedAirports.stateCode` (string)
    2-letter IATA code for the state in which the airport is located.
    Example: CA

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedCityCodes` (array)
    List of allowed city codes for arrival of flight-in-event and departure of flight-out-event. If both allowedAirports and allowedCityCodes are provided, allowedCityCodes takes precedence.

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.arrivalBookingWindow` (object)
    Event booking window

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedFlightGuidelines` (array)
    List of allowed flight guidelines for the event.

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedFlightGuidelines.allowedFlightType` (string, required)
    The types of flight booking guidelines
    Enum: "ONE_WAY", "ROUND_TRIP", "MULTICITY"

  - `payload.eventSummary.bookingGuidelines.airBookingGuideLine.allowedFlightGuidelines.numberOfLegs` (integer)
    The number of legs allowed for the flight booking.
    Example: 2

  - `payload.eventSummary.bookingGuidelines.hotelBookingGuideLine` (object)
    Hotel related guidelines

  - `payload.eventSummary.bookingGuidelines.hotelBookingGuideLine.allowedHotels` (array)
    List of allowed Hotel details for the event

  - `payload.eventSummary.bookingGuidelines.hotelBookingGuideLine.paymentGuidelines` (object)
    Hotel booking payment guidelines

  - `payload.eventSummary.bookingGuidelines.carBookingGuideLine` (object)
    Car related guidelines

  - `payload.eventSummary.bookingGuidelines.carBookingGuideLine.paymentGuidelines` (object)
    Car booking payment guidelines

  - `payload.eventSummary.bookingGuidelines.carBookingGuideLine.paymentGuidelines.allowedPaymentVendors` (array)
    List of allowed car vendors for the event

  - `payload.eventSummary.bookingGuidelines.carBookingGuideLine.paymentGuidelines.allowedPaymentVendors.vendorId` (string, required)
    ID of the vendor.

  - `payload.eventSummary.bookingGuidelines.carBookingGuideLine.paymentGuidelines.allowedPaymentVendors.vendorName` (string, required)
    Name of the vendor.

  - `payload.eventSummary.bookingGuidelines.carBookingGuideLine.paymentGuidelines.onlyVendorBooking` (boolean)
    Whether only Vendor bookings are allowed for the event.
    Example: true

  - `payload.eventSummary.bookingGuidelines.railBookingGuideLine` (object)
    Rail related guidelines

  - `payload.eventSummary.allowedBookingTypes` (array)
    Allowed booking types for the event for the traveler

  - `payload.eventSummary.eventUserRsvp` (object)
    User rsvp for the event

  - `payload.eventSummary.eventUserRsvp.eventRsvpState` (string)
    Allowed event rsvp states for a user
    Enum: "ADDED", "INVITED", "INVITE_ACCEPTED", "INVITE_DECLINED", "REMOVED"

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse` (object)
    Event rsvp response

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.air` (object)
    Air rsvp response

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.air.notNeeded` (boolean)
    Whether air booking is needed by the traveler or not
    Example: true

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.hotel` (object)
    Hotel rsvp response

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.hotel.notNeeded` (boolean)
    Whether hotel booking is needed by the traveler or not
    Example: true

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.car` (object)
    Car rsvp response

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.car.notNeeded` (boolean)
    Whether car booking is needed by the traveler or not
    Example: true

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.rail` (object)
    Rail rsvp response

  - `payload.eventSummary.eventUserRsvp.eventRsvpResponse.rail.notNeeded` (boolean)
    Whether rail booking is needed by the traveler or not
    Example: true

  - `payload.eventSummary.eventUserRsvp.airBookingStatus` (string)
    Booking status of the travel.
    Enum: "BOOKED", "NOT_BOOKED", "OPTED_OUT"

  - `payload.eventSummary.contactInfoList` (array)
    Event contacts for the traveler

  - `payload.eventSummary.contactInfoList.email` (string)
    Business email of the user
    Example: a@spotnana.com

  - `payload.eventSummary.companyId` (object)
    Identifier of an object

  - `payload.eventSummary.companyId.id` (string, required)
    Example: b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3

  - `payload.eventSummary.runningStatus` (string)
    Running status of an event
    Enum: "IN_PROGRESS", "UPCOMING", "COMPLETED"

  - `payload.eventSummary.status` (string)
    Status of an event
    Enum: "DRAFT", "PUBLISH", "CANCELLED"

  - `payload.eventSummary.isRemovedParticipant` (boolean)
    Whether the traveler is part of the event.

  - `payload.eventSummary.inviteEmailConfig` (object)
    Configuration for event invite/reminder emails

  - `payload.eventSummary.inviteEmailConfig.emailExcludeCoordinatorInfo` (boolean)
    Whether to exclude coordinator information in emails sent to travelers.
    Example: true

  - `payload.eventSummary.parentEventId` (string)
    Optional parent event's id.
    Example: 56789012

  - `payload.eventSummary.bookingStyle` (string)
    The booking style for the event's participants.
    Enum: "SELF_SERVE", "AGENT_MANAGED"

  - `payload.eventSummary.allowTravelersToRsvp` (string)
    Allow travelers to rsvp for the event
    Enum: "ALLOWED", "NOT_ALLOWED"

  - `payload.simplePnrs` (array)

  - `payload.simplePnrs.pnrId` (string, required)
    Spotnana PNR Id
    Example: 1234567890

  - `payload.simplePnrs.sourcePnrId` (string, required)
    The source PNR reference (Sabre PNR, NDC booking reference etc.)
    Example: AEDAVF

  - `payload.simplePnrs.air` (object)
    Air specific basic information related to PNRs that were not successfully 
mapped into Spotnana PNR protos.

  - `payload.simplePnrs.air.legs` (array, required)

  - `payload.simplePnrs.air.legs.flights` (array, required)

  - `payload.simplePnrs.air.legs.flights.vendorConfirmationId` (string, required)
    The confirmation ID in the vendor system.

  - `payload.simplePnrs.air.legs.flights.flightNumber` (string, required)
    The flight number.

  - `payload.simplePnrs.air.legs.flights.airlineCode` (string, required)
    The operating airline code.

  - `payload.simplePnrs.air.legs.flights.departureAirportInfo` (object, required)
    Details related to an airport.

  - `payload.simplePnrs.air.legs.flights.departureAirportInfo.airportCode` (string, required)
    The airport code.
    Example: WRA

  - `payload.simplePnrs.air.legs.flights.departureAirportInfo.airportName` (string, required)
    The airport name.
    Example: Warder Airport

  - `payload.simplePnrs.air.legs.flights.departureAirportInfo.cityName` (string, required)
    The city name.
    Example: Werder

  - `payload.simplePnrs.air.legs.sortingPriority` (integer)
    This field sets the sorting priority of the simple leg to determine its order of display
on the trips page.
    Example: 0

  - `payload.simplePnrs.hotel` (object)
    Hotel specific basic information related to PNRs that were not successfully
mapped into Spotnana PNR protos.

  - `payload.simplePnrs.hotel.vendorConfirmationId` (string, required)
    The confirmation ID in the vendor system.

  - `payload.simplePnrs.hotel.hotelName` (string, required)
    The hotel name.

  - `payload.simplePnrs.hotel.sortingPriority` (integer)
    This field sets the sorting priority of the hotel to determine its order of display
on the trips page.
    Example: 0

  - `payload.simplePnrs.car` (object)
    Car specific basic information related to PNRs that were not successfully
mapped into Spotnana PNR protos.

  - `payload.simplePnrs.car.vendorConfirmationId` (string, required)
    The confirmation ID in the vendor system.

  - `payload.simplePnrs.car.vendorName` (string, required)
    The vendor name.

  - `payload.simplePnrs.car.sortingPriority` (integer)
    This field sets the sorting priority of the car to determine its order of display on 
the trips page.
    Example: 0

  - `payload.simplePnrs.rail` (object)
    Rail specific basic information related to PNRs that were not successfully
mapped into Spotnana PNR protos.

  - `payload.simplePnrs.rail.sections` (array, required)
    The List of sections covered in the itinerary.

  - `payload.simplePnrs.rail.sections.vendorConfirmationId` (string, required)
    The confirmation ID in the vendor system.

  - `payload.simplePnrs.rail.sections.legs` (array, required)
    The information related to the legs in a section.

  - `payload.simplePnrs.rail.sections.legs.originStationInfo` (object, required)
    The information related to the rail station.

  - `payload.simplePnrs.rail.sections.legs.originStationInfo.name` (string, required)
    Name of the station.

  - `payload.simplePnrs.rail.sections.legs.originStationInfo.code` (string, required)
    Unique code of the station.

  - `payload.simplePnrs.rail.sections.legs.carrierName` (string, required)
    The name of the carrier.

  - `payload.simplePnrs.rail.sections.legs.sortingPriority` (integer)
    This field sets the sorting priority of the rail leg to determine its order of display
on the trips page.
    Example: 0

  - `payload.simplePnrs.rail.ticketReferences` (array, required)
    Containing details about the content and how to get the ticket. e.g. for eticket, it will
contain details of the path where pdf/apple pk pass is stored. For collection ticket, 
it will contain the reference number of the ticket.

  - `payload.simplePnrs.rail.ticketReferences.description` (string, required)
    Provide some details on what the given asset contains.

  - `payload.simplePnrs.rail.ticketReferences.reference` (string, required)
    For ticket type collection number, it contains the reference number of the ticket.
For others, it contains the path where the actual content of the ticket is.

  - `payload.simplePnrs.limo` (object)
    Limo specific basic information related to PNRs that were not successfully
mapped into Spotnana PNR protos.

  - `payload.simplePnrs.limo.vendorConfirmationId` (string, required)
    The confirmation ID in the vendor system.

  - `payload.simplePnrs.limo.vendorName` (string, required)
    The vendor name.

  - `payload.simplePnrs.limo.sortingPriority` (integer)
    This field sets the sorting priority of the limo to determine its order of display on 
the trips page.
    Example: 0

  - `payload.additionalInfo` (object)
    Additional information about the trip

  - `payload.additionalInfo.vpayBillBack` (string)
    Vpay bill back indicator. Can be one of N(none), C(only car), H(only hotel), B(both) depending on whether there is an active hotel or car pnr using virtual card.
    Example: B

  - `payload.tripPaymentInfo` (object)
    Payment info for a given trip. Fares of pending manual form and pending shell pnrs are not considered.

  - `payload.addManualCreditDisabled` (boolean)
    When true, the agent "add manual credit" action is disabled on the Trips page because the trip traveler's home legal-entity market is not in the company's supported set.

  - `timestamp` (string)
    Timestamp when the event was published

  - `audience` (object)
    Audience for whom this webhook payload is intended

  - `audience.organizationId` (string)
    Organization ID

  - `audience.contractingTmcId` (string)
    Contracting TMC ID

  - `audience.bookingTmcId` (string)
    Booking TMC ID

  - `payloadMetadata` (object)
    Metadata about the webhook payload processing

  - `payloadMetadata.piiMaskingStatus` (string)
    PII masking status for the payload. APPLIED if PII fields were masked, PARTIAL if masking encountered an error and some fields may be unmasked. Absent when no masking was requested.
    Enum: "APPLIED", "PARTIAL"

## Response 200:

  - `200` (unknown)
    OK

