Task: PNR/BF Retrieve by Record Locator

This task allows the user to retrieve an existing PNR/BF by the record locator of the PNR/BF.

Section 1: Short Answer

Transaction Name:

PNRBFManagement_30

Can any other transactions perform this same task?

Previous versions of PNRBFManagement, AgencyPNRBFDisplay, CarHotelPNRBFModify, and CarRulesPNRBF all have processes to retrieve an existing PNR/BF by record locator.

Can this task be performed in a sessionless environment?

This task can be performed in a sessioned or sessionless environment. However, in a sessionless environment, the data is not accessible for any type of follow-on action.

Dividing in conjunction with this task requires a sessioned environment. See the documentation for PNRBFDivide.

Are the request and response identical on both the Apollo and Galileo systems?

The request and response information is identical on both the Apollo and Galileo systems. If an error occurs, the actual error text may differ, but the formats are identical.

List any industry-specific knowledge required to understand this task.

For this task, the user must already have the Record Locator. The user should also be aware of the security in place when attempting to retrieve a PNR/BF that they do not own.

Explain any special limits or distinct restrictions.

The user must have the authority to look at the requested PNR/BF. If the user is retrieving a PNR/BF they own, no security checks are required. If the PNR/BF belongs to someone else, security checks are made to ensure the user has the proper authority. All security checks are based on information in the existing AAA. 

Section 2: Detailed Description

Request:

Unless otherwise specified, use ALL CAPS in any request data.

For a PNR/BF retrieve by Record Locator request, a <PNRBFRetrieveMods> (2024) is required with a <PNRAddr> element.  <PNRAddr> must contain the record locator of the requested PNR/BF. If the request is for a PNR/BF outside of the client’s CRS, a <TargetCRSInfo> element must also be supplied, with the CRS where the PNR/BF resides.

There is also an option to retrieve only certain pieces of the requested PNR/BF. For this option, a <RequiredData> element that lists the types of data requested is required.

Prerequisite tasks:

No prerequisite tasks apply.

Expected response:

The response from a retrieve of the currently active PNR/BF is a <PNRBFRetrieve> (2025), with all of the PNR/BF data requested in the specified elements as listed in Section 3. If a <RequiredData> element is in the request, only the types of data requested in <RequiredData> element are returned in the <PNRBFRetrieve>.

<Control> is always the first element in a non-error response. This element contains the information about the remainder of the response, including the total number of main elements, and the Record ID and number of each type of main elements returned.

Following are any items with special characteristics.

Form of Payment

For Form of Payment, one of three elements are returned: <CreditCardFOP>, <CheckFOP>, and <OtherFOP>. Only one Form of Payment can be added to a PNR/BF, so only one of these three elements is present in the response.

Name

The <LNameInfo> and <FNameInfo> elements are for Last Name and First Name, respectively. The <PsgrsName> element is a mix of <LNameInfo> and <FNameInfo> elements along with some additional information like infant’s date of birth, adult infant association number, etc. The number of <LNameInfo>, <FNameInfo>, and <PsgrsName> elements is shown in <Control>, but may not reflect the order exactly.

Itinerary

For all types of Itinerary (Air, Car, Hotel, etc.), there are primary elements, which have the basic itinerary information, and secondary elements, which have additional information such as Change of Gauge, Operated By, and Optional Car or Hotel data.

The order for this information is Primary followed by any Secondary(s) that apply to the Primary. For example, an <AirSeg> element followed by an <AirSegOpAirV> followed by an <AirSegDetail> followed by the next <AirSeg> element.

The order of the Primary Itinerary elements is determined by their location in the PNR/BF. The maximum number of Itinerary items in a PNR/BF is 99, so the combination of all types of Primary Itinerary elements cannot exceed 99. The total number of each Primary and Secondary elements is shown in <Control>, but may not reflect the order exactly.

Seats

