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