Vehicle Search
VehicleReqRsp.xsd
Vehicle Search
Vehicle Search is a generic request for rental cars that are available in a certain city between two specific dates.
- By default, responses are sorted from low to high rate only when pickup and drop-off locations are the same. However, when pickup and drop-off locations are different, rates may not appear from low to high rate.
- Modifiers such as specific car types, features, or rental locations can be used to narrow the response.
Schema
See the following transactions for Vehicle Search:
Request
VehicleSearchAvailabilityReq is used to search for vehicles.
- Enter the minimum required data for a Vehicle Search request in the VehicleDateLocation
element:
- The pick-up date and time.
- The return date and time.
- A city or airport code.
- Include VendorLocation @VendorLocationID in the request to specify an exact pickup location OR include VendorDateLocation @ PickupLocation, @PickupLocationType, and @PickupLocationNumber in the request to specify an exact pickup location.
- Include VendorDateLocation @ReturnLocation, @ReturnLocationType, and @ReturnLocationNumber in the request to specify an exact return location.
- Up to three generic pickup locations and one exact return location.
-
Up to three exact pickup locations and one exact return location.
-
Up to three exact pickup locations with return to pickup Location (return attributes are not specified in the request).
-
Up to three exact pickup locations with return to airport (return LocationType and VendorLocationID are not specified in request).
- @LocationCode
- @LocationType
- @VendorLocationID
- @VendorCode
- For Galileo (1G) and Apollo (1V), the request can include exact pickup locations and an exact return location with one or multiple vendors.
- For Worldspan (1P), the request can include exact pickup and an exact return location with one vendor.
- All attributes must be included in the request (@ProviderCode, @VendorCode, @LocationCode, @LocationType, @VendorLocationID, Type) for both Pickup and Return.
- For one or more exact Pickup and Return to Pickup Location with one vendor (Galileo, Apollo, and Worldspan) or multiple vendors (only Galileo and Apollo support multiple vendors):
- All attributes must be included in the request for Pickup: @ProviderCode, @VendorCode, @LocationCode, @LocationType, @VendorLocationID, and @Type
- The return location for Return to Pickup Location is not included in request, as its included in the Pickup Location.
- For one or more exact Pickup, and default return to airport, for one or multiple vendors (Galileo, Apollo, Worldspan), these attributes must be included in the request for Pickup: @ProviderCode, @VendorCode, @LocationCode, @LocationType, @VendorLocationID, and @Type:
- The return includes @ProviderCode, @VendorCode, @LocationCode, and @Type.
- The return @LocationCode must be the same for all returns.
- For default Pickup to airport and exact Return for one vendor (Galileo, Apollo, Worldspan):
- These attributes must be included in the request for Pickup: @ProviderCode, @VendorCode, @LocationCode, and @Type
- The return includes @ProviderCode, @VendorCode, @LocationCode, @LocationType, @VendorLocationID, and @Type.
-
If VendorLocation @LocationType and @LocationID are not included in the request, the default return location is an airport.
- If VendorLocation @Type="Pickup" or ="Return", and VehicleDateLocation attributes are specified, only VendorLocation attributes are processed and a warning is returned.
- The maximum number of vendors/exact pickup/exact return locations allowed per provider is exceeded. Universal API processes up to the maximum number and ignores all others. The warning lists the pickup and return locations that were not processed.
- The request includes VendorLocation @Type and VehicleDateLocation attributes (@PickupLocation, @PickupLocationType, @PickupLocationNumber, @ReturnLocation, @ReturnLocationType, or @ReturnLocationNumber). The warning lists the VehicleDateLocation attributes that were not processed.
-
For exact Pickup and exact Return requests where both VehicleDateLocation/VendorLocation@VendorCode and VehicleSearchModifiers@PermittedVendors are present, Universal API takes the value from VehicleDateLocation/VendorLocation@VendorCode and ignore @PermittedVendors. Universal API returns the following warning message “PermittedVendors “XX” was not processed in the request” where XX = vendor code.
-
Any /VendorLocation/@Type “Pickup” or “Return” has @VendorLocationID but does not have @LocationType, then Universal API returns the following error message for both single and multiple pickup, or if VehicleSearchAvailabilityReq/VehicleDateLocation/PickupLocationType is not provided in the request, and either VehicleSearchAvailabilityReq/VehicleDateLocation/PickupLocationNumber or VehicleSearchAvailabilityReq/VehicleDateLocation/VendorLocation/VendorLocationID is present:
"Location Type is mandatory with Location Number for provider." -
Multiple Pickup Locations with LocationType and VendorLocationID, the error "Return @LocationType and @VendorLocationID are not allowed with multiple Pickup Locations” returns in the response.
-
Multiple Pickup Locations are requested and all Return @LocationCode(s) are not the same, Universal API will return the following error: “All Return @LocationCode must be the same.”
- Enter optional data to refine the search in the VehicleSearchModifiers
element.
- Preferred currency can be specified to request vehicle rates in a user's preferred currency.
- When ReferencePoint is sent in the request, the location is not required, but can be included. In Galileo, the reference point, location, or both must be provided.
- If multiple vendors are specified in a request that includes ReferencePoint, a vehicle type is also required.
- Some locations types are not supported for ReferencePoint-only searches.
- Add any Discounts, Promotional, and Related Attributes:
- Vehicle v.34.0 and greater processes the existing @DiscountNumber, @PromotionalCode, @TourCode attributes in the Vehicle Rate response (VehicleSearchAvailabilityRsp/Vehicle/VehicleRate).
- These optional attributes @DiscountNumberApplied, @PromotionalCodeApplied, @TourCodeApplied, @CardNumber, @CardNumberApplied, and @RequestedRateCodeApplied, were added in Vehicle v.34.0.
- Backward Compatibility:
Universal API populates @DiscountNumberApplied, @PromotionalCodeApplied, @TourCodeApplied, @CardNumber, @CardNumberApplied, @RequestedRateCodeApplied in V.34.0 and later.
In VehiclesearchAvailabilityRsp, @DiscountNumber, @PromotionalCode and @TourCode will not be populated in version 33.0 and earlier.
If a Booking is created with a @DiscountNumber greater than ten characters in v34.0 or later, and then retrieved in an earlier version, Universal API truncates and returns the first 10 characters along with the following warning, “Partial DiscountNumber returned, upgrade to uAPI v34 or higher to retrieve.”
As of Universal API Release 22.2.2, Vehicle Rate allows surcharge to be returned in the vehicle charge category. Release 22.2
VehicleSearchAvailabilityRsp/Vehicle/VehicleRate/VehicleCharge @Category="Surcharge" .
Show detailsUse @PreferredCurrency to request a response in the user's preferred currency. E.g., PreferredCurrency="EUR". All converted rates are returned, regardless of the providers to whom the request was submitted.
Notes:
- VehicleSearchAvailabilityRsp returns Vehicle Search options.
If the VehicleDateLocation/VendorLocation @VendorLocationID is specified in the request, the PickupLocationType is mandatory in the request.
Requests can include single or multiple exact pickup, single exact return for single or multiple vendors, or exact pickup and return locations.
If only @ReturnLocation is specified it is assumed to be an airport. If @ReturnLocation is not specified, the pickup location is assumed to be the return location as well.
All schema versions support submitting exact pickup and return locations.
Vehicle Search requests can include:
When VehicleDateLocation @PickupLocation or @PickupLocationType are specified in the request, an exact pickup location can be specified by including VehicleDateLocation/VendorLocation:
Notes:
Only one generic return location can be specified:
Show warningsA warning is returned if:
See the response for more details.
Response
Available car rental rate options are returned in order of price. The least expensive options are displayed first, followed by increasingly more expensive rental rates. Any optional qualifiers that are added to request will narrow the response.
- By default, responses are sorted from low to high rate only when pickup and drop-off locations are the same.
- However, when pickup and drop-off locations are different, rates may not appear from low to high rate.
Based on the qualifiers used, the GDS returns a response that includes as many as ten availability options. If additional rate options exist, a ‘More’ indicator is also returned, and subsequent requests can be made.
One of three statuses will be returned with the response:
- Available
- Call (the supplier)
- Closed
A search response may contain a NextResultReference if the provider has additional response data that was not returned in that call. This reference token from the provider can be used in a subsequent request to obtain this additional data.
The following data may also be returned in the response:
- A "true" indicator if a rate is guaranteed in VehicleRate/RateGuaranteed.
- Pre-payment requirements in VehicleRate/RequiredPayment.
- Rate separator text, when available.
- The InventoryToken when it exists for a rate, so that it can be used in the booking request.
- Any applicable drop charges associated with the rate because the drop-off location is different from the pick-up location.
- Car type description, when available.
- The vendor unique location ID associated to the vehicle.
- The data base key that is related to a rate, so that it can be used in a reference sell request.
- The source of the rate, so that it can be used in the sell request.
- The door count for specific vehicles.
- The location of the vehicle, e.g., Terminal, ShuttleOnAirport, etc. The /Vehicle@Location also returns the Shuttle Category code in the description text. For example, "S" or "SHTL" code is returned as "Offsite – Shuttle to counter and car" with the Vehicle Search Availability Rate response. See Car Counter Location Shuttle Descriptions for more details.
- For Vehicle.xsd, an ACRISS Standard code.
-
The Counter Location Code, which is the four-byte code to identify the Location of the Rental Counter, e.g. OMSO, PHON, etc. Universal API converts the 1G and 1V Counter Location 1-byte value to a 4-byte code, or returns the 1P Counter Location 4-byte code, in the response.
@PayNow and @PayLater increase customer awareness for understanding what is due now for a pre-paid rate, as well as what might be due later based on individual rental.
Note: This content is supplier dependent.
To support car suppliers that would like to offer different rates for prepaid booking, the “PayNow and “PayLater" attributes are added in each vehicle response message:
VehicleRules Response
- Supplier Rate – PayNow and PayLater
VehicleCreateReservation Response
- Supplier Rate – PayNow and PayLater
VehicleSearchAvailability Response
- Supplier Rate – PayNow and PayLater
- ApproximateRate - PayNow and PayLater
For example, in the VehicleSearchAvailability Response for a One Way Rental, the supplier returns:
- RateCategory = Prepay
- PayNow - Amount due at the time of Booking
- PayLater - Amount due at time of Pickup (One-way fee – Drop off charge)
Note: The Approximate PayNow and PayLater rates are ONLY returned in the VehicleSearchAvailability response.
To allow car suppliers the ability to offer different rates for prepaid bookings, the RateCategory, “Prepay” is supported in all Universal API Vehicle transactions.
-
Adding the Rate Category “Prepay” to the request message indicates to the supplier that you want these particular rate plans included in the response.
-
The ability to get prepay information in the response is supplier dependent.
@RateCategory="Prepay" is a part of
- /VehicleSearchModifiers in
- VehicleSearchAvailabilityReq
- VehicleRulesReq
- /Vehicle/VehicleRate in
- VehicleSearchAvailabilityRsp
- VehicleRulesRsp
- VehicleCreateReservationReq
Universal API processes up to the maximum number of vendors and maximum number of exact pickup and return locations allowed per provider and ignores all others. A warning is returned in the response that lists the pickup locations that were not processed.
VehicleSearchRsp @ReturnAtPickup indicates whether a vehicle can be returned at any location (ReturnAtPickup="false") or at the pickup point only (ReturnAtPickup="true"). Only Galileo (1G) and Apollo (1V) support the attribute.
- SupplierRate: Non-converted rates from the vehicle supplier.
- ApproximateRate: Converted rates into the preferred currency specified in the request.
If PreferredCurrency is specified in the request, converted rates are returned by all providers in the VehicleRate/ApproximateRate element. If PreferredCurrency is not specified, the SupplierRate element is populated.
If Preferred Currency is requested in the same currency as the vendor currency, the rates that are returned are not converted.
All providers return converted rates. However, non-converted rates are returned in the same response as converted rates by Worldspan . Only one type of rate (converted or non-converted) is returned in a response by Galileo or Apollo, not both.
For example, in a request to the Worldspan provider, if the Pseudo City Code (PCC) has a currency of EUR, and @PreferredCurrency="USD" in the Vehicle Search request, non-converted rates are returned in EUR and converted rates are returned in USD. In the same request to the Galileo provider, only rates in the specified preferred currency are returned.
Notes:
- This functionality is not backwards compatible.
- See the Exceptions section for further details on /VehicleRate
The Vehicle Search Availability request returns the location of the Shuttle Category code in the description text. For example:
- "S" or "SHTL" code is returned as "Offsite – Shuttle to counter and car" in the Vehicle Search Availability Rate response.
- "S" code is returned as “Offsite – Shuttle to counter and car” as the Location of Counter description text for the Shuttle Category Code in the Vehicle Rules response.
A Vehicle Search request can be followed up with one of several transactions:
-
A request to book a selected car option.
-
A request for additional results.
-
A Car Location Details request for more information about the vendor and rental option.
Exceptions
- Worldspan does not support PointOfSale in the request. Any value provided is ignored, and a warning is sent in the response: "Separate PointOfSale not supported by provider".
- Worldspan does not return VehicleSearchAvailabilityRsp/Vehicle/VehicleRate/RateInclusions in the response.
- The optional element: MarketingInformation displays marketing text or notices for Suppliers.
Vehicle.xsd returns an indicator in Vehicle Search Availability Response to indicate whether a Vehicle Rate required Prepayment at booking. The Pre-payment Required indicator is in VehicleSearchAvailabilityRsp/Vehicle/VehicleRate/@RequiredPayment.
Vehicle.xsd displays the Restricted Mileage Indicator in the Vehicle Rate response. For example, mileage restriction is a Rental Restriction.
- The optional attribute is in the VehicleRate element @RentalRestriction (VehicleSearchAvailabilityRsp/Vehicle/VehicleRate/@RentalRestriction)
- The Rental Restriction attribute value is true if vehicle rate has rental restrictions.
- Detailed rental restrictions can be obtained from the Vehicle Rules response.
Vehicle.xsd displays the Flight Restriction Indicator in the Vehicle Rate response.
- Vehicle.xsd has the optional attribute to the VehicleRate attribute, FlightRestriction (VehicleSearchAvailabilityRsp/Vehicle/VehicleRate/@ FlightRestriction)
- Flight Restriction indicates that flight information is required at booking.