# Create a new car booking

Create a new car PNR.

Endpoint: POST /v2/car/create-pnr
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Request fields (application/json):

  - `bookingKey` (string, required)
    Booking Key from car price check response.
    Example: ChBjMmRlYjdhNzJiM2RjMzE1EhBmNDA3MzZlYjFiZDRmYWU5

  - `carId` (string, required)
    CarId of the car to be booked.
    Example: EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP

  - `tripData` (object, required)
    Trip data to book a PNR.

  - `tripData.approverEmail` (string)
    Email address of the approver who should receives approval email for the current booking.

  - `tripData.approverName` (string)
    Name of the approver.

  - `tripData.hardApprovalRequired` (boolean)
    Whether the current booking requires hard approval or soft approval.
This flag should be used only if valid approver is present.

  - `tripData.outOfPolicy` (boolean)
    If the given booking is out of policy.

  - `tripData.policyId` (string)
    Policy Id for which violation is done.

  - `tripData.policyVersion` (integer)
    Version of policy.

  - `tripData.tripId` (object, required)
    Id of trip.

  - `tripData.tripId.id` (string, required)
    Id.
    Example: 2783425534

  - `travelers` (array, required)
    List of travelers for the booking.

  - `travelers.travelerId` (object, required)
    User identifier

  - `travelers.travelerId.id` (string, required)

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

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

  - `travelers.name.family2` (string)
    Example: FamilyTwo

  - `travelers.name.given` (string, required)
    First (given) name.
    Example: Vichitr

  - `travelers.name.middle` (string)
    Middle name.
    Example: Kumar

  - `travelers.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"

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

  - `travelers.dob` (object)
    Date in ISO 8601 standard.

  - `travelers.dob.iso8601` (string, required)
    Example: 2017-07-21

  - `travelers.phoneNumber` (object)
    Properly formatted phone number.

  - `travelers.phoneNumber.countryCode` (integer)
    two digit country code
    Example: 91

  - `travelers.phoneNumber.countryCodeSource` (string)
    Enum: "UNSPECIFIED", "FROM_NUMBER_WITH_PLUS_SIGN", "FROM_NUMBER_WITH_IDD", "FROM_NUMBER_WITHOUT_PLUS_SIGN", "FROM_DEFAULT_COUNTRY"

  - `travelers.phoneNumber.extension` (string)
    phone number extension
    Example: 222

  - `travelers.phoneNumber.isoCountryCode` (string)
    ISO alpha-2 code
    Example: IN

  - `travelers.phoneNumber.italianLeadingZero` (boolean)
    Example: true

  - `travelers.phoneNumber.nationalNumber` (integer)
    Example: 8150

  - `travelers.phoneNumber.numberOfLeadingZeros` (integer)
    Example: 1

  - `travelers.phoneNumber.preferredDomesticCarrierCode` (string)
    Example: 7

  - `travelers.phoneNumber.rawInput` (string)
    Example: 77777

  - `travelers.phoneNumber.type` (string)
    Enum: "UNKNOWN_TYPE", "MOBILE", "LANDLINE"

  - `travelers.email` (string)
    Email of the traveler.
    Example: example@email.com

  - `travelers.loyaltyInfo` (object)
    Loyalty Info details.

  - `travelers.loyaltyInfo.appliedTo` (array)

  - `travelers.loyaltyInfo.id` (string, required)
    Example: firstId

  - `travelers.loyaltyInfo.issuedBy` (string, required)
    Example: firstIssuedBy

  - `travelers.loyaltyInfo.type` (string, required)
    Enum: "UNKNOWN_TYPE", "AIR", "HOTEL", "CAR", "RAIL"

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

  - `travelers.loyaltyInfo.tier` (string)
    Loyalty membership tier name echoed from the supplier.
    Example: GOLD

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

  - `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.

  - `dcInfo.delivery` (object, required)
    One leg of a delivery & collection arrangement.

  - `dcInfo.delivery.address` (object, required)
    Postal Address Details

  - `dcInfo.delivery.address.addressLines` (array, required)
    Address lines

  - `dcInfo.delivery.address.administrativeArea` (string)
    Code of administrative area. For example: DL for Delhi, India.
