Searching for Universal Records

As of December 2019, new Universal API customers must be provisioned to use UniversalRecordSearch in production. This transaction is available to new customers on pre-production.

If the Universal Record (UR) record locator is not known, it can be searched using data from a PNR that is contained within the UR. The same search can be used to locate more than one Universal Record that meets a specific criteria, such as PNRs issued by the same travel agent or PNRs with past date segments.

Request

UniversalRecordSearchReq in the UniversalRecordSearchService can be used to retrieve a list of Universal Records that meet the request parameters.

Search Criteria

Search criteria can be requested at either Universal Record (UR) level or the PNR level with data from a one or more PNRs contained in a Universal Record. Criteria can also include a combination of data from both the Universal Record level and the PNR level. Any/all parameters for air, car, hotel, rail can be used in any combination in Universal Search Request.

Both Universal Records that contain PNRs booked directly through Universal API or PNRs that have been booked externally with a Universal API provider can be searched. If PNR data is included in the search criteria that is not located within Universal API, the system automatically searches Universal API's providers' systems for the PNR. However, if the PNR was not booked through Universal API, a ProviderCode and ProviderLocatorCode must be included in the request.

Note: External search functionality is currently available only for Galileo and Apollo PNRs.

UR-Level Search Criteria

Universal API provides the ability to search Universal Records (UR) across Agency, Branch, or Branch Group, based on the permissions and security level of the Agent. An agent must have one of the following security levels to perform a UR search across profiles:

Search criteria at the UR level is contained in the attributes of UniversalRecordSearchReq:

PNR-Level Search Criteria

Search criteria at the PNR level is made using the ReservationSearchModifiers child. A PNR-level search can be made with or without a specified PNR.

Attributes and children for ReservationSearchModifiers include or exclude specific types of data from the response for each PNR to:

Date ranges can also be included in the search if the exact date is not known. Specific date and date range requests are mutually exclusive; only one type of date request can be used for the search.

Dates can also be applied at the product (segment type) level for air, hotel, vehicle, or rail segments. However, if both a PNR-level TravelDate and a product-level segment date are sent in the request, an error is returned. For example, if both a PNR travel date (TravelDate) and an air departure date (ReservationSearchModifiers/SearchCriteriaGroup/AirReservationCriteria/DepartureDate) are included in a search request the request fails and an error is returned.

Within the SearchCriteriaGroup child of ReservationSearchModifiers traveler travel segment criteria can be requested.

Note:

The following search types are not yet implemented, and are planned for later releases:

Open-Ended UR Searches

Open-ended UR searches are disabled as of Universal API release 201.3 Release 20.1. All seraches now provide upfront validation of a Universal Record search to reduce the impact of open-ended UR Searches . Open-ended searches can impact the stability of the system due to the significant time required for execution. If search criteria are not met, UniversalRecordSearchRsp returns one of the following errors based on the issue:

Response

UniversalRecordSearchRsp returns multiple UniversalRecordSearchRsp elements. Each UniversalRecordSearchRsp contains high-level data from a single UR that contains the requested data in or more of its PNRs.

For more detailed data about a PNR, a specific UR retrieve request can be made using the UR's record locator.

 

Attributes of UniversalRecordSearchRsp contains one or more UniversalRecordSearchResult child elements. Each child corresponds to an associated PNR.

Each instance of UniversalRecordSearchResult returns attributes to indicate the following UR data:

For each UniversalRecordSearchResult, one or more ProductInfo child elements may be returned, corresponding to each PNR segment contained within the parent UR.

For each ProductInfo child element contain in UniversalRecordSearchResult, the following PNR data is returned:

Next Steps

If more detailed data is desired for a specific reservation, a follow-on request can be made for specific UR retrieve request can be made using the UniversalRecordLocatorCode.

Errors

If UniversalRecordSearchReq does not find any matching provider reservations in the UR database, the following error is returned: PNRSvc error 6001 Could not retrieve PNR. No records found.