Skip to content

Car API (v2)

Download OpenAPI description
Languages
Servers
Sandbox URL
https://api-ext-sboxmeta.partners.spotnana.com
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/carapi

Car

These endpoints provide comprehensive functionality for managing car bookings. They enable users to search for cars, check rates and availability, create and modify bookings, and handle cancellations and rebooking.

Operations

Get car search results

Request

Search for available cars using the pickup and dropoff locations, and the traveler's user ID.

Security
Bearer
Bodyapplication/jsonrequired
pickupobject(SearchParams)required

Search Parameter including location and datetime for a given search.

pickup.​locationobject(CarSearchLocationParam)required

Car Search location parameters.

pickup.​location.​airportCodestring

IATA code for AIRPORT

Example: "SFO"
pickup.​location.​cityCodestring

City Code.

Example: "JFK"
pickup.​location.​coordinatesobject(Latlng)

Latitude and Longitude for a Location

pickup.​datetimeobject(DateTimeLocal)required

Local date and time in ISO 8601 format.

pickup.​datetime.​iso8601string^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01...required
Example: "2017-07-21T17:32"
pickup.​searchQuerystring

Search query provided for the search.

Example: "London"
dropOffobject(SearchParams)required

Search Parameter including location and datetime for a given search.

dropOff.​locationobject(CarSearchLocationParam)required

Car Search location parameters.

dropOff.​location.​airportCodestring

IATA code for AIRPORT

Example: "SFO"
dropOff.​location.​cityCodestring

City Code.

Example: "JFK"
dropOff.​location.​coordinatesobject(Latlng)

Latitude and Longitude for a Location

dropOff.​datetimeobject(DateTimeLocal)required

Local date and time in ISO 8601 format.

dropOff.​datetime.​iso8601string^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01...required
Example: "2017-07-21T17:32"
dropOff.​searchQuerystring

Search query provided for the search.

Example: "London"
renterAgeinteger

Age of the renter

Example: 30
citizenCountryCodestring

Citizen code of the renter

Example: "US"
pickupCountryCodestring

Country code of the pick up location

Example: "US"
loyaltyCodeArray of objects(CarLoyaltyCode)

Loyalty codes to be applied

userIdUserId Search (object) or RegistrarUserId Search (object)(CarUserId)required
One of:

Car User Identifier.

userId.​userIdTypestringrequired
Example: "USER_ID"
userId.​userIdobject(UserId)required

User identifier

userId.​userId.​idstring(uuid)required
filtersobject(CarFilters)

Filters for car search.

sortOptionsobject(CarSortOption)

Car sorting option parameters.

curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/search \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "pickup": {
      "location": {
        "airportCode": "SFO",
        "cityCode": "JFK",
        "coordinates": {
          "latitude": 77.1025,
          "longitude": 28.7041
        }
      },
      "datetime": {
        "iso8601": "2017-07-21T17:32"
      },
      "searchQuery": "London"
    },
    "dropOff": {
      "location": {
        "airportCode": "SFO",
        "cityCode": "JFK",
        "coordinates": {
          "latitude": 77.1025,
          "longitude": 28.7041
        }
      },
      "datetime": {
        "iso8601": "2017-07-21T17:32"
      },
      "searchQuery": "London"
    },
    "renterAge": 30,
    "citizenCountryCode": "US",
    "pickupCountryCode": "US",
    "loyaltyCode": [
      {
        "vendor": "ZI",
        "code": "1924047077",
        "type": "PROMOTIONAL_COUPON"
      }
    ],
    "userId": {
      "userIdType": "USER_ID",
      "userId": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    },
    "filters": {
      "carTypes": [
        "ECONOMY"
      ],
      "numPassengers": {
        "min": 0,
        "max": 0
      },
      "vendors": [
        "ZI",
        "ZD"
      ],
      "excludeTransmissions": [
        "AUTOMATIC"
      ],
      "engineTypes": [
        "PETROL"
      ],
      "hasAirConditioning": true,
      "carExtraTypes": [
        "CHILD_SEAT_INFANT"
      ],
      "preferredOnly": false,
      "price": {
        "min": {
          "amount": 510,
          "currencyCode": "GBP"
        },
        "max": {
          "amount": 510,
          "currencyCode": "GBP"
        }
      },
      "paymentTypes": [
        "CARD"
      ],
      "fareTypes": [
        "CORPORATE"
      ]
    },
    "sortOptions": {
      "sortBy": "PRICE",
      "sortOrder": "ASCENDING"
    }
  }'

Responses

OK

Bodyapplication/json
searchIdstring

