IBE用户手册文稿(9.22)_第1页
IBE用户手册文稿(9.22)_第2页
IBE用户手册文稿(9.22)_第3页
IBE用户手册文稿(9.22)_第4页
IBE用户手册文稿(9.22)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IBE 用户手册编写单位:中国航信电子商务部1本手册使用说明 .4一、基本民航订座知识 .51.1什么是订座 .51.3旅客姓名记录 PNR .51.4订座流程(从查询到出票) .61.5出票.61.6民航系统的数据表述 .61.7注意事项 .7二、什么是 IBE.82.1IBE .82.2IBE 的特点 .82.3主要功能列表 .9三、您为什么需要 .103.1构建自己的商务模式 .103.2方便的开发 .103.3完备的日志管理 .113.4确保使用安全 .11四、使用之前 .124.1IBE 客户端 .124.2IBE 客户端的运行环境 .124.3IBE 客户端的使用前提 .124.4

2、IBE 服务开通流程 .134.5开发环境部署 .13五、开发指南 .165.1AV 解惑 .165.1.1AV 指令介绍 .165.1.2IBE 中 AV 类 .165.1.3获取舱位信息的方法 .175.2 AV 和 FD 相结合 .175.3订座指南 .185.3.1订座流程图 .185.3.2SS 的使用 .195.3.3PNR 封口 .195.3.4对于旅客姓名的特殊说明 .195.3.5假 A 现象 .205.4 PNR 其它组的输入 .205.5从费改税看 FF .2025.6行动代码的说明 .215.7航班变更的处理方法 .225.8外航订座技巧 .225.8.1代理人系统与外

3、航订座系统的连接方式.225.8.2连接状态的查看 .235.8.3 外航订座小技巧 .245.9 IBE 新功能介绍 .255.9.1ASR (机上座位预订) .255.9.2SMS (短信息功能) .25六、使用中的问题集 .266.1 关于连接问题 .266.2订座不成功问题 .266.3关于外航订座 .266.4关于电子客票 .263本手册使用说明本手册内容涵盖了中航信的互联网订座引擎IBE(Internet Booking Engine)的产品介绍、服务申请流程和具体开发指南。对于完全不熟悉订座业务的开发人员,在本文第一章专门介绍订座常识和基本概念。已经熟悉这方面业务的人员完全可以跳

4、过这一章进入后面的内容。第二章是对于 IBE 的简要介绍、 IBE 特点和基本功能简介。第三章介绍了IBE 能够解决哪些用户的哪些需要。第四章介绍了使用IBE 的前提配置、 IBE 部署方案和申请 IBE 的详细流程。其中关于 IBE 两个主要包的内部关系图清晰直观的给出了围绕航班查询和订座的这些类的关系和使用方法。第五章开发指南是手册的重点章节,介绍了使用 IBE 的开发过程中可能出现的问题和解决方法, 还有一些使用技巧。 结合用户手中已有的接口详细文档来看,效果最佳。最后一章的问题集收集了我们在 IBE 支持中用户可能出现的问题和解答,如果您碰到了问题, 可以根据问题的分类在这里寻求答案。

5、 这样的篇章设计相信对刚开始接触 IBE 的用户起到很好的帮助作用。本手册的编写得到了公司各方面的大力支持和配合,现在还很不完善。希望各方在读后给出修改意见,并联系我们,以便我们更好的改进。李明 中国航信电子商务部技术部Tel: 8610-840998562004-9-224一、基本民航订座知识1.1 什么是订座简要地说, 订座就是订取某航班的一个座位。在中国民航系统主机上存放了大量航班座位信息。 旅客想乘坐任何一个航空公司的客机出行,必须首先在主机系统预定一个座位。这就需要向主机询问某时间、出发到达地是否有合适的航班、可利用的座位。 如果确定预订该座位,系

6、统就会生成一个记录编号PNR( Passenger NameRecoder ) , 这个订座记录将会跟随旅客,从订妥座位,行程修改,付款,出票,机场登机,一直到航班起飞到达目的地后,该记录才会被系统删除。不管订座的方式、流程如何复杂多样,原理都是这样的。大型主机系统处理能力超强,但是其特有的通信方式和指令格式给订座带来了不便。只有受过订座指令培训的专业操作员, 在专有终端上, 才能够自如的与主机进行信息交互。 下面就是传统订座模式图。通信采用民航 有网 通信主机操作主机上存放了大量航班 端 座指令:信息、旅客 座信息,AV 、 FD 、 SD 、 SS主机 理来自各地的 、 座 求,图 1.1

