Each request to GP Travel HUB has to identify particular booking to be processed. For that purpose special unique identifiers are used.
You should store the necessary identifiers received from a response in your application, to be able then pass it to request on the next step.
There are identifiers that are used on different request/response chains.
24.1.1. BookingReferenceID
The BookingReferenceID is used as unique identifier of a booking.
The next values of Instance attribute defines four possible types of BookingReferenceID element:
"client". It is mandatory identifier required in all requests/responses. It can be any character string, but it must be unique in your system. This element allows GP Travel HUB to identify your booking within it.
"agent". This element is optional in request, but it is mandatory in response. If you did not pass "agent" identifier explicitly in request, GP Travel HUB will create it automatically (normally we just copy the "client" identifier) and return it in response. GP Travel HUB passes this identifier to supplier as client booking reference for booking identification. You can also use it as booking reference number in your system. Unlike "client" identifier, "agent" identifier may be the same for several booked services. This may be used for spanning several ordered services into one order.
"supplier". Each actual reservation returns "supplier" identifier - the unique identifier of the booking in supplier's system. ID_Context attribute identifies the supplier. It is not necessary to pass the "supplier" identifier in all following requests; only "client" is required. But in response it is mandatory (is it correct?).
"PNR". It is an optional reference needed for online check-in. It can be presented by several references depending on airlines quantity.
You have to store all values of BookingReferenceID in your system, and use it unchanged through whole booking's life cycle.
Diagram 24.1.1.1.BookingReferenceID flow
24.1.2. BOOKINGCODE
24.1.3. TRANSACTIONIDENTIFIER
Flight Reservation, Modification and Cancellation should always be done in two steps: 1) Initiation (request/response) and 2)Confirmation or Ignore (request/response). Both these steps have to be done within one transaction.
The TransactionIdentifier allows to recognize which Confirmation or Ignore request relates to the Initiation response.
Diagram 24.1.3.1. TransactionIdentifier usage