Highest administrative subdivision which is used for postal
addresses of a country or region.
For example, this can be a state, a province, an oblast, or a prefecture.
Specifically, for Spain this is the province and not the autonomous
community (e.g. "Barcelona" and not "Catalonia").
Many countries don't use an administrative area in postal addresses. E.g.
in Switzerland this should be left unpopulated.
    Example: CA

  - `dcInfo.delivery.address.administrativeAreaName` (string)
    Name of administrative area. This is full name corresponding to administrativeArea. 
Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
    Example: California

  - `dcInfo.delivery.address.description` (string)
    Address description
    Example: San Francisco Home

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

  - `dcInfo.delivery.address.languageCode` (string)
    BCP-47 language code of the contents of this address (if known). This is often the UI 
language of the input form or is expected to match one of the languages used in the 
address' country/region, or their transliterated equivalents.
This can affect formatting in certain countries, but is not critical to the correctness 
of the data and will never affect any validation or other non-formatting related operations.
Examples: "zh-Hant", "ja", "ja-Latn", "en".
    Example: en

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

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

  - `dcInfo.delivery.address.organization` (string)
    The name of the organization at the address.
    Example: Spotnana

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

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

  - `dcInfo.delivery.address.recipients` (array)
    The recipient at the address.

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

  - `dcInfo.delivery.address.regionName` (string)
    Region name of the country/region of the address.
    Example: America

  - `dcInfo.delivery.address.revision` (integer)
    Example: 1

  - `dcInfo.delivery.address.sortingCode` (string)
    Additional, country-specific, sorting code. This is not used