Unique searchID associated to the car search

Example: "9585821762922174"
carsArray of objects(CarSearchItinerary)
metadataobject(CarSearchMetadata)

Metadata for car search

Response
application/json
{ "searchId": "9585821762922174", "cars": [ {} ], "metadata": { "availableVendors": [], "showOnlyBaseFare": false } }

Create a new car booking

Request

Create a new car PNR.

Security
Bearer
Bodyapplication/jsonrequired
bookingKeystringrequired

Booking Key from car price check response.

Example: "ChBjMmRlYjdhNzJiM2RjMzE1EhBmNDA3MzZlYjFiZDRmYWU5"
carIdstringrequired

CarId of the car to be booked.

Example: "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP"
tripDataobject(TripData)required

Trip data for the booking.

tripData.​approverEmailstring

Email address of the approver who should receives approval email for the current booking.

tripData.​approverNamestring

Name of the approver.

tripData.​hardApprovalRequiredboolean

Whether the current booking requires hard approval or soft approval. This flag should be used only if valid approver is present.

tripData.​outOfPolicyboolean

If the given booking is out of policy.

tripData.​policyIdstring

Policy Id for which violation is done.

tripData.​policyVersioninteger(int32)

Version of policy.

tripData.​tripIdobject(TripId)required

Id of the trip.

tripData.​tripId.​idstringrequired

Id.

Example: "2783425534"
travelersArray of objects(CarTravelerInfo)required

List of travelers for the booking.

travelers[].​travelerIdobject(UserId)required

The ID of the traveler.

travelers[].​travelerId.​idstring(uuid)required
travelers[].​nameobject(Name)

Name of the traveler.

travelers[].​dobobject(DateModel)

Date of birth of the traveler.

travelers[].​phoneNumberobject(PhoneNumber)

Phone number of the traveler.

travelers[].​emailstring(email)

Email of the traveler.

Example: "example@email.com"
travelers[].​loyaltyInfoobject(LoyaltyInfo)

Loyalty Info of the traveler.

travelers[].​blockLoyaltyboolean

If true, hides the loyalty program input on the checkout page for this traveler.

Default false
Example: false
bookingContactobject(BookingContact)

Contact information for the booking.

bookingChargesArray of objects(BookingCharge)required

List of charges for the booking.

bookingCharges[].​amountobject(FareAmount)

The amount to be charged for this payment method. This is optional if there's only one payment method provided for the booking.

bookingCharges[].​paymentMethodSelectedPaymentSourceWrapper (object)(SelectedPaymentMethod)
One of:

Selected payment method for the booking.

customFieldUserResponsesArray of objects(CustomFieldV3Response)

Custom field responses for the booking.

postPaymentVerificationInfoPostStripeVerificationInfoWrapper (object) or PostUrlBasedVerificationInfoWrapper (object) or AmadeusCheckoutVerificationInfoWrapper (object) or ThreeDSecure2PostVerificationInfoWrapper (object) or RazorpayPostVerificationInfoWrapper (object)(PostPaymentVerificationInfo)
One of:

Payment information sent after the verification of payment method.

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
        },
        "blockLoyalty": false
      }
    ],
    "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
            }
          ]
        },
        "paymentMethod": {
          "selectedPaymentSource": {
            "paymentSourceId": "f49d00fe-1eda-4304-ba79-a980f565281d",
            "rawPaymentSource": {
              "type": "string",
              "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"
              }
            ]
          }
        ]
      }
    ],
    "postPaymentVerificationInfo": {
      "paymentKey": "string",
      "postStripeVerificationInfo": {
        "paymentMethodId": "pm_1HzKDPI3bT9GUjvoUkRQooN3"
      }
    }
  }'

Responses

OK

Bodyapplication/json
pnrIdstring

Spotnana PNR ID.

Example: "2267585596"
sourcePnrIdstring

Source PNR ID.

Example: "LRXQXA"
pnrStatusstring(PnrStatus)

Status of the PNR after creation.

Enum"UNKNOWN""INITIATED""CANCELLED""CONFIRMED""GROUP_BOOKING_ON_REQUEST""WAITLISTED""PENDING""AIRLINE_UPGRADE""WAITLIST_CONFIRMED""BOOKING_DENIED_CONTACT_SUPPORT"
paymentVerificationInfoStripeVerificationInfoWrapper (object) or UrlVerificationInfoWrapper (object) or ThreeDSecure2VerificationInfoWrapper (object) or RazorpayVerificationInfoWrapper (object)(PaymentVerificationInfo)
One of:

VerificationInfo required for the payment operation.