7、 传统订座模式图1.3 旅客姓名记录PNR所谓的订妥座位就是生成一个PNR(Passenger Name Recoder ,旅客订座记录) ,并封口使之生效。旅客本次订座的全部信息都记录在这里。包括乘客姓名、航段信息(包括起飞城市、到达城市、起飞时间、舱位等级等)、座位数、乘客联系方式、特殊服务要求、是否某航空公司的常旅客、票价信息、航空公司或代理人规定的出票时限等等。PNR 中的信息非常丰富。旅客修改行程、航班改期、付款、出票、退票等信息都会体现出来。座位订妥后,如果旅客不立即购票,应告知PNR 号和出票时限,超过出票时限,原定座位将不予保留。51.4 订座流程(从查询到出票)查询需要航班座

8、位可利用情况 确定订某航班某座位 付款 得到机票 机场登机,如下图:取票确定订票航班座位查询登机起飞付款图 1.2 订座流程示意图1.5 出票如果订票人有出票的权限, 可以提前取票。 也可以选择在机场取票直接办理登机手续乘机。 航空公司或代理人为了防止有人空耗座位,一般对出票时限有一定要求,一般最迟也要在飞机起飞前2 个小时出票。1.6 民航系统的数据表述要看得懂航班信息、PNR 信息首先必须了解以下几个数据表述:航空公司代码: 由二位英文字母表示,如中国国际航空公司: “ CA ”, 德国汉莎航空公司:“ LH ”。在完成客运行为时,也就是承运人两字码。城市三子码 :出发地、到达地均用城市三

9、子码表述,如:中国北京:“PEK ” ,美国洛杉矶:“ LAX ”。舱位等级: 头等舱。公务舱经济舱(普通舱) 。在票价计算时以经济舱成人全票价为基础票价。头等舱按基础票价的150%计算,公务舱按基础票价的 130%计算。 而普通舱票价包括公布票价(A) 和折扣票价( B) ,YB80 ,就表示这是一张八折票,按 基础票价的80%计算 。航段 :航段是指航线点与点之间的航程,航线的经停点越多, 航段就越多, 航线由一个或多个航段组成。经停与转飞: 这是两个不同的概念。经停发生在一个航段的飞行中,该航段经停多少是根据客货运输的需求和飞机航行能力均定的。 转飞则是不同航段的转换, 航班号与航段均发

10、生了变化。航班号 :国内航班号的编排方式是由航空公司二字代码加上三或四位数字,如 MU5143 。航班号编排有规律可循,这里不再详述。国家两字码 :中华人民共和国“CN” ,美国“ US”。币种 :人民币“ CNY ”,美元“ USD”。61.7 注意事项一个 PNR 里可以订几个不同航班的座位。团队订座: 团队订座是相对于散客订座而言的。团队订座指统一组织的旅客人数在人以上(含人) ,航程、乘机日期和航班相同的旅客订座。团队PNR 在生成的时候必须定义团名。各航空公司除了一些基本规定之外,有一些特别规定。 比如成人携带儿童、婴儿的规定,最迟出票时间的规定,这些在订票时应该注意。7二、什么是I

11、BE2.1 IBEIBE ( Internet Booking Engine ),是由中国航信开发的互联网订座引擎。它改变了传统的方式下通过使用终端设备来访问主机的模式, 提供了基于因特网和开放平台技术访问中国航信传统订座业务的解决方案。IBE 产品在中国航信的电子商务服务器上封装了与主机之间的通讯,再把对主机的操作按照不同功能封装成客户端API 发布客户;客户端与航信电子商务服务器使用互联网标准的连接方式,于是客户可以在程序中调用IBE 客户端那些简单方法来完成与主机的交互,使航班信息查询与订票的功能轻而易举的展现在自己的网站上。通信方式基于 TCP/IP 协议的互联网通信方式网站浏览者:客

