重新验证行程响应行程顺序正确,但显示返回类型JSON的无序段

问题描述

我正在使用Sabre JSON Api重新验证行程RQ。 (类型返回) 作为响应,我得到了诸如ScheduleDesc和LegDescs之类的所有信息。 我正在遍历LegDesc和LegDesc Ref内部。在LegDescs的Ref的帮助下,我正在纠正ScheduleDescs的正常工作顺序。但是在某些情况下,顺序相反。 例如,ISB-DXB的可用性会给我这个结果。

ISB-AUH-AUH-XNB
   (Return)
XNB-AUH-AUH-ISB

但是当我遍历LegDescs时,其顺序相反。例如这样的

XNB-AUH-AUH-ISB
   (Return)
ISB-AUH-AUH-XNB

现在,让我知道另一个可用性,它与使用相同的循环完全相同。

ISB-LHR-LHR-DXB
   (Return)
DXB-LHR-LHR-ISB

这些是Bargain Finder Max的ISB-DXB请求中的分段,它给了我响应,然后我将这些分段从Bargain Finder Max传递给Revalidate Itinerary RQ,然后在视图侧显示它。 问题是,为什么腿的顺序改变了?

让我也附上“重新验证行程请求和响应代码”以获取“首次可用性”。 我已经从回复删除了一些文本,因为它太长了。

请求