Response
application/json
{ "pnrId": "2267585596", "sourcePnrId": "LRXQXA", "pnrStatus": "CONFIRMED", "paymentVerificationInfo": { "gatewayIdentifier": {}, "paymentKey": "string", "stripeVerificationInfo": {} } }

Get car search results for a booking modification

Request

Get the available car search results when you're modifying an existing booking.

Security
Bearer
Path
pnrIdstringrequired

Pnr Id of the Pnr to be modified.

Example: 4974a66b
Bodyapplication/jsonrequired
pickupobject(SearchParams)required

Search Parameter including location and datetime for a given search.

pickup.​locationobject(CarSearchLocationParam)required

Car Search location parameters.

pickup.​location.​airportCodestring

IATA code for AIRPORT

Example: "SFO"
pickup.​location.​cityCodestring

City Code.

Example: "JFK"
pickup.​location.​coordinatesobject(Latlng)

Latitude and Longitude for a Location

pickup.​datetimeobject(DateTimeLocal)required

Local date and time in ISO 8601 format.

pickup.​datetime.​iso8601string^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01...required
Example: "2017-07-21T17:32"
pickup.​searchQuerystring

Search query provided for the search.

Example: "London"
dropOffobject(SearchParams)required

Search Parameter including location and datetime for a given search.

dropOff.​locationobject(CarSearchLocationParam)required

Car Search location parameters.

dropOff.​location.​airportCodestring

IATA code for AIRPORT

Example: "SFO"
dropOff.​location.​cityCodestring

City Code.

Example: "JFK"
dropOff.​location.​coordinatesobject(Latlng)

Latitude and Longitude for a Location

dropOff.​datetimeobject(DateTimeLocal)required

Local date and time in ISO 8601 format.

dropOff.​datetime.​iso8601string^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01...required
Example: "2017-07-21T17:32"
dropOff.​searchQuerystring

Search query provided for the search.

Example: "London"
filtersobject(CarFilters)

Filters for car search.

sortOptionsobject(CarSortOption)

Car sorting option parameters.

renterAgeinteger

Age of the renter

Example: 30
citizenCountryCodestring

Citizen code of the renter

Example: "US"
pickupCountryCodestring

Country code of the pick up location

Example: "US"
loyaltyCodeArray of objects(CarLoyaltyCode)

Loyalty codes to be applied

curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/pnrs/4974a66b/modify-search \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "pickup": {
      "location": {
        "airportCode": "SFO",
        "cityCode": "JFK",
        "coordinates": {
          "latitude": 77.1025,
          "longitude": 28.7041
        }
      },
      "datetime": {
        "iso8601": "2017-07-21T17:32"
      },
      "searchQuery": "London"
    },
    "dropOff": {
      "location": {
        "airportCode": "SFO",
        "cityCode": "JFK",
        "coordinates": {
          "latitude": 77.1025,
          "longitude": 28.7041
        }
      },
      "datetime": {
        "iso8601": "2017-07-21T17:32"
      },
      "searchQuery": "London"
    },
    "filters": {
      "carTypes": [
        "ECONOMY"
      ],
      "numPassengers": {
        "min": 0,
        "max": 0
      },
      "vendors": [
        "ZI",
        "ZD"
      ],
      "excludeTransmissions": [
        "AUTOMATIC"
      ],
      "engineTypes": [
        "PETROL"
      ],
      "hasAirConditioning": true,
      "carExtraTypes": [
        "CHILD_SEAT_INFANT"
      ],
      "preferredOnly": false,
      "price": {
        "min": {
          "amount": 510,
          "currencyCode": "GBP"
        },
        "max": {
          "amount": 510,
          "currencyCode": "GBP"
        }
      },
      "paymentTypes": [
        "CARD"
      ],
      "fareTypes": [
        "CORPORATE"
      ]
    },
    "sortOptions": {
      "sortBy": "PRICE",
      "sortOrder": "ASCENDING"
    },
    "renterAge": 30,
    "citizenCountryCode": "US",
    "pickupCountryCode": "US",
    "loyaltyCode": [
      {
        "vendor": "ZI",
        "code": "1924047077",
        "type": "PROMOTIONAL_COUPON"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
searchIdstring

Unique searchID associated to the car search

Example: "9585821762922174"
carsArray of objects(CarSearchItinerary)
metadataobject(CarSearchMetadata)

Metadata for car search

Response
application/json
{ "searchId": "9585821762922174", "cars": [ {} ], "metadata": { "availableVendors": [], "showOnlyBaseFare": false } }

Modify an existing car booking

Request

Make modifications to an existing car booking.

Security
Bearer
Path
pnrIdstringrequired

Pnr Id of the Pnr to be modified.

Example: 4974a66b
Bodyapplication/jsonrequired
carIdstringrequired

CarId of the car to be booked.

Example: "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP"
tripDataobject(TripData)required

Trip data to book a PNR.

tripData.​approverEmailstring

Email address of the approver who should receives approval email for the current booking.

tripData.​approverNamestring

Name of the approver.

tripData.​hardApprovalRequiredboolean

Whether the current booking requires hard approval or soft approval. This flag should be used only if valid approver is present.

tripData.​outOfPolicyboolean

If the given booking is out of policy.

tripData.​policyIdstring

Policy Id for which violation is done.

tripData.​policyVersioninteger(int32)

Version of policy.

tripData.​tripIdobject(TripId)required

Id of the trip.

tripData.​tripId.​idstringrequired

Id.

Example: "2783425534"
bookingChargesArray of objects(BookingCharge)required
bookingCharges[].​amountobject(FareAmount)

The amount to be charged for this payment method. This is optional if there's only one payment method provided for the booking.

bookingCharges[].​paymentMethodSelectedPaymentSourceWrapper (object)(SelectedPaymentMethod)
One of:

Selected payment method for the booking.

travelersArray of objects(CarTravelerInfo)required
travelers[].​travelerIdobject(UserId)required

The ID of the traveler.

travelers[].​travelerId.​idstring(uuid)required
travelers[].​nameobject(Name)

Name of the traveler.

travelers[].​dobobject(DateModel)

Date of birth of the traveler.

travelers[].​phoneNumberobject(PhoneNumber)

Phone number of the traveler.

travelers[].​emailstring(email)

Email of the traveler.

Example: "example@email.com"
travelers[].​loyaltyInfoobject(LoyaltyInfo)

Loyalty Info of the traveler.

travelers[].​blockLoyaltyboolean

If true, hides the loyalty program input on the checkout page for this traveler.

Default false
Example: false
customFieldV3ResponsesArray of objects(CustomFieldV3Response)

Custom field responses for the booking.

waiveOffInfoobject(WaiveOffInfo)

Waive off info.

arrivalFlightNumberobject(FlightNumber)

Flight number and airline code.

bookingKeystring

Booking Key from car price check response.

Example: "ChBjMmRlYjdhNzJiM2RjMzE1EhBmNDA3MzZlYjFiZDRmYWU5"
bookingPaymentDetailsobject(BookingPaymentDetails)

Details about the payment methods used by travelers for booking.

postPaymentVerificationInfoPostStripeVerificationInfoWrapper (object) or PostUrlBasedVerificationInfoWrapper (object) or AmadeusCheckoutVerificationInfoWrapper (object) or ThreeDSecure2PostVerificationInfoWrapper (object) or RazorpayPostVerificationInfoWrapper (object)(PostPaymentVerificationInfo)
One of:

Payment information sent after the verification of payment method.

searchIdstringDeprecatedrequired

SearchID of the car modify search.

Example: "1cf76aba18e4015f"
preBookAnswersobject(PreBookAnswers)Deprecated
curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/pnrs/4974a66b/modify-book \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "searchId": "1cf76aba18e4015f",
    "carId": "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP",
    "tripData": {
      "approverEmail": "string",
      "approverName": "string",
      "hardApprovalRequired": true,
      "outOfPolicy": true,
      "policyId": "string",
      "policyVersion": 0,
      "tripId": {
        "id": "2783425534"
      }
    },
    "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"
    },
    "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
            }
          ]
        },
        "paymentMethod": {
          "selectedPaymentSource": {
            "paymentSourceId": "f49d00fe-1eda-4304-ba79-a980f565281d",
            "rawPaymentSource": {
              "type": "string",
              "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": [
                {}
              ]
            }
          }
        }
      }
    ],
    "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
        },
        "blockLoyalty": false
      }
    ],
    "customFieldV3Responses": [
      {
        "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"
              }
            ]
          }
        ]
      }
    ],
    "waiveOffInfo": {
      "waiveOffInfoPerModules": [
        {
          "moduleId": "BOOKING",
          "waiveOffFeeReason": {
            "reasonCode": "WA05",
            "reason": "Customer goodwill"
          }
        }
      ]
    },
    "arrivalFlightNumber": {
      "num": "321",
      "airlineCode": "AA"
    },
    "bookingKey": "ChBjMmRlYjdhNzJiM2RjMzE1EhBmNDA3MzZlYjFiZDRmYWU5",
    "bookingPaymentDetails": {
      "bookingTravelerPaymentDetails": [
        {
          "selectedFormOfPayments": [
            {
              "paymentItems": [
                {
                  "fareComponent": []
                }
              ],
              "selectedPaymentSources": [
                {}
              ]
            }
          ]
        }
      ]
    },
    "postPaymentVerificationInfo": {
      "paymentKey": "string",
      "postStripeVerificationInfo": {
        "paymentMethodId": "pm_1HzKDPI3bT9GUjvoUkRQooN3"
      }
    }
  }'

