Task: Divide Booking - Stored Fare - Extended

This task document provides the complete overview of the Divide functionality with the PNRBFManagement transaction. The PNRBFDivide transaction allows you to divide or split a single booking into two different bookings. Previously, this functionality was available only through terminal emulation transactions. The Dividing bookings functionality is a method for users to manage their bookings with fewer keystrokes than using terminal emulation, and allows you to handle unique booking situations.

Section 1: Short Answer

Transaction Name:

PNRBFDivide_5

Can this task be performed in a sessionless environment?

No. Dividing a PNR/BF is a multi-step process that requires data from all entries to remain available throughout entire process.

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

No. See step 2. Dividing the PNR/BF using PNRBFDivide_5 in Section 2.

List any industry-specific knowledge required to understand this task in terms of the specific business process.

The user must understand the multi-step Divide process and the implications of dividing a PNR/BF.

Some data items are split between the original PNR/BF and the newly created PNR/BF.  Not all PNR/BF data remains in the original booking, and not all booking fields are moved to the newly created booking.

Special limits or distinct restrictions to the input data that may not be readily apparent.

There are two types of input:

Dividing group name data can be combined with dividing the passenger name because there are elements for each type of data. PNR/BFs that do not contain group name data cannot use group name elements (Galileo CRS only).

Section 2: Detailed Description

Request

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

The entire Divide process contains multiple steps, which uses multiple transactions: PNRBFManagement (or related transactions), DocProdFareRequote, and PNRBFDivide_5.

  1. Retrieving the PNR/BF.
  2. Dividing the PNR/BF.
  3. Verify the fare for the child PNR/BF.
  4. Filing the PNR/BF.
  5. Verify the fare for the parent PNR/BF.
  6. End transacting for both records

The transaction can be ignored at any point up to the final end transact (ET).

1. Retrieving the PNR/BF Using PNRBFManagement

Request

Retrieve the PNR/BF using <PNRBFRetrieveMods>.

Response

The <PNRBFRetrieve> response returns a single PNR/BF. If the response is a similar names list, a PNR/BF must be selected from this list and subsequently displayed.

Notes

2. Dividing the PNR/BF using PNRBFDivide_5

Request

Submit a Divide request using <BookingDivideMods> with the <Divide> child element.

The Divide action divides or splits specific passengers from the original PNR/BF into a new PNR/BF. This new PNR/BF contains passenger-specific items, as well as shared data items that relate to all passengers, such as inventory and SSRs.

Three types of Divide actions can be made this request:

A user can divide named passengers on Apollo CRS using the DN code but cannot divide passengers from a group booking. On Galileo CRS, a user can divide passengers from a group or non-group booking using DG or DP codes respectively.

Response

A <PNRBFRetrieve> (2025) response returns the new PNR/BF via the PNRBFManagement transaction, with the names and the PNR/BF data that was split out from the original PNR/BF. You must use PNRBFManagement to redisplay the new child PNR/BF

Notes:

3. Verify the fare for the Child PNR/BF Using DocProdFareRequote

Request

Verify the fare by submitting <DocProdFareRequoteMods> (4028 Data Record).

Response

A <DocProdFareRequote>  response returns the <FareNumInfo> and a <DPOK> to verify the divided child fare.

4. Filing the PNR/BF Using PNRBFManagement

Request

File the newly created PNR/BF by including:

Response

A <PNRBFRetrieve> response returns the original PNR/BF, minus the divided names and name-specific elements, which now reside in the newly created PNR/BF.

Notes

5. Verify the fare for the Parent PNR/BF Using DocProdFareRequote

Request

Verify the fare by submitting <DocProdFareRequoteMods> (4028 Data Record).

Response

A <DocProdFareRequote>  response returns the <FareNumInfo> and a <DPOK> to verify the divided Parent fare.

6. End Transacting Using PNRBFManagement

Request

An <EndTransactRequest> request to end transact modifications to both records. This request is a regular End Transact with an "E" action and a value in the <ReceivedBy> element.

An End Transact is required to complete the Divide process by finalizing:

Response

A successful response depends on the End Transact action input in the <EndTransactRequest> / <ReceivedBy> value.

Prerequisite tasks:

See the tables in Section 3 for possible input requests. A current, unchanged PNR/BF must be retrieved before submitting the Divide request using <BookingDivide>.

Expected response:

See the tables in Section 3 for possible output responses. A <PNRBFRetrieve> (2025) response returns the new PNR/BF via the PNRBFManagement transaction, with the names and the PNR/BF data that was split out from the original PNR/BF. You must use PNRBFManagement to redisplay the new child PNR/BF.

Notes:

Error and warning responses:

