我正在使用c# .net实现c#。
在处理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>发布于 2017-03-01 17:21:40
我已经联系了Amadeus技术支持部门,下面是解决方案
除了检查referenceForTstData之外,还需要检查tstData下的fareBasisInfo元素。它包含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>发布于 2017-02-16 14:35:30
婴儿指的是2岁以下的儿童,PNR可以有两种类型的婴儿:在飞行期间坐在成人乘客大腿上的lap婴儿(带有乘客型Code=INF),以及有自己座位的婴儿。
这里你看到的是一个INF型婴儿,他与父母同席。因为他们没有自己的座位,在记录上他们不是真正的乘客,他们只是成人乘客的延伸。他们也没有自己的旅行身份证,你需要为婴儿提供的任何服务都需要与父母的旅行身份证相关联。
如果使用沙箱旅行记录API检索记录,您可以更清楚地看到这一点。
https://stackoverflow.com/questions/42271653
复制相似问题