Amadeus PNR Retrieve
Я реализую Amadeus PNR Retrieve
используя C# .net.
При обработке ответа PNR пытается отобразить данные о пассажирах в нашей внутренней системе. Я использовал travellerInfo.elementManagementPassenger.reference.number
как связь между пассажиром Amadeus и внутренней системой регистрации пассажиров.
Ниже приведен случай, когда в нем содержится младенец вместе с двумя взрослыми. Здесь запись о младенце идет вместе с одним взрослым и не содержит отдельной ссылки на младенца. У кого-нибудь есть идея идентифицировать всех пассажиров однозначно?
<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>
Информация о стоимости
<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>
2 ответа
Я связался с техподдержкой Amadeus и ниже решение
В дополнение к проверке referenceForTstData
нужно проверить fareBasisInfo
элемент под tstData
, Это содержит ticketDesignator
который будет CH для ребенка и INF для младенца
<fareBasisInfo>
<fareElement>
<primaryCode>xxx</primaryCode>
<notValidBefore>xxx</notValidBefore>
<notValidAfter>xxx</notValidAfter>
<baggageAllowance>1PC</baggageAllowance>
<fareBasis>2KU</fareBasis>
<ticketDesignator>CH</ticketDesignator>
</fareElement>
</fareBasisInfo>
Младенцы относятся к детям в возрасте до 2 лет, а PNR могут иметь 2 типа младенцев: младенцев на коленях (с кодом типа пассажира =INF), которые сидят на коленях у взрослого пассажира в течение всего полета, и младенцев с их собственными детьми. место (INS).
Здесь вы видите младенца типа INF, который разделяет место своего родителя. Поскольку у них нет своего собственного места, они не являются настоящим пассажиром в записи, они просто являются продолжением взрослого пассажира. У них также нет собственного удостоверения личности путешественника. Любые услуги, в которых вы нуждаетесь для младенца, должны будут вместо этого быть привязаны к идентификационной карточке родителя.
Вы можете увидеть это гораздо яснее, если получите запись с помощью API Sandbox Travel Record.