For seat information, there is a <SeatSeg> element for each segment. Following the <SeatSeg> is be a <SeatAssignment> element for each passenger for that segment. The total number of <SeatSeg> and <SeatAssignment> elements is shown in the <Control> element, but may not reflect the order exactly.

Special Services (SSRs) and Other Special Services (OSIs)

For Special Service Information (SSRs), there is a <NonProgramaticSSR> (Manual SSR) element or <ProgramaticSSR> element for each SSR. There is an <OSI> element for each OSI. The combination of SSRs and OSIs cannot exceed 255 in the PNR/BF.

The <NonProgramaticSSR>/<ProgramaticSSR> elements are in the order they are in the PNR/BF and, therefore, may be mixed. In addition, if there is free text for a Programmatic SSR, the <ProgramaticSSRText> element, which immediately follows the applicable <ProgramaticSSR> element. The total number of <NonProgramaticSSR>, <ProgramaticSSR>, and <ProgramaticSSRText> elements is shown in the <Control> element, but may not reflect the order exactly.

Ticketing Arrangement

For ticketing arrangement, there is a possible one of five elements that can be returned: <TkArrangement>, <TAUTkArrangement>, <TAWTkArrangement>, <TLTkArrangement>, and <TAMkArrangement>. Only one type of Ticketing Arrangement can be added to a PNR/BF, so only one of the five elements is present in a response.

Mileage Membership Number

For mileage membership number, there is a possibility of three elements that can be returned: <FreqCustInfo>, <CrossAccrual>, and <FreqCustInfoEx>.

Error and warning responses:

The most common error returned is an error that the Record Locator or File Address is not valid for a PNR/BF.

Follow-on requests:

For a sessioned environment, numerous follow-on requests can be made. Additional data can be added to the PNR/BF, or current information in the PNR/BF can be changed or deleted. In a sessionless environment, no follow-on entries are available, because the data is no longer available after the transaction completes.

There are several other tasks that can be done in conjunction with the retrieval of the PNR/BF, or that can be done as a follow-on request in a sessioned environment. These tasks are:

 

These tasks can be combined and the user can choose which task, if any, to include.

Section 3: Tables

1) Retrieve by Record Locator (Same CRS)

Request (Input) Tags

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo:  *123ABC

Galileo: *123ABC

 

Ordering

KLR

Min/Max

XML Tag

 

 

BP02

1 – 1

<PNRAddr>

 

 

BP06

0 – 1

<RequiredData>

Response (Output) Tags

<PNRBFRetrieve>

If error occurred

 

Ordering

KLR

Min/Max

XML Tag

 

 

EROR

1 – 1

<ErrText>

 

<PNRBFRetrieve>

If PNR/BF found

 

Ordering

KLR

Min/Max

XML Tag

 

A

CTRL

1 – 1

<Control>

 

B

BP07

0 – 1

<HeaderLine>

 

C

BP08

0 – 1

<GenPNRInfo>

 

D

BP09

0 – 1

<PostScript>

 

E

BP10

0 – 99

<LNameInfo>

 

F

BP12

0 – 99

<FNameInfo>

 

G

BP47

0 – 99

<PsgrsName>

 

H

BP14

0 – 99

<FreqCustInfo>

 

I

BP16

0 – 99

<PhoneInfo>

 

I

BP32

0 – 1

<TkArrangement>

 

I

BP33

0 – 1

<TAUTkArrangement>

 

I

BP34

0 – 1

<TAWTkArrangement>

 

I

BP35

0 – 1

<TLTkArrangement>

 

J

BP36

0 – 1

<TAMkArrangement>

 

J

DPP0

0 – 1

<CreditCardFOP>

 

J

DPP1

0 – 1

<CheckFOP>

 

K

DPP9

0 – 1

<OtherFOP>

 

L

BP17 

0 – 1

<AddrInfo>

 

M

BP18

0 – 1

<DeliveryAddrInfo>

 

M

IT01

0 – 99

<AirSeg>

 

M

IT02

0 – 99

<AirSegOpAirV>

 

M

IT16