12、户端服务器:通过网页提交订座接收用户的订座请求,请求,输入个人信息使用 IBE 产品包,封装并发送用户请求IBE Server主机监听端口,响应 IBE Server接收封装的请求,发送来的请求编译并发送给主机图 2.1 订座流程示意图2.2 IBE 的特点IBE 提供了 API (应用程序接口)方式的接口。因此:IBE 本身不是一个完整的应用系统,它是构成客户商务系统的重要组件;客户需要在 IBE 的基础上进行二次开发;IBE 提供访问中国航信CRS 和 ICS 系统的 API ,客户只需关注自身的商业逻辑设计;基于标准开放的 TCP/IP 协议,能够运行在多种应用平台上;主机指令格式的更改

13、不会影响客户端程序的稳定性;开放的产品,随着用户需求和应用增加其功能将不断完善,并具有很好版本兼容性;互连简洁,效率高;使用安全,服务器端具有完备的日志记录与分析功能;82.3 主要功能列表航班时刻查询航班座位可利用状况查询航班经停点查询运价查询散客、团队旅客实时订座实时旅客订座记录查询散客、团队旅客订座记录修改删除航班最低运价信息查询9三、您为什么需要3.1 构建自己的商务模式不管您是代理人、航空公司、或是为代理人提供服务的商家,您可以使用IBE 轻松构架您的商务模式,IBE 作为连接订座主机的API ,提供网上查询航班、订票等服务支持。您在构建企业商务逻辑时可以充分利用IBE ,将它构建到

14、自己的高级组件中去,从而增强企业的各项服务功能。如图:各种企业级应用Web应用服务服务企业业务逻辑图企业级组件企业级( EJB/bean/ )文档基础组建IBE其他 API其他基础组件订座主机图 3.1 订座流程示意图3.2 方便的开发本手册的使用指南部分将会指导您顺利开始IBE 的使用;开发中参看javadoc 中各个类和方法的详细说明;开发前期我们将会给与一定程度的使用指导(不包括现场参与开发);在开发中出现的问题您可以在问题集寻求解决办法;103.3 完备的日志管理对于用户发来的指令均可以通过 IBE 日志分析机制查看。如果出现非法操作,系统将会对操作进行追踪。这样保证用户的正常使用安全

15、和纠错处理。3.4 确保使用安全IBE 产品完善的安全机制将会保证您的使用安全。3.4.1 身份认证机制3.4.2 安全的传输IBE 产品在中国航信的电子商务服务器上封装了与主机之间的通讯,再把对主机的操作按照不同功能封装成客户端API 发布给我们的客户;客户端与航信电子商务服务器使用tcp 相连接。由于IBE 独有的编码解码方式使得信息传输中的安全得以保障。11四、使用之前4.1 IBE 客户端IBE 分为客户端与服务器端两个部分。我们把 IBE 用户用以同IBE Server 建立连接,向其发送和接收订座请求的节点计算机称为IBE 客户端。把航信IBEServer 称为服务器端。对于 IB

16、E 客户端并没有特殊的要求。4.2 IBE 客户端的运行环境Java 产品包使用者:拥有公网( Internet )固定 IP;拥有 JDK 开发环境;Com 版产品包使用者:拥有公网( Internet )固定 IP;微软开发平台 (windows2000 及以上 );4.3 IBE 客户端的使用前提要求客户有一定的技术开发能力;合法的代理人或航空公司身份(如果需要预定功能) ;在客户端服务器导入 IBE 产品包( Java 包或 .dll 文件)。124.4 IBE 服务开通流程向中航信市场部负责IBE 使用的人员提出需求得到 IBE 相关资料确认需求提交 IBE 客户端服务器公网IP中航

17、信研发中心开通IBE 服务,向用户发放 IBE 产品包和使用说明手册开发中出现问题联络航信研发中心,对运行故障第一时间处理对于用户的压力测试、试运行给与充分配合开通流程向中航信市场部提交新需求得到增加确认后,等待接受更新的产品包将更新产品包导入服务器运行环境测试并使用新功能新增服务流程图 4.1 IBE 服务开通及更新流程4.5 开发环境部署如果现有的开发平台是java 环境,可以使用我们提供的IBE.JAR ,将它部署于应用服务器上,同时把配置文件perties 部署到 java 的 ClassPath 中。注意 确保 perties 在