Responses

OK

Bodyapplication/json
pnrIdstring

Spotnana PNR ID.

Example: "2267585596"
sourcePnrIdstring

Source PNR ID.

Example: "LRXQXA"
pnrStatusstring(PnrStatus)

Status of PNR

Enum"UNKNOWN""INITIATED""CANCELLED""CONFIRMED""GROUP_BOOKING_ON_REQUEST""WAITLISTED""PENDING""AIRLINE_UPGRADE""WAITLIST_CONFIRMED""BOOKING_DENIED_CONTACT_SUPPORT"
paymentVerificationInfoStripeVerificationInfoWrapper (object) or UrlVerificationInfoWrapper (object) or ThreeDSecure2VerificationInfoWrapper (object) or RazorpayVerificationInfoWrapper (object)(PaymentVerificationInfo)
One of:

VerificationInfo required for the payment operation.

Response
application/json
{ "pnrId": "2267585596", "sourcePnrId": "LRXQXA", "pnrStatus": "CONFIRMED", "paymentVerificationInfo": { "gatewayIdentifier": {}, "paymentKey": "string", "stripeVerificationInfo": {} } }

Cancel a car booking

Request

Cancel an existing car booking and initiate a refund (if applicable).

Security
Bearer
Path
pnrIdstringrequired

Pnr Id of the booking to be cancelled.

Example: 4974a66b
Bodyapplication/jsonrequired
pnrIdstringrequired

The PNR ID of the car booking to be cancelled.

Example: "4974a66b"
customFieldUserResponsesArray of objects(CustomFieldV3Response)

Custom field responses for the booking.

waiveOffInfoobject(WaiveOffInfo)

Waive off info.

postPaymentVerificationInfoPostStripeVerificationInfoWrapper (object) or PostUrlBasedVerificationInfoWrapper (object) or AmadeusCheckoutVerificationInfoWrapper (object) or ThreeDSecure2PostVerificationInfoWrapper (object) or RazorpayPostVerificationInfoWrapper (object)(PostPaymentVerificationInfo)
One of:

Payment information sent after the verification of payment method.

bookingPaymentDetailsobject(BookingPaymentDetails)

Payment details used for booking.

curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/pnrs/4974a66b/cancel-pnr \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "pnrId": "4974a66b",
    "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"
              }
            ]
          }
        ]
      }
    ],
    "waiveOffInfo": {
      "waiveOffInfoPerModules": [
        {
          "moduleId": "BOOKING",
          "waiveOffFeeReason": {
            "reasonCode": "WA05",
            "reason": "Customer goodwill"
          }
        }
      ]
    },
    "postPaymentVerificationInfo": {
      "paymentKey": "string",
      "postStripeVerificationInfo": {
        "paymentMethodId": "pm_1HzKDPI3bT9GUjvoUkRQooN3"
      }
    },
    "bookingPaymentDetails": {
      "bookingTravelerPaymentDetails": [
        {
          "selectedFormOfPayments": [
            {
              "paymentItems": [
                {
                  "fareComponent": []
                }
              ],
              "selectedPaymentSources": [
                {}
              ]
            }
          ]
        }
      ]
    }
  }'

Responses

OK

Bodyapplication/json
confirmationIdstringrequired

The cancellation confirmation number.

Example: "AU847750750"
paymentVerificationInfoStripeVerificationInfoWrapper (object) or UrlVerificationInfoWrapper (object) or ThreeDSecure2VerificationInfoWrapper (object) or RazorpayVerificationInfoWrapper (object)(PaymentVerificationInfo)
One of:

VerificationInfo required for the payment operation.

Response
application/json
{ "confirmationId": "AU847750750", "paymentVerificationInfo": { "gatewayIdentifier": {}, "paymentKey": "string", "stripeVerificationInfo": {} } }

Get more details for a specific car rate

Request

Get additional details for a selected car rate from the search results.

Security
Bearer
Bodyapplication/jsonrequired
searchIdstringrequired

SearchID of the car rate details.

Example: "1cf76aba18e4015f"
carIdstringrequired

CarId of the car to be booked.