0 – 99

<AirSegDetail>

 

M

IT13

0 – 99

<ARNK>

 

M

IT03

0 – 99

<HtlSeg>

 

M

IT04

0 – 99

<HtlSegOptFlds>

 

M

IT05

0 – 99

<CarSeg>

 

M

IT06

0 – 99

<CarSegOptFlds>

 

M

IT07

0 – 99

<NonAirSeg>

 

M

IT09

0 – 99

<DuePaidInfo>

 

M

IT10

0 – 99

<FlygTaxiSeg>

 

M

IT11

0 – 99

<TourSeg>

 

M

IT12

0 – 99

<CruiseSeg>

 

N

IT14

0 – 99

<TrainSeg>

 

O

DPR1

0 – 99

<ItinRmk>

 

P

DPR1

0 – 99

<ItinRmk>

 

P

ST01

0 – 99

<SeatSeg>

 

Q

ST02

0 – 9801

<SeatAssignment>

 

R

BP19

0 – 255

<OSI>

 

R

BP20

0 – 255

<NonProgramaticSSR>

 

R

BP21

0 – 255

<ProgramaticSSR>

 

S

BP22

0 – 255

<ProgramaticSSRText>

 

T

BP23

0 – 1

<CustID>

 

U

BP24

0 – 1

<ProfileClientFileAssoc>

 

V

BP25

0 – 3

<CustomCheckRules>

 

W

BP26

0 – 255

<GenRmkInfo>

 

W

BP48

0 – 255

<GenRmkOtherData> (Galileo CRS Only)

 

X

BP27

0 – 99

<VndRecLocs>

 

Y

BP28

0 – 99

<VndRmk>

 

Z

DPIR

0 – 99

<InvoiceRmk>

 

AA

BP29

0 – 99

<QMinder>

 

EE

DPIR

0 – 99

<InvoiceRmk>

 

FF

BP40

0 – 99

<Email>

 

GG

BP41

0 – 1

<CorporateID>

 

HH

BP42

0 – 1

<DividedBookingInfo>

 

II

BP45

0 – 99

<AdditionalID>

 

JJ

BP46

0 – 99

<FreqCustInfoEx>

 

2) Retrieve by Record Locator (Different CRS)

Request (Input) Tags

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo: *1G/*123ABC

Galileo: *1V*/123ABC

Ordering

KLR

Min/Max

XML Tag

 

 

BP01

1 – 1

<TargetCRSInfo>

 

 

BP02

1 – 1

<PNRAddr>

 

 

BP06

0 – 1

<RequiredData>

Response (Output) Tags

<PNRBFRetrieve>

If error occurred

 

Ordering

KLR

Min/Max

XML Tag

 

 

EROR

1 – 1

<ErrText>

 

<PNRBFRetrieve>

If PNR/BF Found

 

 

Ordering

KLR

Min/Max

XML Tag

 

A

CTRL

1 – 1

<Control>

 

B

BP07

0 – 1

<HeaderLine>

 

C

BP08

0 – 1

<GenPNRInfo>

 

D

BP09

0 – 1

<PostScript>

 

E

BP10

0 – 99

<LNameInfo> *See special information in Section 2

 

F

BP12

0 – 99

<FNameInfo> *See special information in Section 2

 

G

BP47

0 – 99

<PsgrsName> *See special information in Section 2

 

H

BP14

0 – 99

<FreqCustInfo>

 

I

BP16

0 – 99

<PhoneInfo>

 

I

BP31

0 – 1

<AgncySimlrNameMatch>

 

I

BP32

0 – 1

<TkArrangement> *See special information in Section 2

 

I

BP33

0 – 1

<TAUTkArrangement> *See special information in Section 2

 

I

BP34

0 – 1

<TAWTkArrangement> *See special information in Section 2

 

I

BP35

0 – 1

<TLTkArrangement> *See special information in Section 2

 

J

BP36

0 – 1

<TAMTkArrangement> *See special information in Section 2

 