{
  "OTA_AirLowfareSearchRQ": {
    "ResponseType": "OTA","ResponseVersion": "6.1.0","SeparateMessages": true,"TruncateMessages": false,"Target": "Production","Version": "6.1.0","TravelPreferences": {
      "TPA_Extensions": {
        "VerificationItinCallLogic": {
          "Value": "L","AlwaysCheckAvailability": true
        }
      }
    },"POS": {
      "Source": [
        {
          "PseudoCityCode": "PCC","RequestorID": {
            "Type": "IATA","ID": "TN","CompanyName": {
              "Code": "TN"
            }
          }
        }
      ]
    },"OriginDestination@R_401_4045@ion": [
      {
        "RPH": "1","DepartureDateTime": "2020-09-16T00:00:01","OriginLocation": {
          "LocationCode": "ISB"
        },"DestinationLocation": {
          "LocationCode": "DXB"
        },"TPA_Extensions": {
          "Flight": [
            {
              "Number": 234,"DepartureDateTime": "2020-09-16T07:45:00","ArrivalDateTime": "2020-09-16T10:15:00","Type": "A","ClassOfService": "U","OriginLocation": {
                "LocationCode": "ISB"
              },"DestinationLocation": {
                "LocationCode": "AUH"
              },"Airline": {
                "Operating": "EY","Marketing": "EY"
              }
            },{
              "Number": 5420,"DepartureDateTime": "2020-09-16T15:30:00","ArrivalDateTime": "2020-09-16T17:10:00","OriginLocation": {
                "LocationCode": "AUH"
              },"DestinationLocation": {
                "LocationCode": "XNB"
              },"Marketing": "EY"
              }
            }
          ],"SegmentType": {
            "Code": "O"
          },"ClassOfService": [
            {
              "Code": "U","PreferLevel": "Preferred"
            },{
              "Code": "U","PreferLevel": "Preferred"
            }
          ]
        }
      },{
        "RPH": "2","DepartureDateTime": "2020-09-30T00:00:01","OriginLocation": {
          "LocationCode": "DXB"
        },"DestinationLocation": {
          "LocationCode": "ISB"
        },"TPA_Extensions": {
          "Flight": [
            {
              "Number": 5423,"DepartureDateTime": "2020-09-30T19:30:00","ArrivalDateTime": "2020-09-30T21:10:00","OriginLocation": {
                "LocationCode": "XNB"
              },{
              "Number": 233,"DepartureDateTime": "2020-10-01T02:00:00","ArrivalDateTime": "2020-10-01T06:10:00","DestinationLocation": {
                "LocationCode": "ISB"
              },"PreferLevel": "Preferred"
            }
          ]
        }
      }
    ],"TravelerInfoSummary": {
      "SeatsRequested": [
        1
      ],"AirTravelerAvail": [
        {
          "PassengerTypeQuantity": [
            {
              "Code": "ADT","Quantity": 1,"TPA_Extensions": {
                "VoluntaryChanges": {
                  "Match": "Info"
                }
              }
            },{
              "Code": "CNN",{
              "Code": "INF","TPA_Extensions": {
                "VoluntaryChanges": {
                  "Match": "Info"
                }
              }
            }
          ]
        }
      ],"PriceRequest@R_401_4045@ion": {
        "TPA_Extensions": {
          "Priority": {
            "Price": {
              "Priority": 1
            },"DirectFlights": {
              "Priority": 2
            },"Time": {
              "Priority": 3
            },"vendor": {
              "Priority": 4
            }
          }
        }
      }
    },"TPA_Extensions": {
      "IntelliSellTransaction": {
        "RequestType": {
          "Name": "REVALIDATE"
        },"ServiceTag": {
          "Name": "REVALIDATE"
        },"CompressResponse": {
          "Value": false
        }
      }
    }
  }
}

回复

{
  "groupedItineraryResponse": {
    "version": "6.1.0",...
    "statistics": {
      "itineraryCount": 1
    },"scheduleDescs": [
      {
        "id": 1,"frequency": "****T**","stopCount": 0,"eTicketable": true,"totalMilesFlown": 1277,"elapsedtime": 190,"departure": {
          "airport": "AUH","city": "AUH","country": "AE","time": "02:00:00+04:00","terminal": "3"
        },"arrival": {
          "airport": "ISB","city": "ISB","country": "PK","time": "06:10:00+05:00"
        },"carrier": {
          "marketing": "EY","marketingFlightNumber": 233,"operating": "EY","operatingFlightNumber": 233,"equipment": {
            "code": "321","typeForFirstLeg": "N","typeForLastLeg": "N"
          }
        }
      },{
        "id": 2,"frequency": "SMTWTFS","totalMilesFlown": 381,"elapsedtime": 100,"departure": {
          "airport": "XNB","city": "DXB","time": "19:30:00+04:00"
        },"arrival": {
          "airport": "AUH","time": "21:10:00+04:00","terminal": "1"
        },"marketingFlightNumber": 5423,"operatingFlightNumber": 5423,"equipment": {
            "code": "BUS",{
        "id": 3,"frequency": "S*TWT*S","elapsedtime": 210,"departure": {
          "airport": "ISB","time": "07:45:00+05:00"
        },"time": "10:15:00+04:00","marketingFlightNumber": 234,"operatingFlightNumber": 234,{
        "id": 4,"time": "15:30:00+04:00","arrival": {
          "airport": "XNB","time": "17:10:00+04:00"
        },"marketingFlightNumber": 5420,"operatingFlightNumber": 5420,"typeForLastLeg": "N"
          }
        }
      }
    ],"taxDescs": ...,"taxSummaryDescs": ...,"fareComponentDescs": ...,"baggageAllowanceDescs": ...,"legDescs": [
      {
        "id": 1,"elapsedtime": 580,"schedules": [
          {
            "ref": 2
          },{
            "ref": 1,"departureDateAdjustment": 1
          }
        ]
      },"elapsedtime": 625,"schedules": [
          {
            "ref": 3
          },{
            "ref": 4
          }
        ]
      }
    ],"itineraryGroups": [
      {
        "groupDescription": {
          "legDescriptions": [
            {
              "departureDate": "2020-09-16","departureLocation": "ISB","arrivalLocation": "XNB"
            },{
              "departureDate": "2020-09-30","departureLocation": "XNB","arrivalLocation": "ISB"
            }
          ]
        },"itineraries": [
          {
            "id": 1,"pricingSource": "WPNI1_ITIN","currentItinerary": true,"legs": [
              {
                "ref": 2
              },{
                "ref": 1
              }
            ],"pricing@R_401_4045@ion": [
              ...
            ]
          }
        ]
      }
    ]
  }
}

让我发布上面显示的两个可用性的两个屏幕截图。

从ISB-AUH-AUH-XNB到XNB-AUH-AUH-ISB的可用性已反转

enter image description here

从ISB-LHR-LHR-DXB到DXB-LHR-LHR-ISB的可用性

enter image description here

任何帮助将不胜感激。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)