Modifying Vehicle Bookings
UniversalRecordReqRsp.xsd
Create Vehicle Booking > Modify Vehicle Booking OR
Import Vehicle Booking > Modify Vehicle Booking OR
Retrieve Vehicle Booking > Modify Vehicle Booking
An existing Universal Record can be modified to add, delete, or update booked vehicle segment data or cancel vehicle segments.
How To
UniversalRecordModifyReq/UniversalModifyCmd is used to modify Universal Record data for traveler information, general UR information, and segment-related data. If multiple modifications are made to a Universal Record, an instance of UniversalModifyCmd must be associated with each change request.
Adding Vehicle Segments
- Use the VehicleAdd child of UniversalModifyCmd to add a vehicle segment to an existing Universal Record.
- Include the required @ReservationLocatorCode to identify the PNR to which the travel segment is added. ReservationLocatorCode is assigned by the provider and is distinct from the identifier for the UniversalRecord that is issued by Universal API.
- Make sure the PaymentInformation/BillingReferenceNumber is the same as the reference in the database, or the existing billing reference number is overwritten with the new value.
- If a passive segment is being added to an existing UR:
- With the same traveler, a different PNR, the same supplier, and a different loyalty card, the loyalty card in the passive segment is not added.
- With a different PNR, a different traveler, the same supplier, and a different loyalty card, the loyalty card is added because a new traveler is added.
Updating Vehicle Segments
- Use the VehicleUpdate child of UniversalModifyCmd to modify an existing vehicle segment in a Universal Record.
- Include the required @ReservationLocatorCode to identify the PNR that contains the travel segment that is being modified. ReservationLocatorCode is assigned by the provider and is distinct from the identifier for the UniversalRecord that is issued by Universal API.
- If the PaymentInformation/BillingReferenceNumber is sent but no value exists in the UR, an error is returned. Use the VehicleAdd request to add new payment information.
- Modify the date and time of the pick-up using VehiclePickupDateLocation/PickupDateTime. A pick-up time must be provided or an error is returned. Changes to the PickupDateTime are recorded in Universal Record History.
Note: PickupDateTime is required for booking and cannot be deleted.
Modify the pick-up location using VehiclePickupDateLocation.
- @PickupLocation
- @PickupLocationType
- @PickupLocationNumber
Note: Only Worldspan (1P) support modifying the pickup location. If a pickup location modification is sent to Galileo (1G) an error is returned: "THE HOST SYSTEM ONLY ALLOWS MODIFICATION OF THE PICKUPDATETIME, CANCEL AND REBOOK THE VEHICLE SEGMENT IF YOU NEED TO CHANGE THE PICK UP LOCATION DETAILS"
Deleting Vehicle Segment Data
Note: VehicleDelete is not currently used to cancel a vehicle booking from an existing Universal Record. VehicleCancelReq is used to cancel booked vehicle segments. Alternately, UniversalRecordCancelReq is used to cancel the entire Universal Record, including the vehicle booking.
Use the VehicleDelete child of UniversalModifyCmd to delete existing data from a vehicle segment or to delete an entire vehicle segment from an existing Universal Record.
Note: See Canceling Travel Segments via the UR for more information on deleting entire vehicle segments from an existing Universal Record.
Enter required data:
The ReservationLocatorCode attribute identifies the PNR with the associated vehicle segments.
- The Element attribute indicates the type of data to be deleted. Because the Element attribute is shared by several segment types, not all enumerations are used by vehicle segments.
- A Key from the PNR is required to identify the specific item to be deleted based on the unique key assigned to that item.
- BillingReferenceNumber should only be deleted if the UR has an existing BillingReferenceNumber and no attribute is passed for the same in the UniversalRecordModifyReq.
- VehiclePickupDateLocation/PickupDateTime is required for booking and cannot be deleted, but it can be modified using VehicleUpdate.
- SpecialEquipment can be partially deleted or totally deleted.
- To partially delete special equipment, submit the special equipment which needs to be retained and leave blanks for the equipment that should be deleted.
- If an already-deleted code or equipment that is not in the booking is submitted, a warning displays: Special Equipment XXX was not present in original booking. Regardless of the warning, valid codes that require deletion are deleted.
Exceptions
Galileo
- Galileo does not allow modification of pickup details in a vehicle booking.
-
Universal API does not have a discrete equivalent to an end transact (PNRBFEnd). When a created, modified or canceled booking is submitted, Universal API internally processes the end transact as part of the request. There is also no equivalent functionality to PNRBFIgnore.
Worldspan
- Most vehicles booked through Worldspan require a Guarantee or Deposit to book.
- The
BillingAddress and Phone for guaranteed Vehicle segments are stored locally
by Universal API, rather than by the host. A warning
message that notes the local save is also returned.
Note: If a guarantee is required, but is not provided in the request, an error is returned in the response.
- Worldspan does not support LoyaltyCard/SupplierCode in the VehicleAdd request.
- Most of the Worldspan car vendors return an error message when a delete request attempts to delete a loyalty card number. To delete a loyalty card number, a user may have to cancel and rebook the vehicle segment.
- The ReturnDateTime in VehicleUpdate/VehicleReturnDateLocation can be updated but it is required for booking and cannot be deleted.
- Vouchers
In Universal.xsd, Universal Record Modify Request modifies (add, update, and delete) voucher number information in existing Worldspan PNRs.
- Add a voucher number using UniversalRecordModifyReq/UniversalModifyCmd/VehicleAdd:
- The CAR segment can have only one voucher number.
- Universal API first validates the car segment, and if the voucher number is already present, Universal API returns a warning.
- Update/Delete voucher number:
- Use VehicleUpdate to update the voucher number or delete the voucher number.
For update, if entering a voucher number in the UniversalRecordModifyReq/UniversalModifyCmd/VehicleUpdate/
PaymentInformation/Voucher @Number, it will overwrite the existing voucher number information on the Universal Record.
- For delete, do not send UniversalRecordModifyReq/UniversalModifyCmd/VehicleUpdate
/PaymentInformation/Voucher @Number.