# Edit traveler information for an existing car PNR

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

Endpoint: PUT /v2/car/pnrs/{pnrId}/update
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Path parameters:

  - `pnrId` (string, required)
    The Spotnana PNR ID of the PNR to be read.

## Request fields (application/json):

  - `travelerUpdateInfos` (array, required)

  - `travelerUpdateInfos.traveler` (object, required)

  - `travelerUpdateInfos.traveler.travelerId` (object, required)
    User identifier

  - `travelerUpdateInfos.traveler.travelerId.id` (string, required)

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

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

  - `travelerUpdateInfos.traveler.name.family2` (string)
    Example: FamilyTwo

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

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

  - `travelerUpdateInfos.traveler.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"

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

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

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

  - `travelerUpdateInfos.traveler.phoneNumber` (object)
    Properly formatted phone number.

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

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

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

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

  - `travelerUpdateInfos.traveler.phoneNumber.italianLeadingZero` (boolean)
    Example: true

  - `travelerUpdateInfos.traveler.phoneNumber.nationalNumber` (integer)
    Example: 8150

  - `travelerUpdateInfos.traveler.phoneNumber.numberOfLeadingZeros` (integer)
    Example: 1

  - `travelerUpdateInfos.traveler.phoneNumber.preferredDomesticCarrierCode` (string)
    Example: 7

  - `travelerUpdateInfos.traveler.phoneNumber.rawInput` (string)
    Example: 77777

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

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

  - `travelerUpdateInfos.traveler.loyaltyInfo` (object)
    Loyalty Info details.

  - `travelerUpdateInfos.traveler.loyaltyInfo.appliedTo` (array)

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

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

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

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

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

  - `travelerUpdateInfos.traveler.loyaltyInfos` (array)
    List of loyalty infos for the traveler.

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

  - `travelerUpdateInfos.traveler.persona` (string)
    Persona of the user
    Enum: "UNKNOWN_PERSONA", "EMPLOYEE", "GUEST", "PERSONAL", "RELATIVE", "ADHOC"

  - `travelerUpdateInfos.traveler.adhocUserInfo` (object)
    Basic information related to ad-hoc traveler profile.

  - `travelerUpdateInfos.traveler.adhocUserInfo.profileOwner` (object, required)
    Basic information about the owner of the ad-hoc user.

  - `travelerUpdateInfos.traveler.adhocUserInfo.isSaved` (boolean)
    A boolean flag to show if ad-hoc traveler is visible in search. While updating the user 
if client tries to update this field, it will throw exception.

  - `travelerUpdateInfos.updateTypes` (array, required)

## Response 204:

  - `204` (unknown)
    No Content

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