Example: "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP"
isModifyboolean

Indicates if the request is for modifying an existing booking.

Example: false
curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/rate-details \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "searchId": "1cf76aba18e4015f",
    "carId": "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP",
    "isModify": false
  }'

Responses

OK

Bodyapplication/json
searchIdstringrequired

SearchID of the car rate details.

Example: "1cf76aba18e4015f"
carIdstringrequired

CarId of the car to be booked.

Example: "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP"
pickupLocationobject(CarLocationDetails)required

Car Pickup Location details

pickupLocation.​addressobject(PostalAddress)required

Location address / airport code.

pickupLocation.​address.​addressLinesArray of stringsrequired

Address lines

Example: ["Golden Gate Bridge"]
pickupLocation.​address.​administrativeAreastring

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"
pickupLocation.​address.​administrativeAreaNamestring

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"
pickupLocation.​address.​descriptionstring

Address description

Example: "San Francisco Home"
pickupLocation.​address.​isDefaultboolean

Whether this address is default address in case multiple addresses are specified.

Example: true
pickupLocation.​address.​languageCodestring

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"
pickupLocation.​address.​localitystring

Generally refers to the city/town portion of the address.

Example: "San Francisco"
pickupLocation.​address.​locationCodestring

IATA 3-letter location code. See https://www.iata.org/en/services/codes.

Example: "LAX"
pickupLocation.​address.​organizationstring

The name of the organization at the address.

Example: "Spotnana"
pickupLocation.​address.​postalCodestring

Postal code of the address. This is a required field when setting for a user/legal entity/company etc.

Example: "94130"
pickupLocation.​address.​continentCodestring

2 letter continent code of the continent this address falls in.

Example: "AF"
pickupLocation.​address.​recipientsArray of strings

The recipient at the address.

pickupLocation.​address.​regionCodestringrequired

Region code of the country/region of the address.

Example: "US"
pickupLocation.​address.​regionNamestring

Region name of the country/region of the address.

Example: "America"
pickupLocation.​address.​revisioninteger(int32)
Example: 1
pickupLocation.​address.​sortingCodestring

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"
pickupLocation.​address.​sublocalitystring

Sublocality of the address. This can be neighborhoods, boroughs, districts.

pickupLocation.​address.​timezonestring

Time zone of the address.

Example: "America/Los_Angeles"
pickupLocation.​address.​coordinatesobject(Latlng)

Map coordinates of the address.

pickupLocation.​coordinatesobject(Latlng)

Latitude and longitude of the location.

pickupLocation.​counterLocationstring(CounterLocation)

Counter location. If airport counter, set locationCode in address.

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"
pickupLocation.​operatingScheduleobject(OperatingSchedule)

Operating schedule of vendor

pickupLocation.​weeklyOperatingScheduleArray of objects(OperatingSchedule)

Weekly operating schedule of vendor

pickupLocation.​contactInfoobject(CarLocationContactInfo)

Contact info of the location

dropOffLocationobject(CarLocationDetails)required

Car DropOff Location details

dropOffLocation.​addressobject(PostalAddress)required

Location address / airport code.

dropOffLocation.​address.​addressLinesArray of stringsrequired

Address lines

Example: ["Golden Gate Bridge"]
dropOffLocation.​address.​administrativeAreastring

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"
dropOffLocation.​address.​administrativeAreaNamestring

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"
dropOffLocation.​address.​descriptionstring

Address description

Example: "San Francisco Home"
dropOffLocation.​address.​isDefaultboolean

Whether this address is default address in case multiple addresses are specified.

Example: true
dropOffLocation.​address.​languageCodestring

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"
dropOffLocation.​address.​localitystring

Generally refers to the city/town portion of the address.

Example: "San Francisco"
dropOffLocation.​address.​locationCodestring

IATA 3-letter location code. See https://www.iata.org/en/services/codes.

Example: "LAX"
dropOffLocation.​address.​organizationstring

The name of the organization at the address.

Example: "Spotnana"
dropOffLocation.​address.​postalCodestring

Postal code of the address. This is a required field when setting for a user/legal entity/company etc.

Example: "94130"
dropOffLocation.​address.​continentCodestring

2 letter continent code of the continent this address falls in.

Example: "AF"
dropOffLocation.​address.​recipientsArray of strings

The recipient at the address.

dropOffLocation.​address.​regionCodestringrequired

Region code of the country/region of the address.

Example: "US"
dropOffLocation.​address.​regionNamestring

Region name of the country/region of the address.

Example: "America"
dropOffLocation.​address.​revisioninteger(int32)
Example: 1
dropOffLocation.​address.​sortingCodestring

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"
dropOffLocation.​address.​sublocalitystring

