最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

.net - No availability - revalidate itinerary with branded fares in Sabre - Stack Overflow

programmeradmin2浏览0评论

I'm using Sabre BFM REST API to get flight details and then trying to revalidate it using this request code ( Rountrip Flight details added in request below ):

{
  "OTA_AirLowFareSearchRQ": {
     "Version": "4.1.0",
     "ResponseType": "OTA",
     "POS": {
        "Source": [
            {
                "PseudoCityCode": "xxxx",
                "RequestorID": {
                    "Type": "1",
                    "ID": "1",
                    "CompanyName": {
                        "Code": "TN",
                        "content": "TN"
                    }
                }
            }
        ]
    },
    "AvailableFlightsOnly": true,
    "OriginDestinationInformation": [
        {
            "RPH": "1",
             "DepartureDateTime": "2025-08-01T06:30:00",
            "OriginLocation": {
                "LocationCode": "YYZ"
            },
            "DestinationLocation": {
                "LocationCode": "PEK"
            },
            "TPA_Extensions": {
                "SegmentType": { 
                    "Code": "X"
                },
                "Flight": [
                    {
                        "Number": 181,
                       "DepartureDateTime": "2025-08-01T06:30:00",
                  "ArrivalDateTime": "2025-08-01T08:21:00",
                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YYZ"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YVR"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    },
                    {
                        "Number": 29,
                        "DepartureDateTime": "2025-08-01T12:20:00",
                  "ArrivalDateTime": "2025-08-02T16:10:00",

                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YVR"
                        },
                        "DestinationLocation": {
                            "LocationCode": "PEK"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    }
                  

                ]
            }
        },

        {
            "RPH": "2",
            "DepartureDateTime": "2025-08-15T18:05:00",
                                        
            "OriginLocation": {
                "LocationCode": "PEK"
            },
            "DestinationLocation": {
                "LocationCode": "YYZ"
            },
            "TPA_Extensions": {
                "SegmentType": {
                    "Code": "X"
                },
                "Flight": [
                    {
                        "Number": 30,
                        "DepartureDateTime": "2025-08-15T18:05:00",
                        "ArrivalDateTime": "2025-08-15T14:10:00",
                        
                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "PEK"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YVR"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    },
                    {
                        "Number": 186,
                        "DepartureDateTime": "2025-08-15T16:30:00",
                        "ArrivalDateTime": "2025-08-16T00:05:00",
                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YVR"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YYZ"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    }
                   
                ]
            }
        }
    ],
    "TravelPreferences": {
        "Baggage": {
            "RequestType": "A",
            "Description": true
        },
        
        "TPA_Extensions": {
           
    "DataSources": {
      "NDC": "Disable",
      "ATPCO": "Enable",
      "LCC": "Disable"
    },
    "PreferNDCSourceOnTie": {
      "Value": true
    }
        }
    },
    "TravelerInfoSummary": {
        "SeatsRequested": [
            2
        ],
        "AirTravelerAvail": [
            {
                "PassengerTypeQuantity": [
                    {
                        "Quantity": 1,
                        "Code": "ADT",
                        "TPA_Extensions": {
                            "VoluntaryChanges": {
                                "Match": "Info"
                            }
                        }
                    },
                    {
                        "Quantity": 1,
                        "Code": "C07",
                        "TPA_Extensions": {
                            "VoluntaryChanges": {
                                "Match": "Info"
                            }
                        }
                    }
                ]
            }
        ],
        "PriceRequestInformation": {
            "CurrencyCode": "CAD",
            "TPA_Extensions": {
                 "BrandedFareIndicators": {
                    "MultipleBrandedFares": true,
                    "ItinParityBrandlessLeg": false
                },
                 "PrivateFare": {
                            "Ind": true
                        },
                "Priority": {
                    "Price": {
                        "Priority": 2
                    },
                    "DirectFlights": {
                        "Priority": 1
                    },
                    "Time": {
                        "Priority": 3
                    },
                    "Vendor": {
                        "Priority": 4
                    }
                }
            }
        }
    },
    "TPA_Extensions": {
        "IntelliSellTransaction": {
            "RequestType": {
                "Name": "50ITINS"
            }
        }
    }
  }
}

I get back this response with "no availability" error. It's happening for every origin and destination:

{
    "groupedItineraryResponse": {
        "version": "6.7.2",
        "messages": [
            {
                "severity": "Info",
                "type": "SERVER",
                "code": "GCB15-ISELL-TN-00-2025-01-00-6514",
                "text": "27131"
            },  
            {
                "severity": "Info",
                "type": "WORKERTHREAD",
                "code": "TRANSACTIONID",
                "text": "6961607691376984146"
            },
            {
                "severity": "Info",
                "type": "DRE",
                "code": "RULEID",
                "text": "24113"
            },
            {
                "severity": "Info",
                "type": "DEFAULT",
                "code": "RULEID",
                "text": "24111"
            },
            {
                "severity": "Error",
                "type": "ERR",
                "code": "NAV",
                "text":"No Availability"
            }
        ],
        "statistics": { "itineraryCount": 0 }
    }
}

Below is Code as Requested I'm using to post Json Data given above -

string requestContent = data; //Json Request Data 
string strUrl = ";;
string authtoken="Auth token here";

 using (var httpClient = new System.Net.Http.HttpClient())
{
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
    reqSendTime = DateTime.Now.ToString();
    httpClient.DefaultRequestHeaders.Accept.Clear();
    httpClient.DefaultRequestHeaders.Add("Cache-control", "no-cache");
    httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
    httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + authtoken);
    System.Net.Http.HttpContent content = new System.Net.Http.StringContent(requestContent, System.Text.Encoding.UTF8, "application/json");
    RequestRespanceData = httpClient.PostAsync(strUrl, content).Result;
    
}

