鄭兵+胡南
摘 要:FlightShopping是由中國(guó)民航信息集團(tuán)公司(簡(jiǎn)稱:中航信)最新推出的國(guó)內(nèi)機(jī)票查詢接口。該文主要工作是完成通過手機(jī)端及時(shí)對(duì)國(guó)內(nèi)機(jī)票查詢的研究。其中的關(guān)鍵信息是查詢私有運(yùn)價(jià)(低價(jià))機(jī)票,通過特定方法和程序,可查詢出代理人的一些特殊價(jià)位的機(jī)票,而查詢的結(jié)果通過JSON數(shù)據(jù)返回,供其他程序解析使用。
關(guān)鍵詞:FlightShopping 查詢 機(jī)票
中圖分類號(hào):TP181 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)02(c)-0120-02
1 研究意義
隨著國(guó)民經(jīng)濟(jì)的提升,近年來,乘坐飛機(jī)出行的人越來越多,2016年國(guó)慶期間,??诿捞m國(guó)際機(jī)場(chǎng)執(zhí)飛航班2 503架次,同比增長(zhǎng)19.22%,其中計(jì)劃進(jìn)港航班1 248架次,計(jì)劃出港航班1 255架次,同比分別增長(zhǎng)18.51%和15.94%。而北京首都國(guó)際機(jī)場(chǎng)(首都機(jī)場(chǎng))2016年9月28日至10月10日期間,進(jìn)出港航班21 788架次,日均1 676架次,較2015年同期增長(zhǎng)2.83%。運(yùn)送旅客338.24萬人次,日均26.02萬人次,較2015年同期增長(zhǎng)4.49%??蛻粝M幸粋€(gè)安全可靠、服務(wù)到位的機(jī)票訂坐平臺(tái)。而國(guó)內(nèi)目前的一些平出現(xiàn)出票不及時(shí)、出假票、出高價(jià)票等問題逐漸凸顯出來。
中航信的主營(yíng)業(yè)務(wù)是面向航空公司、機(jī)場(chǎng)、機(jī)票銷售代理、旅游企業(yè)及民航相關(guān)機(jī)構(gòu)和國(guó)際組織,全方位提供航空客運(yùn)業(yè)務(wù)處理、航空旅游電子分銷、機(jī)場(chǎng)旅客處理、航空貨運(yùn)數(shù)據(jù)處理、互聯(lián)網(wǎng)旅游平臺(tái)、國(guó)際國(guó)內(nèi)客貨運(yùn)收入管理系統(tǒng)應(yīng)用和代理結(jié)算清算等服務(wù),目前國(guó)內(nèi)所有航公司的數(shù)據(jù)都要經(jīng)過中航信。
查詢到的機(jī)票時(shí)時(shí)與中航信對(duì)接,保證數(shù)據(jù)的可靠與準(zhǔn)確,重點(diǎn)在于提供便捷、可靠、準(zhǔn)確而完善的交易過程,而難點(diǎn)則在于系統(tǒng)并放性與安全性的控制和實(shí)現(xiàn)。
2 FlightShopping接口的相關(guān)設(shè)置
FlightShopping接口是由中航信提供并開通其功能,該文采用的是C#版接口,所以在web.config文件中的
同時(shí),中航信還提供封裝好的動(dòng)態(tài)文件庫IBEClient.dll,需要在整個(gè)項(xiàng)目中添加引用,方可以使用后面的類和方法。
3 具體操作過程
總體流程:FlightShopping對(duì)象—>設(shè)置IBE配置—>設(shè)置HeaderIn—>設(shè)置OD—>設(shè)置TravelPreferences—>設(shè)置Option—>Output對(duì)象—>調(diào)用doFlightShopping方法。
3.1 FlightShopping對(duì)象
初使化對(duì)象,使用方法如下:
FlightShopping fltshopping = new FlightShopping();
FareInterface service = new FareInterface();
Input input = new Input();
3.2 設(shè)置IBE配置信息
由于在web.config文件中已經(jīng)配置,所以此步無需要配置。
3.3 設(shè)置HeaderIn
在第一步設(shè)置的Input類中的SetHeaderInType方法是專門用來設(shè)置HeaderIn,此方法的定義如下:
public void SetHeaderInType(HeaderInType headerInType_0);
根據(jù)此方法需要傳輸?shù)膮?shù),需要自定義一個(gè)HeaderInType的類型。在HeaderInType類型中,需要說明的有用戶類型(sysCode)參數(shù),根據(jù)情況設(shè)置成CRS(代理人)或者ICS(航空公司用戶),銷售渠道(SetChannelID)參數(shù)設(shè)置成”1E“或”CAET“。
3.4 設(shè)置OD
設(shè)置查詢航段和日期(originDestinationInfo),由于此類封裝是在請(qǐng)求類(Request)中,所以需要先初使化請(qǐng)求類,Request request = new Request(),由于originDestinationInfo是一個(gè)多參數(shù)的類,需要先將相關(guān)內(nèi)容放置在動(dòng)態(tài)數(shù)組ArrayList中,然后再在Request類設(shè)置,方法如下:
FlightShopRequestType flightShopRequestType = new FlightShopRequestType();
ArrayList originDestinationInfo = new ArrayList();
originDestinationInfo.Add(getOriginDestinationInfoType());
flightShopRequestType.SetOriginDestinationInfo(originDestinationInfo);
在getOriginDestinationInfoType()方法設(shè)置出發(fā)城市、目的城市、出發(fā)日期,需要說明的是出發(fā)和目的城市需要置機(jī)場(chǎng)三字碼(國(guó)際通用),起飛日期需要設(shè)置DDMMMYY格式。
3.5 設(shè)置TravelPreferences
在TravelPreferences中,需要設(shè)置的參數(shù)有飛行價(jià)格的相關(guān)參數(shù)等,如貨幣、直達(dá)、查詢價(jià)格的人數(shù)、乘機(jī)人的類型(成人或者兒童),方法如下:
flightShopRequestType.SetTravelPreferencesType(getTravelPreferencesType());
3.6 設(shè)置Option
Option類是設(shè)置顯示相關(guān)屬性,包括價(jià)格是最低價(jià)、退改簽信息、數(shù)據(jù)格式信等,方法如下:
flightShopRequestType.SetOption(getOption());
3.7 信息鏈接
設(shè)置完上6個(gè)步驟后,需要將相關(guān)信息進(jìn)行連接,方法如下:
request.SetFlightShopRequestType(flightShopRequestType);
input.SetRequest(request);
service.SetInput(input);
3.8 輸出對(duì)象并根據(jù)返回結(jié)果顯示相關(guān)數(shù)
首先需要初使化輸出對(duì)象,Output outT = new Output(),利用Output對(duì)象的DoFlightShopping方法設(shè)置,第一步設(shè)置FareInterface,然后輸出字符串。
4 序列化輸出結(jié)果
由于Output輸出的結(jié)果是字符串,不方便使用,所以需要對(duì)輸出的結(jié)果進(jìn)行序列化。
4.1 價(jià)格序列化
根據(jù)Output輸出GetResult().GetFlightShopResult().GetPSn().GetPS()獲取到價(jià)格數(shù)據(jù)并保存在PricingSolutionType這個(gè)類中,需要說明的是這個(gè)結(jié)果會(huì)有多條,需要通過循環(huán)語句獲取。
4.2 其他數(shù)據(jù)序列化
定義一個(gè)數(shù)據(jù)集類,通過Output輸出GetResult().GetFlightShopResult().GetAvJourneys()的相對(duì)應(yīng)的結(jié)果并存在相對(duì)應(yīng)的數(shù)據(jù)集類當(dāng)中,然后再通過Newtonsoft.Json.dll這個(gè)類庫文件轉(zhuǎn)換成JSON數(shù)據(jù)輸出。
輸出結(jié)果如下:
[{"rPH":"010101","dt":"26AUG16","Carrier":"CZ","Airline":"6767","Orgcity":"HAK","Deptime":"0750","Dstcity":"CSX","Arritime":"0945","Planestyle":"320","Stopnumber":0,"DepTermAndArriTerm":null,"arrTermAndArriTerm":"T2","Meal":"C","tpm":1100,"listCabinPriceInfo":
[{"CabinNo":"J","CabinInfo":"4","Price":"2360.000000","disCurrCode":"CNY","AirportTax":"50.000000","FuelTax":"0","zValue":"-1.000000","DisCount":"全價(jià)","OI":"O"},
{"CabinNo":"C","CabinInfo":"4","Price":"1770.000000","disCurrCode":"CNY","AirportTax":"50.000000","FuelTax":"0","zValue":"-1.000000","DisCount":"7.5","OI":"O"},
{"CabinNo":"D","CabinInfo":"3","Price":"1240.000000","disCurrCode":"CNY","AirportTax":"50.000000","FuelTax":"0","zValue":"7.000000","DisCount":"5.3","OI":"O"}}]
參考文獻(xiàn)
[1] 王皘.面向Web加速的HTTP協(xié)議優(yōu)化機(jī)制的研究與設(shè)計(jì)[D].北京郵電大學(xué),2014.
[2] 端木海.分析旅游業(yè)電子商務(wù)商業(yè)模式——以攜程、去哪兒、途牛為例[J].旅游縱覽(下半月),2014(6):77-80.
[3] 王明宇,劉淑貞.中國(guó)領(lǐng)先的互聯(lián)網(wǎng)旅游搜索引擎企業(yè)——去哪兒網(wǎng)的商業(yè)模式分析[J].電子商務(wù),2013(12):20-21.
[4] 張翔.HTML5——移動(dòng)營(yíng)銷新利器[J].上海經(jīng)濟(jì),2015(11):37-38.
[5] 中航信.IBE客戶端FlightShopping接口使用手冊(cè)[Z].2013.