1

我正在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>
4

2 回答 2

2

婴儿是指 2 岁以下的儿童,PNR 可以有 2 类婴儿:在飞行期间坐在成人乘客腿上的膝上婴儿(乘客类型代码=INF)和自己的婴儿座位(INS)。

在这里,您会看到一个 INF 类型的婴儿,他们与父母共享座位。因为他们没有自己的座位,所以他们在记录中并不是真正的乘客,他们只是成年乘客的延伸。他们也没有自己的旅行者 ID。您需要为婴儿提供的任何服务都需要与父母的旅客 ID 相关联。

如果您使用Sandbox Travel Record API检索记录,您可以更清楚地看到这一点。

于 2017-02-16T14:35:30.090 回答
0

我已联系 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>
于 2017-03-01T17:21:40.540 回答