Sublocality of the address. This can be neighborhoods, boroughs, districts.

dropOffLocation.​address.​timezonestring

Time zone of the address.

Example: "America/Los_Angeles"
dropOffLocation.​address.​coordinatesobject(Latlng)

Map coordinates of the address.

dropOffLocation.​coordinatesobject(Latlng)

Latitude and longitude of the location.

dropOffLocation.​counterLocationstring(CounterLocation)

Counter location. If airport counter, set locationCode in address.

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"
dropOffLocation.​operatingScheduleobject(OperatingSchedule)

Operating schedule of vendor

dropOffLocation.​weeklyOperatingScheduleArray of objects(OperatingSchedule)

Weekly operating schedule of vendor

dropOffLocation.​contactInfoobject(CarLocationContactInfo)

Contact info of the location

additionalDetailsArray of objects(CarAdditionalDetail)

Car Additional Details

vendorobject(Vendor)

Car Vendor information

co2Emissionobject(CarCo2EmissionDetail)

The CO2 emission detail for car

isFlightNumberMandatoryForPickupbooleanrequired

Indicates if flight number is mandatory for pickup

checkoutApprovalInfoobject(CheckoutApprovalInfo)

Checkout approval information

Response
application/json
{ "searchId": "1cf76aba18e4015f", "carId": "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP", "pickupLocation": { "address": {}, "coordinates": {}, "counterLocation": "OFF_AIRPORT_RENTAL_SHUTTLE", "operatingSchedule": {}, "weeklyOperatingSchedule": [], "contactInfo": {} }, "dropOffLocation": { "address": {}, "coordinates": {}, "counterLocation": "OFF_AIRPORT_RENTAL_SHUTTLE", "operatingSchedule": {}, "weeklyOperatingSchedule": [], "contactInfo": {} }, "additionalDetails": [ {} ], "vendor": { "code": "ZE", "name": "HERTZ", "email": "abc@xyz.com", "phone": {} }, "co2Emission": { "co2EmissionValue": 0.01 }, "isFlightNumberMandatoryForPickup": true, "checkoutApprovalInfo": { "approvalType": "SOFT_APPROVAL", "approverDetails": [] } }

Check car price availability

Request

Check if the price for a selected car is still available before proceeding with the booking.

Security
Bearer
Bodyapplication/jsonrequired
searchIdstringrequired

SearchID of the selected car.

Example: "1cf76aba18e4015f"
carIdstringrequired

CarId of the car to be booked.

Example: "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP"
tripIdstring

Trip ID

Example: 1234567890
isModifyboolean

Indicates if this API call is a part of modify search and book.

Example: false
curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/price-check \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "searchId": "1cf76aba18e4015f",
    "carId": "EgRFQ0FSGgNFVzIiAkVUKgoKA1NGTxIDU0ZPMgoKA1NGTxIDU0ZP",
    "tripId": 1234567890,
    "isModify": false
  }'

Responses

OK

Bodyapplication/json
timeoutSecondsinteger

Time in seconds for which the price is held.

Example: 3900
hasPriceChangedbooleanrequired

Indicates if the price has changed from the details.

Example: true
rateInfoobject(CarRateDetails)

Car Rate information and breakdown

finalRateInfoobject(CarRateDetails)

Car Rate information and breakdown

preferencesArray of objects(Preference)
bookingKeystring

Booking key used to make booking.

Response
application/json
{ "timeoutSeconds": 3900, "hasPriceChanged": true, "rateInfo": { "rateType": "GUARANTEED", "carRateComponents": [], "carExtras": [], "refundable": "REFUNDABLE", "fareType": "CORPORATE", "allowedFop": "BREX_POINTS", "allowedPaymentTypes": [], "dailyRates": [] }, "finalRateInfo": { "rateType": "GUARANTEED", "carRateComponents": [], "carExtras": [], "refundable": "REFUNDABLE", "fareType": "CORPORATE", "allowedFop": "BREX_POINTS", "allowedPaymentTypes": [], "dailyRates": [] }, "preferences": [ {} ], "bookingKey": "string" }

Get location details for a car vendor

Request

Get the car location details and the vendor information.

Security
Bearer
Bodyapplication/jsonrequired
vendorCodestringrequired

Vendor code of the car company.

Example: "ZE"
locationCodestringrequired

IATA airport code.

Example: "SFO"
userIdobject(UserId)required

Car User Identifier.

userId.​idstring(uuid)required
curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/location-details \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "vendorCode": "ZE",
    "locationCode": "SFO",
    "userId": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    }
  }'