18、ClassPath 中的唯一性,以免在配置修改时,定位不到正确的文件。IBE.JAR 的结构:sky.ibe.client 包括了航班查询等常用指令 sky.ibe.client.pnr 包括了 PNR 预定处理相关的指令 sky.ibe.exceptions 包括了所有的错误信息sky.util提供了一些用于支持上述类的公用类sky.ibe.client 和 sky.ibe.client.pnr 是用户最常接触的功能包,下面的两个图将包中的类之间关系加以简要介绍:13Com

19、.travelsky.ibe.client航班可利用AVAvResultAvItemAvSegment座位查询 :航班时刻显示 :SKSkResultSkItemSkSegment航班经停点及起FFFFResult降时间查询:票价查询:FDFDResult旅客名单提取 :MLMultiResultMultiSegmentMultiItem航班飞行时间显示 :DSGDsgResultDsgSegment图 4.2 sky.ibe.client包构成14sky.ibe.client.pnr修改 PNR信息增加旅客组BookPassenger增加航段组Book

20、AirSeg增加联系组BookContact增加开账地址组BookBA增加备注组BookRMK增加其它服务组BookOSI增加票价组BookFNPNRManage增加票价计算组BookFCBookInformation增加付款方式组BookFP增加签注组BookEI增加婴儿信息BookInfant增加特殊服务组BookSSR增加旅游代码组BookTC电子票出票:BARR提取 PNR 信息:RTRTResult机上座位预定:ASRItemASR机上座位显示:ADMAdmResultBSP出票:DZ电子票出票:ETDZ新建 PNR记录SellSeatSSResultSSSegmentPNRPass

21、enger旅客信息PNRAirSeg航段信息PNRContact联系组PNRBA开账地址组PNRSSR特殊服务组PNRInfant婴儿信息PNROSI其他服务信息PNROther其他组信息PNRResp责任组信息PNRRMK备注组信息PNRTkt出票信息图 4.3 sky.ibe.client.pnr 包构成如果您现有的开发平台是微软开发平台,可以使用我们提供的IBECom.dll 。相应的配置信息保存在Windows 的注册表文件中,组织结构类似于上述的IBE.JAR 。15五、开发指南现在可以开始使用IBE 来构建您的电子商务平台,下面以Java 开发为例进行示范,一步

22、一步使用IBE 来实现从查询航班,座位预定,PNR 提取的一个基本订票流程。建议您将本部分和API 详细说明( javadoc)结合使用。查看类的具体定义和使用方法。5.1 AV 解惑下面以 AV 指令为例,说明 IBE 的 AV 函数和终端上的信息是如何对应的,其它的指令如 FD, SK 和 AV 的原理相同。5.1.1 AV 指令介绍AV 指令,查询航信主机系统内所有航空公司的全舱位实时航班信息,提供简单有效的航班信息实时查询通道,查询指定日期及航线上的可用航班信息 (航班号,舱位,起飞到达时间,经停点等) ,支持多种查询参数,支持对电子客票航段的查询。5.1.2 IBE 中 AV 类IB

23、E 中有关 av 指令的类共四个:1. sky.ibe.client.A V2. sky.ibe.client.AvResult3. sky.ibe.client.AvItem4. sky.ibe.client.AvSegmentAV 函数输入: getAvailability(“ PEK” , ” XMN” , ” 20040905 00:00:00”)对应主机指令:AV : PEKXMN/05SEP04图 5.1 AV 类返回结果存储示意图一次 AV 的结果是一个查询返回结果(AvResult 对象),它的结果

24、是所有满足查询条件的航班信息集,每条航班信息对应一个 AvItem 对象,每一条航班信息可能包含一个或多个航段,因此对应一个或多个 AvSegment 对象。在 AVResult 中的所有的具体航段信息都保存在 AVSegment 中。165.1.3 获取舱位信息的方法AVResult 中获取舱位信息的方法有两种:一种是通过输入舱位名称来获取例如获得 F 舱的舱位情况,可以用getCangweiinfoOf(F)得到。另外一种是首先按照舱位等级获得舱位名称,然后再根据舱位名称得到具体的座位数StringBuffer strtmp = new StringBuffer();int k = 0;w

