Getting the Next Itinerary in a Queue
The Queue Next functionality allows the customer to get the next PNR in the specified queue. The customer indicates in the request whether to keep the current PNR on queue and get the next PNR that is in the queue or remove the current PNR from the queue. On Worldspan (1P), the customer can also place the PNR on another queue.
Schema
Located in GDSQueue.xsd:
Request
A Queue Next request is made using GdsNextOnQueueReq in GDSQueue, to request the next PNR on the queue. A message is sent in the response to indicate when there are no more PNRs in the queue.
Note: The customer must be on a queue, via Enter Queue, to use the Queue Next request.
Set @RemoveCurrent to:
- True: The PNR is removed permanently from the queue.
- False: The PNR is placed back into the original queue in the GDS, using the data in the cache.
The QueueContinue and QueuePseudoCitySelector elements are mutually exclusive when QueueContinue = "True". The RemoveCurrent and QueueContinue element, when both = "True," are also mutually exclusive. When either QueuePseudoCitySelector or RemoveCurrent ="True" is placed with QueueContinue="True", Universal API returns the error: "Combination of either Queue Selector or Remove Current ="True" with GDSQueueContinue="True" is not allowed."
The value of the session token from the previous GdsEnterQueueReq or GDSNextOnQueueReq response must be sent in @QueueSessionToken. The token is maintained until GDSQueueExit or until the queue session times out, and processing places the orphaned Universal Record back to the queue.
Response
The GdsNextOnQueueRsp response:
- Gets the next PNR in the customer's queue and returns it in the response.
- Returns an informational message about actions that are completed for the current booking.
Because a Universal Record could have multiple GDS locators, the GDS locator that is currently on the queue shows whether it has been accessed by the customer. This information is sent in the response in GdsEnterQueueRsp/UniversalRecord/ProviderReservationInfo @InQueueMode, which is used to identify which PNR is retrieved from the queue:
- InQueueMode = "true" if the GDS locator that is returned is the one that is currently on the Queue.
- InQueueMode = "false" if the GDS locator that is returned is NOT the one that is currently on the Queue.
Multiple Queues
The value of @QueueSessionToken entered in the request is returned in the response. The token is used on a subsequent GDSNextOnQueueReq or GDSQueueExit requests.
Errors and WarningsFor GDSQueue:
- If a value is not provided in @QueueSessionToken, an error is returned: Queue Session Token is required for the requested service.
- If the value in @QueueSessionToken is incorrect, an error is returned: Requested Queue Session Token is invalid.
Consolidator Queues
Consolidators with permission to emulate an agency's PCC can manage and ticket Universal Records/PNRs for specified queues (consolidator queues) on the agency's behalf. On Queue Next, only URs that are accessible for the consolidator can be retrieved. If the PNR on Queue did not originate in Universal API, the PNR is imported into Universal API. If a corresponding Universal Record does not already exist for the PNR, a new Universal Record is created.
Errors and Warnings
During GDSNextOnQueueRequest, if Universal API encounters PNR import failure and the unsynchronized Universal Record (UR) cannot be displayed by Universal API:
- The User must repeat GDS Next on Queue to get the next record.
- A warning is returned: Please use GDSNextonQueueReq to get the next PNR in queue or use GDSExitQueueReq to exit the queue.
If a PNR import failure occurs, but the unsynchronized Universal Record can be displayed by Universal API:
- A warning is returned: Please use GDSNextonQueueReq to get the next PNR in queue or use GDSExitQueueReq to exit the queue.
Exceptions
Queue next functionality was previously only on Galileo (1G) and Apollo (1V). In GdsQueue v35.0 and later, Worldspan (1P) support queue next functionality.
ACH does not support queues.