如何解决重新验证行程响应行程顺序正确,但显示返回类型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"
}
}
}
]
},"OriginDestinationInformation": [
{
"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"
}
}
}
]
}
],"PriceRequestInformation": {
"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
}
],"pricingInformation": [
...
]
}
]
}
]
}
}
让我发布上面显示的两个可用性的两个屏幕截图。
从ISB-AUH-AUH-XNB到XNB-AUH-AUH-ISB的可用性已反转
从ISB-LHR-LHR-DXB到DXB-LHR-LHR-ISB的可用性
任何帮助将不胜感激。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。