25、hile (k 26) char cangwei = avseg.getCangweiCodeSort(k);if (cangwei = -)break;strtmp.append(cangwei);strtmp.append(avseg.getCangweiinfoOfSort(cangwei);strtmp.append( );k+;这样就能够得到等同于终端的输出显示。5.2 AV 和 FD 相结合为了预定一个座位, 首先需要提供三个信息: 出发地 ,目的地 和时间 。这样就能够进行一次航班座位查询即 AV 操作,在确定航班有座的情况下,可能更关心舱位的价格,主机指令 FD 可以用来查询航

26、班价格。我们可以把航班座位查询和舱位价格查询组合在一起,以便获得更加直观的显示结果。或许您想到的方法是先AV 查询一次,然后对AV 结果中的每个航班信息,做FD 查询价格, 这样做每次都要和主机进行交互,效率低下,我们不建议您采用这种方法。建议作法是对 AV 的输出结果 AVResult 进行扩展, 在舱位信息中添加一个价格项, 再通过一次 AV 的航班查询和一次 FD 的全航空公司的 FD 价格查询把航班和价格信息插入到新定义的结构中。小技巧:为了便于查询航班中舱位的价格,可以使用HashTable 来保存舱位的价格。具体方法是 HashTable 的 Key 使用航空公司两字码和舱位名联合

27、作索引,价格作为属性, 首先在 HashTable 中查询,没有的话再通过FDResult 来查询,同时把查询结果插入到HashTable中。private Hashtable priceTable = new Hashtable();/从 FDResult 中查询价格String key = airCorp + String.valueOf(cabinName);if (priceTable.containsKey(key) tmpCabin.setSingleprice(String) priceTable.get(key); else String singlePrice =findIn

28、FDResult(fdRes, airCorp,String.valueOf(cabinName);if (singlePrice = null)17tmpCabin.setSingleprice(Unknown);else tmpCabin.setSingleprice(singlePrice);priceTable.put(key, singlePrice);5.3 订座指南5.3.1 订座流程图对尽可能少的AV 结果 FD航班座位 :AV票价 : FD封口之前必须确保已经加入这四个组,出票时限组是指定该PNR 最迟出票时间将 定航段加入 Pnr航段 加入 Pnr姓名 加入 Pnr 系 加

29、入 Pnr出票 限(SellSeat.addAirSeg)(SellSeat.addPassenger)(SellSeat.addContract)(SellSeat.setTimelimit)封口,使 pnr生效(SellSmit1)提取 PNR当前信息 1.PNR 一旦生成,加入其他组的方式可以通过PnrManage 对 PNR修改来完成票人作确 ( RT)2.出票之前必须增加FN、 FC 、 FP组.其它组可选择加入加入 FN 组加入 FC组(在加入 FN 之后)保证您有出票的权限配置加入 FP组出票( dz)图 5.2订票流程图如图,预订机票通常的流程是:1查询航班可用座

30、位、票价。2确定某航段的一个或多个座位。将该航段加入到新生成PNR 中,作为航段组。183当前 PNR 加入姓名组、联系组、出票时限组(这些信息可以从网站数据库已保存用户信息中提取),然后对 PNR 封口。注意 :航段组、姓名组、联系组、出票时限组这四个组是构成一个生效的PNR 最基本信息,也就是说要想让一个生成PNR 进行封口操作使之生效,必须保证包含了这四个组。对于团队 PNR,姓名组中要定义团名、人数。4出票时提取该PNR,向其中添加FN、 FC、 FP 组5 Dz 出票5.3.2 SS 的使用使用 IBE 需要明确的一点是:所有的函数之间没有相关性,他们之间都是相互独立的。为了订取航班

31、的座位,只能使用 SS 命令,而不能使用 AV 后面跟着 SD 来订取航段,而后者是使用终端或 eterm 订票时常用的方法。SS 的使用要求就是需要有(航班号,舱位信息,始发城市,到达城市,行动代码,订票日期),这些信息需要在前一步的 AV 操作中提取出来,例如在用户选中一个航班的某个舱位后,就应该保存该航班的具体信息,在下面的订票操作中用来填充航段信息。SellSeat sellseat = new SellSeat();(方法一 )sellseat.addAirSeg(“ CA1301” , Y , “ PEK” , ” CAN”-,10”-20NN”),1, ” 2004(方法二)BookAirSeg bairseg = new BookAirSeg(“ CA1301” , Y , “ PEK” , ” CAN”-10,”-20NN”);,1, ” 2004sellseat. addAirSeg(ba

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论