I'm using Sabre BFM REST API to get flight details and then trying to revalidate it using this request code ( Rountrip Flight details added in request below ):

{
  "OTA_AirLowFareSearchRQ": {
     "Version": "4.1.0",
     "ResponseType": "OTA",
     "POS": {
        "Source": [
            {
                "PseudoCityCode": "xxxx",
                "RequestorID": {
                    "Type": "1",
                    "ID": "1",
                    "CompanyName": {
                        "Code": "TN",
                        "content": "TN"
                    }
                }
            }
        ]
    },
    "AvailableFlightsOnly": true,
    "OriginDestinationInformation": [
        {
            "RPH": "1",
             "DepartureDateTime": "2025-08-01T06:30:00",
            "OriginLocation": {
                "LocationCode": "YYZ"
            },
            "DestinationLocation": {
                "LocationCode": "PEK"
            },
            "TPA_Extensions": {
                "SegmentType": { 
                    "Code": "X"
                },
                "Flight": [
                    {
                        "Number": 181,
                       "DepartureDateTime": "2025-08-01T06:30:00",
                  "ArrivalDateTime": "2025-08-01T08:21:00",
                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YYZ"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YVR"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    },
                    {
                        "Number": 29,
                        "DepartureDateTime": "2025-08-01T12:20:00",
                  "ArrivalDateTime": "2025-08-02T16:10:00",

                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YVR"
                        },
                        "DestinationLocation": {
                            "LocationCode": "PEK"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    }
                  

                ]
            }
        },

        {
            "RPH": "2",
            "DepartureDateTime": "2025-08-15T18:05:00",
                                        
            "OriginLocation": {
                "LocationCode": "PEK"
            },
            "DestinationLocation": {
                "LocationCode": "YYZ"
            },
            "TPA_Extensions": {
                "SegmentType": {
                    "Code": "X"
                },
                "Flight": [
                    {
                        "Number": 30,
                        "DepartureDateTime": "2025-08-15T18:05:00",
                        "ArrivalDateTime": "2025-08-15T14:10:00",
                        
                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "PEK"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YVR"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    },
                    {
                        "Number": 186,
                        "DepartureDateTime": "2025-08-15T16:30:00",
                        "ArrivalDateTime": "2025-08-16T00:05:00",
                        "Type": "A",
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YVR"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YYZ"
                        },
                        "Airline": {
                            "Operating": "AC",
                            "Marketing": "AC"
                        }
                    }
                   
                ]
            }
        }
    ],
    "TravelPreferences": {
        "Baggage": {
            "RequestType": "A",
            "Description": true
        },
        
        "TPA_Extensions": {
           
    "DataSources": {
      "NDC": "Disable",
      "ATPCO": "Enable",
      "LCC": "Disable"
    },
    "PreferNDCSourceOnTie": {
      "Value": true
    }
        }
    },
    "TravelerInfoSummary": {
        "SeatsRequested": [
            2
        ],
        "AirTravelerAvail": [
            {
                "PassengerTypeQuantity": [
                    {
                        "Quantity": 1,
                        "Code": "ADT",
                        "TPA_Extensions": {
                            "VoluntaryChanges": {
                                "Match": "Info"
                            }
                        }
                    },
                    {
                        "Quantity": 1,
                        "Code": "C07",
                        "TPA_Extensions": {
                            "VoluntaryChanges": {
                                "Match": "Info"
                            }
                        }
                    }
                ]
            }
        ],
        "PriceRequestInformation": {
            "CurrencyCode": "CAD",
            "TPA_Extensions": {
                 "BrandedFareIndicators": {
                    "MultipleBrandedFares": true,
                    "ItinParityBrandlessLeg": false
                },
                 "PrivateFare": {
                            "Ind": true
                        },
                "Priority": {
                    "Price": {
                        "Priority": 2
                    },
                    "DirectFlights": {
                        "Priority": 1
                    },
                    "Time": {
                        "Priority": 3
                    },
                    "Vendor": {
                        "Priority": 4
                    }
                }
            }
        }
    },
    "TPA_Extensions": {
        "IntelliSellTransaction": {
            "RequestType": {
                "Name": "50ITINS"
            }
        }
    }
  }
}

