Amadeus PNR 检索
Amadeus PNR Retrieve
我正在使用 c# .net 实现 Amadeus PNR Retrieve
。
在处理 PNR 回复时,尝试将乘客数据映射到我们的内部系统。我使用 travellerInfo.elementManagementPassenger.reference.number
作为 Amadeus 乘客和内部系统乘客记录之间的 link。
低于包含一名婴儿和两名成人的情况。这里的婴儿记录与其中一名成人一起出现,不包含婴儿的单独参考。有没有人知道唯一识别所有乘客的想法?
<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>
婴儿是指 children 岁以下的 2 岁婴儿,PNR 可以有 2 种类型的婴儿:膝上婴儿(乘客类型代码 =INF),在整个持续时间内坐在成人乘客的膝上航班,以及有自己座位 (INS) 的婴儿。
在这里你看到一个 INF 类型的婴儿和他们 parent 坐在一起。因为他们没有自己的座位,所以在记录中他们不是真正的乘客,他们只是成年乘客的延伸。他们也没有自己的旅行证件。您需要为婴儿提供的任何服务都需要与 parent 的旅客 ID 相关联。
如果您使用 Sandbox Travel Record API 检索记录,您可以更清楚地看到这一点。
我已经联系了 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>
我正在使用 c# .net 实现 Amadeus PNR Retrieve
。
在处理 PNR 回复时,尝试将乘客数据映射到我们的内部系统。我使用 travellerInfo.elementManagementPassenger.reference.number
作为 Amadeus 乘客和内部系统乘客记录之间的 link。
低于包含一名婴儿和两名成人的情况。这里的婴儿记录与其中一名成人一起出现,不包含婴儿的单独参考。有没有人知道唯一识别所有乘客的想法?
<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>
婴儿是指 children 岁以下的 2 岁婴儿,PNR 可以有 2 种类型的婴儿:膝上婴儿(乘客类型代码 =INF),在整个持续时间内坐在成人乘客的膝上航班,以及有自己座位 (INS) 的婴儿。
在这里你看到一个 INF 类型的婴儿和他们 parent 坐在一起。因为他们没有自己的座位,所以在记录中他们不是真正的乘客,他们只是成年乘客的延伸。他们也没有自己的旅行证件。您需要为婴儿提供的任何服务都需要与 parent 的旅客 ID 相关联。
如果您使用 Sandbox Travel Record API 检索记录,您可以更清楚地看到这一点。
我已经联系了 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>