Reputation: 14470
I am implementing Amadeus PNR Retrieve
using c# .net.
When processing the PNR reply, trying to map passenger data to our internal system. I was using travellerInfo.elementManagementPassenger.reference.number
as the link between Amadeus passenger and internal system passenger record.
Below the case where it contains an infant along with two adult. Here infant record comes along with one of the adult and doesn't contain separate reference for the infant. Is anyone have idea about identifying all passengers uniquely?
<travellerInfo>
<elementManagementPassenger>
<reference>
<qualifier>PT</qualifier>
<number>2</number>
</reference>
<segmentName>NM</segmentName>
<lineNumber>1</lineNumber>
</elementManagementPassenger>
<enhancedPassengerData>
<enhancedTravellerInformation>
<travellerNameInfo>
<quantity>1</quantity>
<infantIndicator>1</infantIndicator>
</travellerNameInfo>
<otherPaxNamesDetails>
<nameType>UN</nameType>
<referenceName>Y</referenceName>
<displayedName>Y</displayedName>
<surname>TESTER</surname>
<givenName>TEST MR</givenName>
</otherPaxNamesDetails>
</enhancedTravellerInformation>
</enhancedPassengerData>
<enhancedPassengerData>
<enhancedTravellerInformation>
<travellerNameInfo>
<quantity>1</quantity>
<type>INF</type>
</travellerNameInfo>
<otherPaxNamesDetails>
<nameType>UN</nameType>
<referenceName>Y</referenceName>
<displayedName>Y</displayedName>
<surname>TESTER</surname>
<givenName>TEST1 MSTR</givenName>
</otherPaxNamesDetails>
</enhancedTravellerInformation>
</enhancedPassengerData>
</travellerInfo>
<travellerInfo>
<elementManagementPassenger>
<reference>
<qualifier>PT</qualifier>
<number>1</number>
</reference>
<segmentName>NM</segmentName>
<lineNumber>2</lineNumber>
</elementManagementPassenger>
<enhancedPassengerData>
<enhancedTravellerInformation>
<travellerNameInfo>
<quantity>1</quantity>
</travellerNameInfo>
<otherPaxNamesDetails>
<nameType>UN</nameType>
<referenceName>Y</referenceName>
<displayedName>Y</displayedName>
<surname>TESTER</surname>
<givenName>TEST3 MRS</givenName>
</otherPaxNamesDetails>
</enhancedTravellerInformation>
</enhancedPassengerData>
</travellerInfo>
Cost Information
<referenceForTstData>
<reference>
<qualifier>PT</qualifier>
<number>1</number>
</reference>
<reference>
<qualifier>ST</qualifier>
<number>1</number>
</reference>
<reference>
<qualifier>ST</qualifier>
<number>2</number>
</reference>
</referenceForTstData>
Upvotes: 1
Views: 2459
Reputation: 14470
I have contacted the Amadeus tech support and below is solution
In addition to checking the referenceForTstData
, needs to check the fareBasisInfo
element under tstData
. It contains ticketDesignator
which will be CH for child and INF for infant
<fareBasisInfo>
<fareElement>
<primaryCode>xxx</primaryCode>
<notValidBefore>xxx</notValidBefore>
<notValidAfter>xxx</notValidAfter>
<baggageAllowance>1PC</baggageAllowance>
<fareBasis>2KU</fareBasis>
<ticketDesignator>CH</ticketDesignator>
</fareElement>
</fareBasisInfo>
Upvotes: 0
Reputation: 590
Infants refer to children under the age of 2, and PNRs can have 2 types of infants: lap infants (with Passenger Type Code=INF) who sit on the lap of an adult passenger for the duration of the flight, and infants with their own seat (INS).
Here you're seeing an INF type infant who shares the seat of their parent. Because they don't have their own seat, they are not a true passenger in the record, they are simply an extension of the adult passenger. They also don't have their own traveler ID. Any services you need for the infant will need to be associated to the parent's traveler ID instead.
You can see this much more clearly if you retrieve the record using the Sandbox Travel Record API.
Upvotes: 2