in most regions. Where it is used, the value is either a string like
"CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
alone, representing the "sector code" (Jamaica), "delivery area indicator"
(Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
    Example: Jamaica

  - `dcInfo.delivery.address.sublocality` (string)
    Sublocality of the address. This can be neighborhoods, boroughs, districts.

  - `dcInfo.delivery.address.timezone` (string)
    Time zone of the address.
    Example: America/Los_Angeles

  - `dcInfo.delivery.address.coordinates` (object)
    Latitude and Longitude for a Location

  - `dcInfo.delivery.address.coordinates.latitude` (number, required)
    Latitude of the Location
    Example: 77.1025

  - `dcInfo.delivery.address.coordinates.longitude` (number, required)
    Longitude of the Location
    Example: 28.7041

  - `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

  - `bookingContact` (object)

  - `bookingContact.emailAddress` (string)
    Email address of the booking contact
    Example: mail@mail.com

  - `bookingCharges` (array, required)
    List of charges for the booking.

  - `bookingCharges.amount` (object)
    Fare amount including base fare and tax.

  - `bookingCharges.amount.base` (object, required)
    Money object containing details such as the amount, the currency code, and the converted amount.

  - `bookingCharges.amount.base.amount` (number, required)
    The numeric value for the amount of money.
    Example: 510

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

  - `bookingCharges.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

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

  - `bookingCharges.amount.base.otherCoinage` (array)
    List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.

  - `bookingCharges.amount.base.otherCoinage.coinageCode` (string)
    Payment method
    Enum: "PAYMENT_METHOD_UNKNOWN", "CREDIT_CARD", "BREX_POINTS", "CASH", "QANTAS_POINTS", "VENDOR_PROGRAM_PAYMENT", "DELAYED_INVOICING", "FLIGHT_CREDITS", "QANTAS_TRAVEL_FUND", "CUSTOM_VIRTUAL_PAYMENT", "FLIGHT_PASS", "MISCELLANEOUS_CREDIT_ORDER", "NO_PREPAYMENT"

  - `bookingCharges.amount.base.otherCoinage.amount` (number)
    Example: 1000

  - `bookingCharges.amount.base.otherCoinage.conversionRate` (number)
    1 coin in this system equals to how many currency value
    Example: 0.01

  - `bookingCharges.amount.base.otherCoinage.preferredCurrencyConversionRate` (number)
    1 coin in this system equals to how many currency value
    Example: 0.01

  - `bookingCharges.amount.base.otherCoinage.otherCoinageMetadata` (any)
    Metadata to store additional information related to the payment method

  - `bookingCharges.amount.base.otherCoinage.otherCoinageMetadata.metadataType` (string)
    Discriminator field for polymorphic deserialization
    Enum: "FlightPassPaymentMetadata"

  - `bookingCharges.amount.base.otherCoinage.otherCoinageMetadata.flightPassMetadata` (object, required)
    Metadata specific to Flight Pass payment method in OtherCoinage.

  - `bookingCharges.amount.base.otherCoinage.otherCoinageMetadata.flightPassMetadata.flightPassNumber` (string)
    Flight pass number
    Example: FP123456789

  - `bookingCharges.amount.base.otherCoinage.otherCoinageMetadata.flightPassMetadata.flightPassAmounts` (object)
    Fare breakdown for the flight pass booking.

  - `bookingCharges.amount.base.otherCoinage.otherCoinageMetadata.flightPassMetadata.flightPassAmounts.taxBreakdown` (array)
    Breakdown of taxes by code (e.g. GST_HST, QST, OTHER).

  - `bookingCharges.amount.taxBreakdown` (array)

  - `bookingCharges.amount.taxBreakdown.taxCode` (string)
    Tax code
    Example: VAT

  - `bookingCharges.amount.taxBreakdown.percentage` (number)
    Tax amount to total amount
    Example: 9

  - `bookingCharges.amount.taxBreakdown.description` (string)
    Tax name or Tax Description
    Example: AIR TRAVELLERS SECURITY CHARGE

  - `bookingCharges.paymentMethod` (object)
    Selected payment method for the booking.

  - `bookingCharges.paymentMethod.selectedPaymentSource` (object)
    Describes the selected payment source for the booking.

  - `bookingCharges.paymentMethod.selectedPaymentSource.paymentSourceId` (string)
    Unique identifier identifying this payment source.
    Example: f49d00fe-1eda-4304-ba79-a980f565281d

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource` (object)
    Raw Details of the Payment Source

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.type` (string, required)
    Payment source type. Should be set to DPAN for card details.
    Enum: "DPAN"

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.cardDetails` (object, required)
    Card Details

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.cardDetails.company` (string, required)
    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"

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.cardDetails.token` (string, required)
    Tokenized Card Number
    Example: 4111111111111111

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.cardDetails.expiry` (object, required)
    Contains the expiry of a Card.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.cardDetails.expiry.tokenizedExpiry` (object)
    Contains the tokenized expiry of a Card.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.cardDetails.expiry.expiry` (object)
    Contains the expiry of a Card.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.type` (string, required)
    Payment source type. Should be set to CREDIT for unused credit details.
    Enum: "CREDIT"

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.pnrOwningPcc` (string, required)
    PCC the PNR was created on.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.unusedCreditPcc` (string, required)
    PCC the credit was issued on.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.departureCountry` (string)
    3 letter country code of the departure country associated with the original ticket.
    Example: USA

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.arrivalCountry` (string)
    3 letter country code of the arrival country associated with the original ticket.
    Example: USA

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.ticketType` (string, required)
    Type of credit.
    Enum: "TICKET_TYPE_UNKNOWN", "ETICKET", "MCO"

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.departureDate` (object)
    ISO8601 UTC Date Time

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.departureDate.iso8601` (string, required)
    Example: 2017-07-21T17:32Z

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

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.traveler` (object)
    The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding
the adhoc travelers.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.traveler.adhocTravelerInfo` (object)
    Describes an adhoc traveler.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.traveler.adhocTravelerInfo.externalId` (string)
    External Id of user
    Example: qwert123

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.airlineInfo` (object, required)
    Detailed information about the airline.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.airlineInfo.airlineCode` (string, required)
    IATA code for airline.
    Example: AA

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.airlineInfo.airlineName` (string)
    Airline name
    Example: American Airlines

  - `bookingCharges.paymentMethod.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"

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.sourcePnr` (string, required)
    PNR number corresponding to third party through which booking was made.
    Example: MC5ONS

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.flightIds` (array)
    ID of the flights on which this credit applies.

  - `bookingCharges.paymentMethod.selectedPaymentSource.rawPaymentSource.ticketNumber` (string, required)
    Ticket number for the ticket that was converted into an unused credit.
    Example: 5267779139217

  - `bookingCharges.paymentMethod.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

  - `bookingCharges.paymentMethod.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

  - `bookingCharges.paymentMethod.selectedPaymentSource.cvv` (string)
    CVV associated with associated payment source, if any.

  - `customFieldUserResponses` (array)
    Custom field responses for the booking.

  - `customFieldUserResponses.fieldId` (string, required)
    Custom field id

  - `customFieldUserResponses.fieldName` (string)
    Name of the custom field

  - `customFieldUserResponses.armId` (string, required)
    Arm id which is applicable

  - `customFieldUserResponses.includeLocations` (array)

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

  - `customFieldUserResponses.selectedOptions.name` (string, required)
    Value of the selection

  - `customFieldUserResponses.selectedOptions.translatedName` (string)
    Translated value of the selection

  - `customFieldUserResponses.selectedOptions.description` (string)
    Description of the selection

  - `customFieldUserResponses.selectedOptions.translatedDescription` (string)
    Translated description of the selection

  - `customFieldUserResponses.selectedOptions.additionalUserInput` (string)
    Additional user input

  - `customFieldUserResponses.selectedOptions.additionalInfos` (array)
    Actual values of the additional infos

  - `customFieldUserResponses.selectedOptions.additionalInfoConfigs` (array)
    Additional info configs for the selected option

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

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

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

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

  - `supplierFieldValues` (object)
    Answers to supplier-required fields discovered on the price_check response (CarPriceCheckResponse.supplierRequiredFields), keyed by the supplier's field id.
    Example: {"18903794122757":"Engineering"}

  - `postPaymentVerificationInfo` (object)
    Payment information sent after the verification of payment method.

  - `postPaymentVerificationInfo.paymentKey` (string)
    Serialized key to identify the payment executed on payment gateway that will be used for post payment verification.

  - `postPaymentVerificationInfo.postStripeVerificationInfo` (object)
    Object to indicate successful stripe verification and provide payment information for next steps.

  - `postPaymentVerificationInfo.postStripeVerificationInfo.paymentMethodId` (string)
    Stripe's payment method id for which the verification was performed.
    Example: pm_1HzKDPI3bT9GUjvoUkRQooN3

  - `postPaymentVerificationInfo.postUrlBasedVerificationInfo` (object)

  - `postPaymentVerificationInfo.postUrlBasedVerificationInfo.pnrId` (string)
    Pnr Id, to continue with the booking flow/check the status of the pnr.

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo` (object)

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.paymentActionTokens` (array, required)

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.paymentActionTokens.paymentRequestId` (string, required)
    Initial payment id generated by checkout SDK to initiate payment

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.paymentActionTokens.actionToken` (string, required)
    Token returned by checkout SDK to create/validate FOP in PSS order

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.paymentRequestId` (string)
    Initial payment id generated by checkout SDK to initiate payment

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.actionToken` (string)
    Token returned by checkout SDK to create/validate FOP in PSS order

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.confirmPayment` (boolean)
    Flag which indicates that the payment confirmation is now required (after 3ds or redirection)

  - `postPaymentVerificationInfo.amadeusCheckoutVerificationInfo.saveCardForFutureUse` (boolean)
    Flag to indicate that card can be saved for future use.

  - `postPaymentVerificationInfo.threeDSecure2PostVerificationInfo` (object)
    Result of 3DS2 verification.

  - `postPaymentVerificationInfo.threeDSecure2PostVerificationInfo.results` (array, required)
    List of 3DS2 verification results.

  - `postPaymentVerificationInfo.threeDSecure2PostVerificationInfo.results.cardId` (string, required)
    Card id for which the verification was performed.
    Example: 550e8400-e29b-41d4-a716-446655440000

  - `postPaymentVerificationInfo.threeDSecure2PostVerificationInfo.results.sessionId` (string, required)
    session id of the payment service provider.
    Example: sid_7q3lpqopuwmuxct3l3rkz225ae

  - `postPaymentVerificationInfo.threeDSecure2PostVerificationInfo.results.success` (boolean, required)
    Whether the 3DSecure2 authentication was successful.
    Example: true

  - `postPaymentVerificationInfo.postRazorpayVerificationInfo` (object)
    Object to indicate successful stripe verification and provide payment information for next steps.

  - `postPaymentVerificationInfo.postRazorpayVerificationInfo.paymentId` (string, required)
    Razorpay payment id for which the verification was performed.
    Example: pay_Ot3t93Xwmh2hOg

  - `postPaymentVerificationInfo.postRazorpayVerificationInfo.orderId` (string)
    Razorpay order id in which the payment was added.
    Example: order_OshJ61KRRSzb2Q

  - `postPaymentVerificationInfo.postRazorpayVerificationInfo.signature` (string)
    Razorpay signature to validate the payment.
    Example: f2c0494b77cb067a0ac76973d65cdce8c9de593a55ef2f81969cbabbe7ce493d

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `pnrId` (string)
    Spotnana PNR ID.
    Example: 2267585596

  - `sourcePnrId` (string)
    Source PNR ID.
    Example: LRXQXA

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

  - `paymentVerificationInfo` (object)
    VerificationInfo required for the payment operation.

  - `paymentVerificationInfo.gatewayIdentifier` (object)

  - `paymentVerificationInfo.gatewayIdentifier.gatewayId` (string)
    Gateway Id for which the payment method should be verified.

  - `paymentVerificationInfo.gatewayIdentifier.gatewayType` (string)
    Gateway Type for of the verification gateway.
    Enum: "PAYMENT_GATEWAY_UNKNOWN", "STRIPE", "BREX", "RAZORPAY"

  - `paymentVerificationInfo.paymentKey` (string)
    Serialized key to identify the payment executed on payment gateway that will be used for post payment verification.

  - `paymentVerificationInfo.stripeVerificationInfo` (object)
    Verification information required for card stripe verification.

  - `paymentVerificationInfo.stripeVerificationInfo.stripeCardTokens` (object)
    Stripe card tokens used by clients in authorizing newly added cards.

  - `paymentVerificationInfo.stripeVerificationInfo.stripeCardTokens.paymentProcessor` (string, required)
    Payment processor involved.
    Example: STRIPE

  - `paymentVerificationInfo.stripeVerificationInfo.stripeCardTokens.paymentMethodId` (string, required)
    Stripe's payment-method-id for the card.
    Example: pm_1HzKDPI3bT9GUjvoUkRQooN3

  - `paymentVerificationInfo.stripeVerificationInfo.stripeCardTokens.setupIntentClientSecret` (string, required)
    Stripe client secret for attaching the card to the setup-intent.
    Example: seti_1IBwEiKXFM6BpWYhfdCGZ7sg_secret_InXJDifWGBcVqekJvhAxidON6vHAvfS

  - `paymentVerificationInfo.stripeVerificationInfo.stripeCardTokens.connectedAccountId` (string)
    Account Id of the connected account in which above payment-method and setup-intent exist. This is populated only when a connected account is used.
    Example: acct_1NT8oyCZnFgI0lFY

  - `paymentVerificationInfo.stripeVerificationInfo.stripeCardTokens.publishableKey` (string)
    Publishable key of the Stripe platform account.
    Example: pk_test_51Hx7XyI3bT9GUjvoUkRQooN3

  - `paymentVerificationInfo.urlVerificationInfo` (object)
    Verification information required for url based payment verification.

  - `paymentVerificationInfo.urlVerificationInfo.ccVerificationUrl` (string)
    Verification url for the payment source.

  - `paymentVerificationInfo.threeDSecure2VerificationInfo` (object)
    Verification information required for 3DS2 authentication.

  - `paymentVerificationInfo.threeDSecure2VerificationInfo.verificationInfoList` (array, required)
    List of 3DS2 verification info.

  - `paymentVerificationInfo.threeDSecure2VerificationInfo.verificationInfoList.cardId` (string, required)
    Card id for which the verification was performed.
    Example: 550e8400-e29b-41d4-a716-446655440000

  - `paymentVerificationInfo.threeDSecure2VerificationInfo.verificationInfoList.sessionId` (string, required)
    session id of the payment service provider.
    Example: sid_7q3lpqopuwmuxct3l3rkz225ae

  - `paymentVerificationInfo.threeDSecure2VerificationInfo.verificationInfoList.redirectUrl` (string, required)
    3DS2 verification redirect url.
    Example: https://api.checkout.com/sessions-interceptor/sid_7q3lpqopuwmuxct3l3rkz225ae

  - `paymentVerificationInfo.razorPayVerificationInfo` (object)
    Verification information required when card is tokenized via Razorpay for Indian markets.

  - `paymentVerificationInfo.razorPayVerificationInfo.paymentProcessor` (string, required)
    Payment processor involved.
    Example: RAZORPAY

  - `paymentVerificationInfo.razorPayVerificationInfo.paymentAuthUrl` (string)
    URL for authorizing the payment on the card.

  - `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.

  - `dcDetails.status` (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"

  - `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

  - `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.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

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

  - `errorMessages` (array)

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

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

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

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

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

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

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

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

  - `errorMessages` (array)

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

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

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

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

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

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

## Response 404:

  - `404` (unknown)
    The specified resource was not found.

## Response 404 fields (application/json):

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

  - `errorMessages` (array)

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

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

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

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

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

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