J

DPP0

0 – 1

<CreditCardFOP> *See special information in Section 2

 

J

DPP1

0 – 1

<CheckFOP> *See special information in Section 2

 

K

DPP9

0 – 1

<OtherFOP> *See special information in Section 2

 

L

BP17

0 – 1

<AddrInfo>

 

M

BP18

0 – 1

<DeliveryAddrInfo>

 

M

IT01

0 – 99

<AirSeg> *See special information in Section 2

 

M

IT02

0 – 99

<AirSegOpAirV> *See special information in Section 2

 

M

IT16

0 – 99

<AirSegDetail> *See special information in Section 2

 

M

IT13

0 – 99

<ARNK> *See special information in Section 2

 

M

IT03

0 – 99

<HtlSeg> *See special information in Section 2

 

M

IT04

0 – 99

HtlSegOptFlds> *See special information in Section 2

 

M

IT05

0 – 99

<CarSeg> *See special information in Section 2

 

M

IT06

0 – 99

<CarSegOptFlds>*See special information in Section 2

 

M

IT07

0 – 99

<NonAirSeg> *See special information in Section 2

 

M

IT08

0 – 99

<OpenAirSeg>

 

M

IT09

0 – 99

<DuePaidInfo> *See special information in Section 2 (Galileo core only)

 

M

IT10

0 – 99

<FlygTaxiSeg> *See special information in Section 2 (Galileo core only)

 

M

IT11

0 – 99

<TourSeg> *See special information in Section 2

 

M

IT12

0 – 99

<CruiseSeg> *See special information in Section 2

 

N

IT14

0 – 99

<TrainSeg> *See special information in Section 2

 

O

DPR1

0 – 99

<ItinRmk>

 

P

DPR1

0 – 99

<ItinRmk>

 

P

ST01

0 – 99

<SeatSeg> *See special information in Section 2

 

Q

ST02

0 – 9801

<SeatAssignment> *See special information in Section 2 (The max number is really unrealistic, but that would be that max with 99 segments, 99 passengers per segment)

 

R

BP19

0 – 255

<OSI>

 

R

BP20

0 – 255

<NonProgramaticSSR> *See special information in Section 2

 

R

BP21

0 – 255

<ProgrammaticSSR> *See special information in Section 2

 

S

BP22

0 – 255

<ProgrammaticSSRText>*See special information in Section 2

 

T

BP23

0 – 1

<CustID>

 

U

BP24

0 – 1

<ProfileClientFileAssoc>

 

V

BP25

0 – 3

<CustomCheckRules>

 

W

BP26

0 – 255

<GenRmkInfo>

 

X

BP27

0 – 99

<VndRecLocs> (Galileo core only)

 

Y

BP28

0 – 99

<VndRmk> (Galileo core only)

 

Z

DPIR

0 – 99

<InvoiceRmk> (such as Canned Remarks)

 

AA

BP29

0 – 99

<QMinder>

 

BB

DPIR

0 – 99

<InvoiceRmk>

 

CC

BP30

0 – 1

<Untranslatable>

 

EE

BP37

0 – 99

<NameRelatedData>

 

FF

BP40

0 – 99

<Email>

 

GG

BP41

0 – 1

<CorporateID>

 

HH

BP42

0 – 1

<DividedBookingInfo>

 

II

BP45

0 – 99

<AdditionalID>

 

JJ

BP46

0 – 99

<FreqCustInfoEx>

 

KK

LCFS

0 – 99

<FeatureOptionSelected>

 

LL

LCM6

1 – 3

<CreditCardPayment>

 

MM

LCM7

1 – 3

<OtherFormOfPayment>

 

NN

LCPC

1 – 90

<CruiseItin>

 

OO

LCTR

0 – 30

<TransportationDetail>

 

PP

TEXT

0 – 99

<Text>

 

Related Samples

PNRBFManagement_30_s10

PNRBFManagement_30_s36

PNRBFManagement_30_s103