# Modify hotel booking

Modify an existing hotel booking based on the request parameters.
This API is used to confirm the requested changes for the booking.

Endpoint: POST /v2/hotel/pnrs/{pnrId}/modify-book
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Path parameters:

  - `pnrId` (string, required)
    PNR ID of the hotel booking that needs to be modified.

## Request fields (application/json):

  - `bookingKey` (string, required)
    The booking key for the hotel booking
    Example: example_booking_key

  - `travelers` (array, required)
    The list of travelers, the first traveler is considered as primary traveler

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

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

  - `travelers.name` (object, required)
    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, required)
    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, required)
    Email of the traveler.
    Example: mail@mail.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.adhocInfo` (object)
    Adhoc Info of the traveler. It is only present if the traveler is adhoc user.

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

  - `preBookAnswers` (object)

  - `preBookAnswers.answers` (array)

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

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

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

  - `preBookAnswers.answers.answers` (array)

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

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

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

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

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

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

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

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

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

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

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

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

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

  - `preBookAnswers.answers.question.optionInfo.sourceMetadata.companyConfig.optionsParam` (string, required)
    Parameter to form options for the custom field.
    Enum: "COST_CENTER", "LEGAL_ENTITY", "OFFICE", "DEPARTMENT"

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

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

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

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

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

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

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

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

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

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

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

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

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

  - `preBookAnswers.answers.question.matchConditions.travelerConditions.legalEntities.id` (string, required)
    Example: b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3

  - `preBookAnswers.answers.question.matchConditions.travelerConditions.legalEntities.name` (string)
    Example: Name

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

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

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

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

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

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

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

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

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

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

  - `hotelSpecialRequests` (object)
    Hotel special requests

  - `hotelSpecialRequests.roomLocations` (array)
    Room Location special request

  - `hotelSpecialRequests.roomFeatures` (array)
    Room Features List

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

  - `hotelSpecialRequests.checkInTime` (object)
    ISO8601 Local Time

  - `hotelSpecialRequests.checkInTime.iso8601` (string, required)
    Example: 17:32

  - `hotelSpecialRequests.flightNumber` (string)
    Attach flight number
    Example: AC1234

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

  - `hotelSpecialRequests.accessibleFeatures` (array)
    Accessible Features List

  - `bookingPaymentDetails` (object)
    Payment details used for booking.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails` (array, required)

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments` (array, required)

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.paymentItems` (array, required)

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.paymentItems.itemType` (string)
    Type of payment item eligible for this fop rule
    Enum: "SERVICE_FEE", "TRAVEL_TICKET", "SEAT", "BAGGAGE", "EARLY_BIRD"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.paymentItems.fareComponent` (array)

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources` (array, required)

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.paymentSourceId` (string)
    Unique identifier identifying this payment source.
    Example: f49d00fe-1eda-4304-ba79-a980f565281d

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource` (object)
    Raw Details of the Payment Source

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.type` (string, required)
    Payment source type. Should be set to DPAN for card details.
    Enum: "DPAN"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.cardDetails` (object, required)
    Card Details

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.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"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.cardDetails.token` (string, required)
    Tokenized Card Number
    Example: 4111111111111111

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.cardDetails.expiry` (object, required)
    Contains the expiry of a Card.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.type` (string, required)
    Payment source type. Should be set to CREDIT for unused credit details.
    Enum: "CREDIT"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.pnrOwningPcc` (string, required)
    PCC the PNR was created on.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.unusedCreditPcc` (string, required)
    PCC the credit was issued on.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.departureCountry` (string)
    3 letter country code of the departure country associated with the original ticket.
    Example: USA

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.arrivalCountry` (string)
    3 letter country code of the arrival country associated with the original ticket.
    Example: USA

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.ticketType` (string, required)
    Type of credit.
    Enum: "TICKET_TYPE_UNKNOWN", "ETICKET", "MCO"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.departureDate` (object)
    ISO8601 UTC Date Time

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.departureDate.iso8601` (string, required)
    Example: 2017-07-21T17:32Z

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.segmentsAvailable` (string)
    Whether all segments are unused or some have already been used.
    Enum: "UNKNOWN", "ALL_OPEN", "PARTIAL", "OTHER"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.traveler` (object)
    The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding
the adhoc travelers.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.airlineInfo` (object, required)
    Detailed information about the airline.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.airlineInfo.airlineCode` (string, required)
    IATA code for airline.
    Example: AA

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.airlineInfo.airlineName` (string)
    Airline name
    Example: American Airlines

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.totalFare` (object, required)
    Money object containing details such as the amount, the currency code, and the converted amount.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.totalFare.amount` (number, required)
    The numeric value for the amount of money.
    Example: 510

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.totalFare.currencyCode` (string, required)
    The 3-letter currency code for the money amount (defined using ISO 4217 standard).
    Example: GBP

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.totalFare.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

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.totalFare.convertedCurrency` (string)
    The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
    Example: USD

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.totalFare.otherCoinage` (array)
    List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.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"

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.sourcePnr` (string, required)
    PNR number corresponding to third party through which booking was made.
    Example: MC5ONS

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.flightIds` (array)
    ID of the flights on which this credit applies.

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.rawPaymentSource.ticketNumber` (string, required)
    Ticket number for the ticket that was converted into an unused credit.
    Example: 5267779139217

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.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

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.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

  - `bookingPaymentDetails.bookingTravelerPaymentDetails.selectedFormOfPayments.selectedPaymentSources.cvv` (string)
    CVV associated with associated payment source, if any.

  - `bookingContact` (object, required)

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

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

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

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

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

  - `customFieldV3Responses.includeLocations` (array)

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

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

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

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

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

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

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

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

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

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

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

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

  - `customFieldV3Responses.selectedOptions.optionId` (string)
    Id of the selected option; sent by clients, never returned

  - `ancillaryKeys` (array)
    User selected ancillaries associated with this hotel booking.
    Example: ["PETS01","WF08","BBOX18"]

  - `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, required)
    The unique PNR ID for the modified hotel booking
    Example: 7373737373

  - `pnrStatus` (string, required)
    The status of the PNR
    Enum: "INITIATED", "CANCELLED", "CONFIRMED", "PENDING", "CONTACT_SUPPORT", "REQUEST_PENDING", "REQUESTED"

  - `externalPnrId` (string)
    The external PNR ID for the modified hotel booking, provided by the third party suppliers
    Example: ABC123

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

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