Responses

OK

Bodyapplication/json
locationobject(CarLocationDetails)required

Car Location details

location.​addressobject(PostalAddress)required

Location address / airport code.

location.​address.​addressLinesArray of stringsrequired

Address lines

Example: ["Golden Gate Bridge"]
location.​address.​administrativeAreastring

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"
location.​address.​administrativeAreaNamestring

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"
location.​address.​descriptionstring

Address description

Example: "San Francisco Home"
location.​address.​isDefaultboolean

Whether this address is default address in case multiple addresses are specified.

Example: true
location.​address.​languageCodestring

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"
location.​address.​localitystring

Generally refers to the city/town portion of the address.

Example: "San Francisco"
location.​address.​locationCodestring

IATA 3-letter location code. See https://www.iata.org/en/services/codes.

Example: "LAX"
location.​address.​organizationstring

The name of the organization at the address.

Example: "Spotnana"
location.​address.​postalCodestring

Postal code of the address. This is a required field when setting for a user/legal entity/company etc.

Example: "94130"
location.​address.​continentCodestring

2 letter continent code of the continent this address falls in.

Example: "AF"
location.​address.​recipientsArray of strings

The recipient at the address.

location.​address.​regionCodestringrequired

Region code of the country/region of the address.

Example: "US"
location.​address.​regionNamestring

Region name of the country/region of the address.

Example: "America"
location.​address.​revisioninteger(int32)
Example: 1
location.​address.​sortingCodestring

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"
location.​address.​sublocalitystring

Sublocality of the address. This can be neighborhoods, boroughs, districts.

location.​address.​timezonestring

Time zone of the address.

Example: "America/Los_Angeles"
location.​address.​coordinatesobject(Latlng)

Map coordinates of the address.

location.​coordinatesobject(Latlng)

Latitude and longitude of the location.

location.​counterLocationstring(CounterLocation)

Counter location. If airport counter, set locationCode in address.

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"
location.​operatingScheduleobject(OperatingSchedule)

Operating schedule of vendor

location.​weeklyOperatingScheduleArray of objects(OperatingSchedule)

Weekly operating schedule of vendor

location.​contactInfoobject(CarLocationContactInfo)

Contact info of the location

vendorobject(Vendor)required

Car Vendor information

vendor.​codestringrequired

Vendor code.

Example: "ZE"
vendor.​namestringrequired

Vendor name.

Example: "HERTZ"
vendor.​emailstring

Vendor email.

Example: "abc@xyz.com"
vendor.​phoneobject(PhoneNumber)

Vendor contact number.

Response
application/json
{ "location": { "address": {}, "coordinates": {}, "counterLocation": "OFF_AIRPORT_RENTAL_SHUTTLE", "operatingSchedule": {}, "weeklyOperatingSchedule": [], "contactInfo": {} }, "vendor": { "code": "ZE", "name": "HERTZ", "email": "abc@xyz.com", "phone": {} } }

Edit traveler information for an existing car PNR

Request

Edit traveler information such as loyalty number for an existing car booking.

Security
Bearer
Path
pnrIdstringrequired

The Spotnana PNR ID of the PNR to be read.

Example: 1213124111
Bodyapplication/jsonrequired
travelerUpdateInfosArray of objects(CarTravelerUpdateInfo)required
travelerUpdateInfos[].​travelerobject(CarTravelerInfo)required
travelerUpdateInfos[].​traveler.​travelerIdobject(UserId)required

The ID of the traveler.

travelerUpdateInfos[].​traveler.​travelerId.​idstring(uuid)required
travelerUpdateInfos[].​traveler.​nameobject(Name)

Name of the traveler.

travelerUpdateInfos[].​traveler.​dobobject(DateModel)

Date of birth of the traveler.

travelerUpdateInfos[].​traveler.​phoneNumberobject(PhoneNumber)

Phone number of the traveler.

travelerUpdateInfos[].​traveler.​emailstring(email)

Email of the traveler.

Example: "example@email.com"
travelerUpdateInfos[].​traveler.​loyaltyInfoobject(LoyaltyInfo)

Loyalty Info of the traveler.

travelerUpdateInfos[].​traveler.​blockLoyaltyboolean

If true, hides the loyalty program input on the checkout page for this traveler.

Default false
Example: false
travelerUpdateInfos[].​updateTypesArray of stringsuniquerequired
Items Value"LOYALTY_INFO"
Example: ["LOYALTY_INFO"]
curl -i -X PUT \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/car/pnrs/1213124111/update \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

No Content

Response
No content