See the tables in Section 3 for possible error responses.  The expected error response will be found in <ErrText> in the <BookingDivide> element.

Follow-on requests:

After Step 6, there are no follow-on requests.

Section 3: Tables

Request (Input) Tags

Of important note: of the following four inputs to retrieve a BF or PNR, all must result in a single PNR or BF display.  A similar names list would require a subsequent display request resulting in a single PNR or BF display.

STEP 1: PNRBFManagement

Retrieve Booking by Passenger Name

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo: **-TEST

Galileo: **-TEST

 

 

Ordering

KLR

Min/Max

XML Tag

 

A

BP04

1 – 1

<CustNameInfo>

 

B

BP06

0 – 1

<RequiredData>

 

Retrieve Booking by Record Locator

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo: *RecLoc

Galileo:*RecLoc

 

 

Ordering

KLR

Min/Max

XML Tag

 

A

BP02

1 – 1

<PNRAddr>

 

B

BP06

0 – 1

<RequiredData>

 

Retrieve Booking by Branch and Name

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo: **B-TEST

Galileo: **B-TEST

 

 

Ordering

KLR

Min/Max

XML Tag

 

A

BP01

1 – 1

<TargetCRSInfo>

 

B

BP04

1 – 1

<CustNameInfo>

 

C

BP06

0 – 1

<RequiredData>

 

Retrieve Booking by Affiliate and Name

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo: **-A-AFF-JONES

Galileo: **-A-AFF-JONES

 

 

Ordering

KLR

Min/Max

XML Tag

 

A

BP01

1 – 1

<TargetCRSInfo>

 

B

BP04

1 – 1

<CustNameInfo>

 

C

BP06

0 – 1

<RequiredData>

In the above, AFF would be the actual Affiliate Name.

 

Retrieve Booking by Flight Date and Name

<PNRBFRetrieveMods>

Terminal Equivalents:

Apollo:

Galileo:

 

 

Ordering

KLR

Min/Max

XML Tag

 

A

BP03

1 – 1

<PNRAirIndex>

 

B

BP04

1 – 1

<CustNameInfo>

 

Step 2: PNRBFDivide_5

Divide the retrieved booking

<BookingDivideMods>

Terminal Equivalents:

Apollo: DN# where # is passenger nbr.

Galileo: DP# and DG% where # is passenger number and % is number of unnamed passengers.

Ordering

KLR

Min/Max

XML Tag

A

DVI1

1 – 1

<Divide>

 

Step 3: DocProdFareRequote

Verify the fare for the divided Child booking

<DocProdFareRequoteMods>

Terminal Equivalents:

Apollo T:V

Galileo:

Ordering

KLR

Min/Max

XML Tag

 

Step 4: PNRBFManagement

File the fare of the divided booking

<EndTransactionMods>

Terminal Equivalents:

Apollo _F

Galileo R.P, F, ET

Ordering

KLR

Min/Max

XML Tag

A

ETI1

1-1

<EndTransactRequest>

 

Step 5: DocProdFareRequote

Verify the fare for the divided Parent booking

<DocProdFareRequoteMods>

Terminal Equivalents:

Apollo T:V

Galileo:

Ordering

KLR

Min/Max

XML Tag

 

Step 6: PNRBFManagement

Create the new divide booking and finalize the original booking without the divided passengers present.
The response will redisplay the parent locator.

<EndTransactionMods>

Terminal Equivalents:

Apollo F, _E

Galileo  R.P, ET

Ordering

KLR

Min/Max

XML Tag

A

ETI1

1-1

<EndTransactRequest>

B

ETI2

1-10

<GlobalAccessInfo>

C

ETI3

1-10

<EmailAddressSelection>

 

Response (Output) Tags

PNRBFManagement

<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>

 

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>

 

PNRBFDivide_5

<BookingDivide>

Terminal Equivalents:

Apollo: Divide error messages

Galileo: Divide error messages

Ordering

KLR

Min/Max

XML Tag

A

EROR

1 – 1

<ErrText>

 

DocProdFareRequote

<BookingDivide>

Terminal Equivalents:

Apollo: Divide error messages

Galileo: Divide error messages

Ordering

KLR

Min/Max

XML Tag

A DPFI 1 – 1 <FareNumInfo>

B

DPOK

1 – 1

<DPOK>

 

Related Samples

PNRBFDivide_5_s1

PNRBFDivide_5_s2

PNRBFDivide_5_s3

PNRBFDivide_5_s4

PNRBFDivide_5_s5

PNRBFDivide_5_s6

PNRBFDivide_5_s7

PNRBFDivide_5_s8

PNRBFDivide_5_s9