Create a new car PNR.
Booking Key from car price check response.
CarId of the car to be booked.
Delivery & collection for this booking. Send it when booking a car whose search result carried dcStatus; the addresses are the ones the traveller confirmed at checkout, which may differ from the searched address.
Custom field responses for the booking.
Answers to supplier-required fields discovered on the price_check response (CarPriceCheckResponse.supplierRequiredFields), keyed by the supplier's field id.
{ "18903794122757": "Engineering" }
Wrapper for post stripe verification info object.
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/car/create-pnr
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/carapi/v2/car/create-pnr
curl -i -X POST \
https://api-ext-sboxmeta.partners.spotnana.com/v2/car/create-pnr \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"bookingKey": "ChBjMmRlYjdhNzJiM2RjMzE1EhBmNDA3MzZlYjFiZDRmYWU5",
"carId": "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP",
"tripData": {
"approverEmail": "string",
"approverName": "string",
"hardApprovalRequired": true,
"outOfPolicy": true,
"policyId": "string",
"policyVersion": 0,
"tripId": {
"id": "2783425534"
}
},
"travelers": [
{
"travelerId": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
},
"name": {
"family1": "Gandas",
"family2": "FamilyTwo",
"given": "Vichitr",
"middle": "Kumar",
"suffix": "SR",
"preferred": "Don"
},
"dob": {
"iso8601": "2017-07-21"
},
"phoneNumber": {
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
},
"email": "example@email.com",
"loyaltyInfo": {
"appliedTo": [
"TAJ"
],
"id": "firstId",
"issuedBy": "firstIssuedBy",
"type": "AIR",
"linked": false,
"tier": "GOLD"
},
"loyaltyInfos": [
{
"appliedTo": [
"TAJ"
],
"id": "firstId",
"issuedBy": "firstIssuedBy",
"type": "AIR",
"linked": false,
"tier": "GOLD"
}
],
"blockLoyalty": false,
"persona": "EMPLOYEE",
"adhocUserInfo": {
"profileOwner": {
"userId": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
},
"isSaved": false
}
}
],
"dcInfo": {
"delivery": {
"address": {
"addressLines": [
"Golden Gate Bridge"
],
"administrativeArea": "CA",
"administrativeAreaName": "California",
"description": "San Francisco Home",
"isDefault": true,
"languageCode": "en",
"locality": "San Francisco",
"locationCode": "LAX",
"organization": "Spotnana",
"postalCode": "94130",
"continentCode": "AF",
"recipients": [
"string"
],
"regionCode": "US",
"regionName": "America",
"revision": 1,
"sortingCode": "Jamaica",
"sublocality": "string",
"timezone": "America/Los_Angeles",
"coordinates": {
"latitude": 77.1025,
"longitude": 28.7041
}
},
"phoneNumber": {
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
},
"instructions": "Deliver to reception desk"
},
"collection": {
"address": {
"addressLines": [
"Golden Gate Bridge"
],
"administrativeArea": "CA",
"administrativeAreaName": "California",
"description": "San Francisco Home",
"isDefault": true,
"languageCode": "en",
"locality": "San Francisco",
"locationCode": "LAX",
"organization": "Spotnana",
"postalCode": "94130",
"continentCode": "AF",
"recipients": [
"string"
],
"regionCode": "US",
"regionName": "America",
"revision": 1,
"sortingCode": "Jamaica",
"sublocality": "string",
"timezone": "America/Los_Angeles",
"coordinates": {
"latitude": 77.1025,
"longitude": 28.7041
}
},
"phoneNumber": {
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
},
"instructions": "Deliver to reception desk"
}
},
"bookingContact": {
"emailAddress": "mail@mail.com",
"phoneNumber": {
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
}
},
"bookingCharges": [
{
"amount": {
"base": {
"amount": 510,
"currencyCode": "GBP",
"convertedAmount": 715.42,
"convertedCurrency": "USD",
"otherCoinage": [
{
"coinageCode": "BREX_POINTS",
"amount": 1000,
"conversionRate": 0.01,
"preferredCurrencyConversionRate": 0.01,
"otherCoinageMetadata": {}
}
]
},
"tax": {
"amount": 510,
"currencyCode": "GBP",
"convertedAmount": 715.42,
"convertedCurrency": "USD",
"otherCoinage": [
{
"coinageCode": "BREX_POINTS",
"amount": 1000,
"conversionRate": 0.01,
"preferredCurrencyConversionRate": 0.01,
"otherCoinageMetadata": {}
}
]
},
"taxBreakdown": [
{
"amount": {
"amount": 510,
"currencyCode": "GBP",
"convertedAmount": 715.42,
"convertedCurrency": "USD",
"otherCoinage": [
{}
]
},
"taxCode": "VAT",
"percentage": 9,
"description": "AIR TRAVELLERS SECURITY CHARGE"
}
]
},
"paymentMethod": {
"selectedPaymentSource": {
"paymentSourceId": "f49d00fe-1eda-4304-ba79-a980f565281d",
"rawPaymentSource": {
"type": "DPAN",
"cardDetails": {
"company": "VISA",
"token": "4111111111111111",
"expiry": {}
}
},
"postPaymentRedirectionUrl": "https://mycompany.com/checkout?paymentSourceId=f49d00fe-1eda-4304-ba79-a980f565281d",
"cvv": "string",
"amount": {
"amount": 510,
"currencyCode": "GBP",
"convertedAmount": 715.42,
"convertedCurrency": "USD",
"otherCoinage": [
{}
]
}
}
}
}
],
"customFieldUserResponses": [
{
"fieldId": "84922011-b03d-4966-bc95-c5b49bc2e342",
"fieldName": "string",
"armId": "0fd508db-63ff-4444-bfb1-b89c43061433",
"includeLocations": [
"APPROVAL_EMAILS"
],
"selectedOptions": [
{
"name": "string",
"translatedName": "string",
"description": "string",
"translatedDescription": "string",
"additionalUserInput": "string",
"additionalInfos": [
"string"
],
"additionalInfoConfigs": [
{
"type": "VARIABLE",
"name": "LLF"
}
],
"optionId": "dee15a0e-f1fe-4cd8-88ac-c090810707f8"
}
]
}
],
"supplierFieldValues": {
"18903794122757": "Engineering"
},
"arrivalFlightNumber": {
"num": "321",
"airlineCode": "AA"
},
"waiveOffInfo": {
"waiveOffInfoPerModules": [
{
"moduleId": "BOOKING",
"waiveOffFeeReason": {
"reasonCode": "WA05",
"reason": "Customer goodwill"
}
}
]
},
"pnrId": "string",
"preSearchAnswers": {
"answers": [
{
"entityId": "string",
"userInput": "string",
"itemIds": [
0
],
"answers": [
{
"item": "string",
"value": "string",
"description": "string"
}
],
"customFieldType": "QUESTION",
"questionDisplayText": "string",
"question": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"questionFormat": "CHECKBOX",
"optionInfo": {
"source": "MANUAL",
"sourceMetadata": {
"companyConfig": {}
},
"totalNumOptions": 0,
"options": [
{}
]
},
"isRequired": true,
"isDisabled": true,
"includeInItinerary": true,
"customFieldLocations": [
"POLICY_APPROVAL_EMAIL"
],
"matchConditions": {
"travelerConditions": {
"workerTypes": [
null
],
"countries": [
null
],
"legalEntities": [
null
],
"departments": [
null
],
"costCenters": [
null
],
"offices": [
null
]
},
"travelTypes": [
"AIR"
],
"travelRegionTypes": [
"DOMESTIC"
],
"tripUsageTypes": [
"STANDARD"
]
},
"questionType": {
"preSearchQuestionType": "PURPOSE_OF_TRIP",
"preCheckoutQuestionType": "OOP_REASON_CODE"
}
}
}
],
"userEntitiesResponseId": "string"
},
"preBookAnswers": {
"answers": [
{
"entityId": "string",
"userInput": "string",
"itemIds": [
0
],
"answers": [
{
"item": "string",
"value": "string",
"description": "string"
}
],
"customFieldType": "QUESTION",
"questionDisplayText": "string",
"question": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"questionFormat": "CHECKBOX",
"optionInfo": {
"source": "MANUAL",
"sourceMetadata": {
"companyConfig": {}
},
"totalNumOptions": 0,
"options": [
{}
]
},
"isRequired": true,
"isDisabled": true,
"includeInItinerary": true,
"customFieldLocations": [
"POLICY_APPROVAL_EMAIL"
],
"matchConditions": {
"travelerConditions": {
"workerTypes": [
null
],
"countries": [
null
],
"legalEntities": [
null
],
"departments": [
null
],
"costCenters": [
null
],
"offices": [
null
]
},
"travelTypes": [
"AIR"
],
"travelRegionTypes": [
"DOMESTIC"
],
"tripUsageTypes": [
"STANDARD"
]
},
"questionType": {
"preSearchQuestionType": "PURPOSE_OF_TRIP",
"preCheckoutQuestionType": "OOP_REASON_CODE"
}
}
}
],
"preBookQuestionResponseId": "string"
},
"postPaymentVerificationInfo": {
"paymentKey": "string",
"postStripeVerificationInfo": {
"paymentMethodId": "pm_1HzKDPI3bT9GUjvoUkRQooN3"
}
},
"bookingPaymentDetails": {
"bookingTravelerPaymentDetails": [
{
"selectedFormOfPayments": [
{
"paymentItems": [
{
"fareComponent": []
}
],
"selectedPaymentSources": [
{}
]
}
]
}
]
}
}'OK
Status of the PNR after creation.
| Enum Value | Description |
|---|---|
| UNKNOWN | PNR status could not be determined or mapped from the supplier. |
| INITIATED | Default status when a PNR entity is first created in our database. The booking may not yet be confirmed by the supplier, and we may not have a vendor confirmation ID. |
| CANCELLED | The booking or flight is cancelled. Terminal status. |
| CONFIRMED | Booking confirmed by the supplier. For Air PNRs, confirmed but not yet ticketed (no active tickets). |
| GROUP_BOOKING_ON_REQUEST | Group booking requested but not yet confirmed. Air only |
| WAITLISTED | Booking is on a waitlist, pending confirmation by the supplier. |
| PENDING | Booking is awaiting confirmation or action. Used across all PNR types as a catch-all for not-yet-confirmed states. |
| AIRLINE_UPGRADE | Passenger upgraded by the airline. Not directly mapped by any supplier. |
| WAITLIST_CONFIRMED | Previously waitlisted booking confirmed by the supplier. Air only |
| BOOKING_DENIED_CONTACT_SUPPORT | Booking denied by the supplier, requires support intervention. Air only |
| NO_SHOW | Passenger did not show up for the flight or hotel stay. |
| CONTACT_SUPPORT | Requires manual agent/support intervention. Mapped from the |
| STATUS_CHANGED_CONTACT_SUPPORT | Booking status changed by the supplier, requires support review. Air only |
| SCHEDULE_CHANGE | Schedule change applied to the booking by the airline. Booking is still active but flight times or routing may have changed. |
| SEGMENT_REQUEST | Passive Segment requested but not yet confirmed by the supplier. |
| SCHEDULE_CHANGE_WAITLISTED_BOOKING | Waitlisted booking with a schedule change applied. Air only |
| REQUEST_PENDING | Booking request submitted but only partially confirmed or awaiting further processing. Rail, and Hotel only. |
| WAITLISTED_NOT_CONFIRMED | Waitlisted booking not confirmed by the supplier. Not directly mapped by any supplier. |
| SCHEDULE_CHANGE_NOT_CONFIRMED | Schedule change occurred but booking not reconfirmed. Not directly mapped by any supplier |
| SCHEDULE_CHANGE_PENDING_STATUS | Schedule change proposed but pending confirmation/action. Air only |
| MIS_CONNECTION | Misconnection — passenger missed a connecting flight. Not directly mapped by any supplier |
| REQUESTED | Booking initiated but no vendor confirmation ID exists yet. Intermediate state between INITIATED and CONFIRMED. When segments have blank confirmation IDs; |
| TICKETED | Tickets issued and payment charged for an Air PNR. Terminal status for successful air bookings. |
| VOIDED | All tickets voided — any charged amount refunded, including non-refundable bookings. Terminal status. |
| CANCELLED_BY_VENDOR | Booking cancelled by the vendor/airline, not by the traveler. |
| CANCELLATION_IN_PROGRESS | Cancellation initiated but not yet complete. Also set internally during the air cancellation workflow before the supplier call completes. |
| REINSTATED | Previously cancelled flight became active again. Air only. Not mapped from any GDS status code directly. |
| BOOKING_ON_HOLD | Air PNR confirmed with the airline but held for a limited time before auto-cancellation if not ticketed. Requires active hold metadata ( |
| AIRLINE_CONTROL | PNR taken over by the airline. Updates no longer visible to the TMC. Terminal status. |
| MODIFIED | Booking has been modified/rebooked. Car: CarTrawler |
| PAYMENT_DECLINED | Payment failed during ticketing. Retained as long as unticketed fare quotes exist (Sabre PQ/PQR or Amadeus TSTs), preventing incorrect progression to TICKETED. |
| INOPERATIVE | Booking inoperative or unavailable for use. |
| UNCONFIRMED | Booking unconfirmed and pending verification. |
{ "pnrId": "2267585596", "sourcePnrId": "LRXQXA", "pnrStatus": "CONFIRMED", "paymentVerificationInfo": { "gatewayIdentifier": { … }, "paymentKey": "string", "stripeVerificationInfo": { … } }, "dcDetails": { "status": "DC_AVAILABLE", "servingBranch": "ABZT50", "chargesMayApply": true } }