I get back this response with "no availability" error. It's happening for every origin and destination:

{
    "groupedItineraryResponse": {
        "version": "6.7.2",
        "messages": [
            {
                "severity": "Info",
                "type": "SERVER",
                "code": "GCB15-ISELL-TN-00-2025-01-00-6514",
                "text": "27131"
            },  
            {
                "severity": "Info",
                "type": "WORKERTHREAD",
                "code": "TRANSACTIONID",
                "text": "6961607691376984146"
            },
            {
                "severity": "Info",
                "type": "DRE",
                "code": "RULEID",
                "text": "24113"
            },
            {
                "severity": "Info",
                "type": "DEFAULT",
                "code": "RULEID",
                "text": "24111"
            },
            {
                "severity": "Error",
                "type": "ERR",
                "code": "NAV",
                "text":"No Availability"
            }
        ],
        "statistics": { "itineraryCount": 0 }
    }
}

Below is Code as Requested I'm using to post Json Data given above -

string requestContent = data; //Json Request Data 
string strUrl = "https://api.platform.sabre.com/v5/shop/flights/revalidate";
string authtoken="Auth token here";

 using (var httpClient = new System.Net.Http.HttpClient())
{
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
    reqSendTime = DateTime.Now.ToString();
    httpClient.DefaultRequestHeaders.Accept.Clear();
    httpClient.DefaultRequestHeaders.Add("Cache-control", "no-cache");
    httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
    httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + authtoken);
    System.Net.Http.HttpContent content = new System.Net.Http.StringContent(requestContent, System.Text.Encoding.UTF8, "application/json");
    RequestRespanceData = httpClient.PostAsync(strUrl, content).Result;
    
}
Share Improve this question edited 12 hours ago Heemanshu Bhalla asked Feb 7 at 19:40 Heemanshu BhallaHeemanshu Bhalla 3,7631 gold badge30 silver badges56 bronze badges 3
  • where is the code? – Jeremy Fiel Commented Feb 8 at 4:23
  • i will post code i am justing posting json to the end point – Heemanshu Bhalla Commented yesterday
  • I have posted code that i am using to post Json Code its simple json post – Heemanshu Bhalla Commented yesterday
Add a comment  | 

1 Answer 1

Reset to default 0

The revalidation for the selected flights is as follows.

The response is too long to fit here, but this request will return successfully.

CERT Endpoint: https://api.cert.platform.sabre.com/v5/shop/flights/revalidate

Request:

{
"OTA_AirLowFareSearchRQ": {
    "Version": "5",
    "POS": {
        "Source": [
            {
                "PseudoCityCode": "{{pcc}}",
                "RequestorID": {
                    "Type": "1",
                    "ID": "1",
                    "CompanyName": {
                        "Code": "TN",
                        "content": "TN"
                    }
                }
            }
        ]
    },
    "OriginDestinationInformation": [
        {
            "RPH": "1",
            "DepartureDateTime": "2025-08-01T11:00:00",
            "OriginLocation": {
                "LocationCode": "YYZ"
            },
            "DestinationLocation": {
                "LocationCode": "PEK"
            },
            "TPA_Extensions": {
                "Flight": [
                    {
                        "Airline": {
                            "Marketing": "AC",
                            "Operating": "AC"
                        },
                        "Number": 181,
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YYZ"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YVR"
                        },
                        "DepartureDateTime": "2025-08-01T06:30:00",
                        "ArrivalDateTime": "2025-08-01T08:21:00",
                        "Type": "A"
                    },
                    {
                        "Airline": {
                            "Marketing": "AC",
                            "Operating": "AC"
                        },
                        "Number": 29,
                        "ClassOfService": "L",
                        "OriginLocation": {
                            "LocationCode": "YVR"
                        },
                        "DestinationLocation": {
                            "LocationCode": "PEK"
                        },
                        "DepartureDateTime": "2025-08-01T12:20:00",
                        "ArrivalDateTime": "2025-08-02T16:10:00",
                        "Type": "A"
                    }
                ]
            }
        },
        {
            "RPH": "2",
            "DepartureDateTime": "2025-08-15T11:00:00",
            "OriginLocation": {
                "LocationCode": "PEK"
            },
            "DestinationLocation": {
                "LocationCode": "YYZ"
            },
            "TPA_Extensions": {
                "Flight": [
                    {
                        "Airline": {
                            "Marketing": "AC",
                            "Operating": "AC"
                        },
                        "Number": 30,
                        "ClassOfService": "Y",
                        "OriginLocation": {
                            "LocationCode": "PEK"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YVR"
                        },
                        "DepartureDateTime": "2025-08-15T18:05:00",
                        "ArrivalDateTime": "2025-08-15T14:10:00",
                        "Type": "A"
                    },
                    {
                        "Airline": {
                            "Marketing": "AC",
                            "Operating": "AC"
                        },
                        "Number": 186,
                        "ClassOfService": "Y",
                        "OriginLocation": {
                            "LocationCode": "YVR"
                        },
                        "DestinationLocation": {
                            "LocationCode": "YYZ"
                        },
                        "DepartureDateTime": "2025-08-15T16:30:00",
                        "ArrivalDateTime": "2025-08-16T00:05:00",
                        "Type": "A"
                    }
                ]
            }
        }
    ],
    "TravelPreferences": {
        "TPA_Extensions": {
            "VerificationItinCallLogic": {
                "Value": "M",
                "AlwaysCheckAvailability": true
            }
        },
        "Baggage": {
            "RequestType": "A",
            "Description": true
        }
    },
    "TravelerInfoSummary": {
        "SeatsRequested": [
            1
        ],
        "AirTravelerAvail": [
            {
                "PassengerTypeQuantity": [
                    {
                        "Quantity": 1,
                        "Code": "ADT",
                        "TPA_Extensions": {
                            "VoluntaryChanges": {
                                "Match": "Info"
                            }
                        }
                    }
                ]
            }
        ]
    },
    "TPA_Extensions": {
        "IntelliSellTransaction": {
            "RequestType": {
                "Name": "REVALIDATE"
            },
            "ServiceTag": {
                "Name": "REVALIDATE"
            }
        }
    }
}

}

发布评论

评论列表(0)

  1. 暂无评论