收藏 分享(赏)

IBE用户手册 - 航空公司联程航班系统.doc

上传人:涵涵文库 文档编号:4412628 上传时间:2018-12-27 格式:DOC 页数:36 大小:2.09MB
下载 相关 举报
IBE用户手册 - 航空公司联程航班系统.doc_第1页
第1页 / 共36页
IBE用户手册 - 航空公司联程航班系统.doc_第2页
第2页 / 共36页
IBE用户手册 - 航空公司联程航班系统.doc_第3页
第3页 / 共36页
IBE用户手册 - 航空公司联程航班系统.doc_第4页
第4页 / 共36页
IBE用户手册 - 航空公司联程航班系统.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

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

2、I 客户端 124.2 E-Build API 客户端的运行环境 124.3 E-Build API 客户端的使用前提 124.4 开发环境部署 12五、开发指南 .155.1 AV 解惑 155.1.1 AV 指令介绍 155.1.2 E-BUILD API 中 AV 类 155.1.3 获取舱位信息的方法 165.2 AV 和 FD 相结合 .175.3 订座指南 185.3.1 订座流程图 185.3.2 SS 的使用 .195.3.3 PNR 封口 195.3.4 对于旅客姓名的特殊说明 195.3.5 假 A 现象 .205.4 PNR 其它组的输入 205.5 从费改税看 FF 2

3、05.6 行动代码的说明 2135.7 航班变更的处理方法 225.8 外航订座技巧 225.8.1 代理人系统与外航订座系统的连接方式 225.8.2 连接状态的查看 235.8.3 外航订座小技巧 .245.9 E-Build API 新功能介绍 255.9.1 ASR(机上座位预订) .25六、使用中的问题集 266.1 关于连接问题 .266.2 订座不成功问题 266.3 PNR 修改问题 266.4 PAT 问题 26附 1.27E-Build API 指令接口 274本手册使用说明本手册内容涵盖了中航信的互联网订座引擎 E-Build API 的产品介绍、服务申请流程和具体开发指

4、南。对于完全不熟悉订座业务的开发人员,在本文第一章专门介绍订座常识和基本概念。已经熟悉这方面业务的人员完全可以跳过这一章进入后面的内容。第二章是对于 E-Build API 的简要介绍、E-Build API 特点和基本功能简介。第三章介绍了 E-Build API 能够解决哪些用户的哪些需要。第四章介绍了使用E-Build API 的前提配置、E-Build API 部署方案和申请 E-Build API 的详细流程。其中关于 E-Build API 两个主要包的内部关系图清晰直观的给出了围绕航班查询和订座的这些类的关系和使用方法。第五章开发指南是手册的重点章节,介绍了使用 E-Build

5、API 的开发过程中可能出现的问题和解决方法,还有一些使用技巧。结合用户手中已有的接口详细文档来看,效果最佳。最后一章的问题集收集了我们在 E-Build API 支持中用户可能出现的问题和解答,如果您碰到了问题,可以根据问题的分类在这里寻求答案。这样的篇章设计相信对刚开始接触 E-Build API 的用户起到很好的帮助作用。本手册的编写得到了公司各方面的大力支持和配合,现在还很不完善。希望各方在读后给出修改意见,并联系我们,以便我们更好的改进。李明 中国航信研发中心总体设计部基础平台组 Tel: 86-10-2010-08-055一、基本民航订座知识1.1 什么是订座简要地说,订座就是订取

6、某航班的一个座位。在中国民航系统主机上存放了大量航班座位信息。旅客想乘坐任何一个航空公司的客机出行,必须首先在主机系统预定一个座位。这就需要向主机询问某时间、出发到达地是否有合适的航班、可利用的座位。如果确定预订该座位,系统就会生成一个记录编号PNR(Passenger Name Recoder),这个订座记录将会跟随旅客,从订妥座位,行程修改,付款,出票,机场登机,一直到航班起飞到达目的地后,该记录才会被系统删除。不管订座的方式、流程如何复杂多样,原理都是这样的。大型主机系统处理能力超强,但是其特有的通信方式和指令格式给订座带来了不便。只有受过订座指令培训的专业操作员,在专有终端上,才能够自

7、如的与主机进行信息交互。下面就是传统订座模式图。操作终端订座指令 :A V 、 F D 、 S D 、 S S 通信采用民航专有网络通信主机主机上存放了大量航班信息 、 旅客订座信息 ,主机处理来自各地的查询 、 订座请求 ,图 1.1 传统订座模式图1.3 旅客姓名记录 PNR所谓的订妥座位就是生成一个 PNR(Passenger Name Recoder,旅客订座记录) ,并封口使之生效。旅客本次订座的全部信息都记录在这里。包括乘客姓名、航段信息(包括起飞城市、到达城市、起飞时间、舱位等级等) 、座位数、乘客联系方式、特殊服务要求、是否某航空公司的常旅客、票价信息、航空公司或代理人规定的出

8、票时限等等。PNR 中的信息非常丰富。旅客修改行程、航班改期、付款、出票、退票等信息都会体现出来。座位订妥后,如果旅客不立即购票,应告知 PNR 号和出票时限,超过出票时限,原定6座位将不予保留。1.4 订座流程(从查询到出票)查询需要航班座位可利用情况确定订某航班某座位付款得到机票机场登机,如下图:确定订票付款登机起飞航班座位查询取票图 1.2 订座流程示意图1.5 出票如果订票人有出票的权限,可以提前取票。也可以选择在机场取票直接办理登机手续乘机。 航空公司或代理人为了防止有人空耗座位,一般对出票时限有一定要求,一般最迟也要在飞机起飞前 2 个小时出票。1.6 民航系统的数据表述要看得懂航

9、班信息、PNR 信息首先必须了解以下几个数据表述: 航空公司代码:由二位英文字母表示,如中国国际航空公司:“CA”, 德国汉莎航空公司:“LH” 。在完成客运行为时,也就是承运人两字码。 城市三子码:出发地、到达地均用城市三子码表述,如:中国北京:“PEK”,美国洛杉矶:“LAX” 。 舱位等级:头等舱。 公务舱 经济舱(普通舱) 。在票价计算时以经济舱成人全票价为基础票价。头等舱按基础票价的 150%计算,公务舱按基础票价的 130%计算。而普通舱票价包括公布票价 (A)和折扣票价(B),YB80,就表示这是一张八折票,按基础票价的 80%计算。 航段:航段是指航线点与点之间的航程,航线的经

10、停点越多,航段就越多,航线由一个或多个航段组成。 经停与转飞:这是两个不同的概念。经停发生在一个航段的飞行中,该航段经停多少是根据客货运输的需求和飞机航行能力均定的。转飞则是不同航段的转换,航班号与航段均发生了变化。 航班号:国内航班号的编排方式是由航空公司二字代码加上三或四位数字,如MU5143。航班号编排有规律可循,这里不再详述。 国家两字码:中华人民共和国“CN”,美国“US” 。 币种:人民币“CNY” ,美元“USD ”。71.7 注意事项 一个 PNR 里可以订几个不同航班的座位。 团队订座:团队订座是相对于散客订座而言的。团队订座指统一组织的旅客人数在人以上(含人) ,航程、乘机

11、日期和航班相同的旅客订座。团队 PNR 在生成的时候必须定义团名。 各航空公司除了一些基本规定之外,有一些特别规定。比如成人携带儿童、婴儿的规定,最迟出票时间的规定,这些在订票时应该注意。8二、什么是 E-Build API2.1 E-Build APIE-Build API(原称 IBE),是由中国航信开发的互联网订座引擎。它改变了传统的方式下通过使用终端设备来访问主机的模式,提供了基于因特网和开放平台技术访问中国航信传统订座业务的解决方案。E-Build API 产品在中国航信的电子商务服务器上封装了与主机之间的通讯,再把对主机的操作按照不同功能封装成客户端 API 发布客户;客户端与航信

12、电子商务服务器使用互联网标准的连接方式,于是客户可以在程序中调用 E-Build API 客户端那些简单方法来完成与主机的交互,使航班信息查询与订票的功能轻而易举的展现在自己的网站上。 网站浏览者 :通过网页提交订座请求 , 输入个人信息客户端服务器 :接收用户的订座请求 ,使用 I B E 产品包 , 封装并发送用户请求I B E S e r v e r监听端口 ,接收封装的请求 ,编译并发送给主机主机响应 I B E S e r v e r发送来的请求通信方式基于 T C P / I P 协议的互联网通信方式图 2.1 订座流程示意图2.2 E-Build API 的特点E-BUILD A

13、PI 提供了 API(应用程序接口)方式的接口。因此: E-Build API 本身不是一个完整的应用系统,它是构成客户商务系统的重要组件; 客户需要在 E-Build API 的基础上进行二次开发; E-Build API 提供访问中国航信 CRS 和 ICS 系统的 API,客户只需关注自身的商业逻辑设计; 基于标准开放的 TCP/IP 协议,能够运行在多种应用平台上; 主机指令格式的更改不会影响客户端程序的稳定性; 开放的产品,随着用户需求和应用增加其功能将不断完善,并具有很好版本兼容性; 互连简洁,效率高; 使用安全,服务器端具有完备的日志记录与分析功能;92.3 主要功能列表 航班时

14、刻查询 航班座位可利用状况查询 航班经停点查询 运价查询 散客、团队旅客实时订座 实时旅客订座记录查询 散客、团队旅客订座记录修改删除 航班最低运价信息查询10三、您为什么需要3.1 构建自己的商务模式不管您是代理人、航空公司、或是为代理人提供服务的商家,您可以使用 E-Build API 轻松构架您的商务模式, E-Build API 作为连接订座主机的 API,提供网上查询航班、订票等服务支持。您在构建企业商务逻辑时可以充分利用 E-Build API,将它构建到自己的高级组件中去,从而增强企业的各项服务功能。如图:企业业务逻辑图企业级文档订座主机基础组建其他基础组件I B E 其他 A

15、P I企业级组件( E J B / b e a n / )各种企业级应用W e b 服务应用服务图 3.1 订座流程示意图3.2 方便的开发 本手册的使用指南部分将会指导您顺利开始 E-Build API 的使用; 开发中参看 javadoc 中各个类和方法的详细说明; 开发前期我们将会给与一定程度的使用指导(不包括现场参与开发) ; 在开发中出现的问题您可以在问题集寻求解决办法;113.3 完备的日志管理对于用户发来的指令均可以通过 E-Build API 日志分析机制查看。如果出现非法操作,系统将会对操作进行追踪。这样保证用户的正常使用安全和纠错处理。3.4 确保使用安全E-Build A

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

17、为 E-Build API客户端。把航信 E-Build API Server 称为服务器端。 对于 E-Build API 客户端并没有特殊的要求。4.2 E-Build API 客户端的运行环境Java 产品包使用者: 拥有公网(Internet )固定 IP; 拥有 JDK 开发环境; Com 版产品包使用者: 拥有公网(Internet )固定 IP; 微软开发平台(windows2000 及以上);4.3 E-Build API 客户端的使用前提 要求客户有一定的技术开发能力; 合法的代理人或航空公司身份(如果需要预定功能) ; 在客户端服务器导入 E-Build API 产品包(J

18、ava 包或.dll 文件) 。4.4 开发环境部署如果现有的开发平台是 java 环境,可以使用我们提供的 ibeclient.JAR,将它部署于应用服务器上,同时把配置文件 ibeclient.properties 部署到 java 的 ClassPath 中。注意确保 ibeclient.properties 在 ClassPath 中的唯一性,以免在配置修改时,定位不到正确的文件。ibeclient. JAR 的结构:com.travelsky.ibe.client 包括了航班查询等常用指令com.travelsky.ibe.client.pnr 包括了 PNR 预定处理相关的指令co

19、m.travelsky.ibe.exceptions 包括了所有的错误信息com.travelsky.util 提供了一些用于支持上述类的公用类com.travelsky.ibe.client 和 com.travelsky.ibe.client.pnr 是用户最常接触的功能包,下面的两个图将包中的类之间关系加以简要介绍:13C o m . t r a v e l s k y . i b e . c l i e n tA V航 班 可 利 用座 位 查 询 :A v R e s u l t A v S e g m e n tA v I t e m航 班 时 刻 显 示 :S K S k R e

20、 s u l t S k S e g m e n tS k I t e m航 班 经 停 点 及 起降 时 间 查 询 :F F F F R e s u l t票 价 查 询 :F D F D R e s u l t旅 客 名 单 提 取 :M L M u l t i R e s u l t M u l t i I t e mM u l t i S e g m e n t航 班 飞 行 时 间 显 示 :D S G D s g R e s u l t D s g S e g m e n t图 4.2 com.travelsky.ibe.client 包构成14提 取 P N R 信 息 :P

21、N R P a s s e n g e rR T R T R e s u l tP N R A i r S e gP N R C o n t a c tP N R B AP N R S S RP N R I n f a n tP N R O S IP N R O t h e r旅 客 信 息航 段 信 息开 账 地 址 组P N R R e s p联 系 组特 殊 服 务 组婴 儿 信 息其 他 服 务 信 息其 他 组 信 息责 任 组 信 息P N R R M K备 注 组 信 息P N R T k t出 票 信 息B o o k P a s s e n g e rP N R M a n

22、a g eB o o k A i r S e gB o o k C o n t a c tB o o k B AB o o k R M KB o o k I n f o r m a t i o nB o o k O S IB o o k E I增 加 旅 客 组增 加 航 段 组增 加 开 账 地 址 组B o o k I n f a n t增 加 联 系 组增 加 备 注 组增 加 签 注 组增 加 婴 儿 信 息B o o k S S R增 加 特 殊 服 务 组B o o k T C增 加 旅 游 代 码 组增 加 其 它 服 务 组B o o k F N增 加 票 价 组B o o k

23、 F C增 加 票 价 计 算 组B o o k F P增 加 付 款 方 式 组S e l l S e a t S S R e s u l t电 子 票 出 票 :B A R RB S P 出 票 :D Z电 子 票 出 票 :E T D ZS S S e g m e n t修 改 P N R 信 息新 建 P N R 记 录c o m . t r a v e l s k y . i b e . c l i e n t . p n r机 上 座 位 预 定 :A S R I t e m A S R机 上 座 位 显 示 :A D M A d m R e s u l t图 4.3 com.tr

24、avelsky.ibe.client.pnr 包构成如果您现有的开发平台是微软开发平台,可以使用我们提供的 IBECom.dll。相应的配置信息保存在 Windows 的注册表文件中,组织结构类似于上述的 ibeclient.JAR。15五、开发指南现在可以开始使用 E-Build API 来构建您的电子商务平台,下面以 Java 开发为例进行示范,一步一步使用 E-Build API 来实现从查询航班,座位预定,PNR 提取的一个基本订票流程。建议您将本部分和 API 详细说明(javadoc)结合使用。查看类的具体定义和使用方法。5.1 AV 解惑下面以 AV 指令为例,说明 E-Buil

25、d API 的 AV 函数和终端上的信息是如何对应的,其它的指令如 FD,SK 和 AV 的原理相同。5.1.1 AV 指令介绍AV 指令,查询航信主机系统内所有航空公司的全舱位实时航班信息,提供简单有效的航班信息实时查询通道,查询指定日期及航线上的可用航班信息 (航班号,舱位,起飞到达时间,经停点等) ,支持多种查询参数,支持对电子客票航段的查询。5.1.2 E-BUILD API 中 AV 类E-BUILD API 中有关 av 指令的类共四个:1. com.travelsky.ibe.client.AV2. com.travelsky.ibe.client.AvResult3. com.

26、travelsky.ibe API.client.AvItem4. com.travelsky.ibe.client.AvSegmentAV 函数输入:getAvailability(“PEK”,”XMN”,”20040905 00:00:00”)对应主机指令:AV:PEKXMN/05SEP04图 5.1 AV 类返回结果存储示意图16一次 AV 的结果是一个查询返回结果(AvResult 对象) ,它的结果是所有满足查询条件的航班信息集,每条航班信息对应一个 AvItem 对象,每一条航班信息可能包含一个或多个航段,因此对应一个或多个 AvSegment 对象。在 AVResult 中的所有

27、的具体航段信息都保存在 AVSegment 中。特别提示:在 eTerm 查询 AV 时,如果当天没有查询的城市对航班,会显示离查询日期最近一天的航班信息。示例:E-Build API 提供的 AV 查询也和 eTerm 查询完全一致。如果用户查询的日期没有航班信息,会显示离查询日期最近一天的航班信息。示例:AVC avExample=new AVC();tryAvResult avres= avExample.getAvailability(“PEK“, “CGD“, “20100512 00:00:00“,“ALL“,true,true);System.out.println(avres)

28、; catch(Exception e)e.printStackTrace();请开发人员注意查询结果的日期信息,以避免把查询结果的日期弄混。5.1.3 获取舱位信息的方法AVResult 中获取舱位信息的方法有两种:17一种是通过输入舱位名称来获取例如获得 F 舱的舱位情况,可以用 getCangweiinfoOf(F)得到。另外一种是首先按照舱位等级获得舱位名称,然后再根据舱位名称得到具体的座位数StringBuffer strtmp = new StringBuffer();int k = 0;while (k AV:LONLAX;对于有“*”标识的航班,采用指定航空公司的方式进一步查询

29、,以便得到更为准确的航班数据。第二次数据提取是实时的、准确的。建议大家在订座时,要依据第二次(即加上航空公司代码)提取而得到的航班信息。2)座位预订与修改阶段(1) PNR 封口要确认记录编号返回您在订取一个旅客订座记录时,封口后,应特别注意是否有航空公司系统的记录编号返回,存在了记录编号说明在航空公司系统中订上了座位。PNR 中航空公司系统的记录编号的返回是订妥座位与否的重要标志。 (需要注意的是各航空公司记录编号返回格式不同)(2)分离 PNR 的操作在对所订外航座位进行分离操作时一定要注意1确认该外航允许分离 PNR,或得到对方许可2对外航的分离一定要等分离出来的部分新的外航记录编号返回

30、,才算完成,在此期间切记不要对 PNR 进行其它操作,否则可能造成与外航记录的不一致,影响旅客正常登机。3没有新记录编号返回,请与航空公司联系,予以确认 PNR 状态。(3)修改姓名的操作绝大部分国外航空公司不允许修改姓名,或只允许修改部分姓名,如果违反,一般会取消代理人的订座。建议尽量不要修改旅客姓名,如需要修改一定要得到航空公司许可,并按航空公司规定操作。(4)PNR 中 QUEUED 字样的处理RMK CA/XXXXX/QUEUED FOR MANUAL HANDLING/XXXXXX XXXX 如果 PNR 中出现上述信息,表示订座或修改操作不成功,一定要通知航空公司或与中航信在线支持

31、中心联系处理。(5)对于重复订座重复订座也是航空公司取消您的预订的一个重要原因,如无特殊理由请不要重复订座。25对于重复订座航空公司一般均会只保留一套。有时航空公司会以 OSI,SSR 的形式通知你,请一定关注 PNR 中此类说明项。3)出票阶段请一定按照航空公司规定出票格式和时间出票同时注意不要输入假票号,否则会被航空公司取消。5.9 E-Build API 新功能介绍E-Build API 是一个不断完善的产品。尽管目前发放的 E-Build API 产品包中已包含了机票查询、预订等基本功能,还有一些拓展功能。但是为了使其使用更方便、功能更完善,我们仍然继续着 E-Build API 的开

32、发工作。下面向您介绍一下最新的一些功能开发:5.9.1 ASR(机上座位预订)首先必须明确,订座系统的机上座位预订在功能上不等同于离港值机中的指定机上座位。在订座中预订某航班上的某个座位,并指定座位在机舱中具体位置,这是为旅客提供的一项服务。座位信息会保留在旅客订座的 pnr 记录中,在离港值机时,旅客的座位会默认为预订座位。但是也可能由于一些原因,比如旅客订的座位已被锁定或者与 vip 旅客座位冲突等等原因,最后不能坐在最初预订的座位,这都是有可能的。也就是说,最终决定机上座位的是机场值机系统。当然订座中的机上预订将给予参考和默认值的功能。有关机上座位预订的类主要有:机上座位图查看:ADM、

33、AdmResult机上座位预订:ASR、ASRItem他们均存在于 com.travelsky.ibe.client.pnr 包中,使用方法可参看下列代码:String pnrno=“J900L“;ADM adm=new ADM();AdmResult admresult=null;ASR asr=new ASR();ASRItem asritem=new ASRItem(“赵炎“,“12A“,2);Vector v1= new Vector();v1.addElement(asritem);asr.doASR(pnrno,v1);admresult=adm.advanceDisplayMap

34、(pnrno,2);System.out.println(admresult.getSeatmap();26六、使用中的问题集6.1 关于连接问题连接问题通常情况下是不会出现的,如果遇到不能连接的报错提示,请首先确认自己的 ibeclient.properties 文件正常设置而且没有被改动。如果确实找不到出错原因,再联系 E-BUILD API 技术支持人员给予帮助。确认连接成功中国航信 E-BUILD API 服务器在 6891 端口开通 E-BUILD API 客户端的连接,确认网络连接已经开通,您可以在您运行 E-BUILD API 客户端的机器上 telnet 航信 E-BUILD

35、API服务器 6891 端口:telnet *.*.*.* 6891 (*为航信 E-BUILD API 服务器的 ip 地址)telnet 结果不是无法连接的话说明网络层连接已经开通,如果报 E-BUILD API 服务拒绝的异常(返回结果出现 IBE_EXCEPTION 即可认为网络已经开通) ,在确认您申请开通的 ip 地址正确无误后,联系 E-BUILD API 技术支持人员为您开通 E-BUILD API 服务许可。6.2 订座不成功问题这种情况在很多时候是由于使用 E-BUILD API 客户端的开发人员对民航订座知识的不了解造成的。E-BUILD API 作为到主机通讯的接口,发

36、向 E-BUILD API 的请求仍然需要遵循主机的规则。这时开发人员应当根据订座失败 E-BUILD API 返回的信息查阅相关异常说明,配合中国航信订座业务操作手册找出问题所在。在一定时期内,我们的技术支持人员也会解答您相应的问题。 (此时您应当提供错误发生的时间,您的程序进行的操作以及返回的异常,有可能的话将程序代码段通过电子邮件发送给我们) 。6.3 PNR 修改问题通过类 PnrManage 的方法可以修改预订成功 PNR 中的乘客姓名、航段、证件号、出票时限等等 PNR 信息,也可进行 PNR 项的删除。请仔细阅读该类的 JAVA DOC6.4 PAT 问题等同于 eTERM 中的

37、 PAT;A 自动计算运价,在 PnrManage 类中通过doPat(String pnrno, String option, String type,int index,boolean ifinput)doPatASecond(PATResult patres_pre, String pnrno, int index,int psgid)两步完成自动运价计算。27附 1java 版 E-BUILD API 代码简单范例E-Build API 指令接口 订票流程主要应用 E-Build API 指令接口(注意:本文档所有测试程序使用城市对,日期为编写程序时所写,如要参考这些程序,请更换日期)

38、E-Build API 订票过程1)第一步:av 查询程序如下:import com.travelsky.ibe.client.*;import com.travelsky.ibe.exceptions.IBEException;import com.travelsky.util.QDateTime;public class Step_1_AV public static void main(String args) try AV av = new AV();AvResult avres =av.getAvailability(“PEK“,“SHA“,QDateTime.stringToDat

39、e(“20050901“, “yyyymmdd“),true,true);System.out.println(avres);System.out.println(“-“); catch (IBEException e) e.printStackTrace(); catch (Exception e) e.printStackTrace();得到的结果如下:282)第二步:订票import java.util.Calendar;import java.util.Date;import com.travelsky.ibe.client.pnr.SellSeat;import com.travel

40、sky.ibe.exceptions.IBEException;import com.travelsky.util.QDateTime;public class Step_2_SellSeat public static void main(String args) try Date tktldt = QDateTime.stringToDate(“20050819“, “yyyymmdd“);Date dt = QDateTime.stringToDate(“20050901“, “yyyymmdd“);SellSeat ss = new SellSeat();ss.addAdult(“Te

41、st/Test“);ss.addAirSeg(“CA1895“, Y, “PEK“, “SHA“, “NN“, 1, dt);ss.addContact(“NC“);ss.addSSR_FOID(“CA“, “NI“, “1234567890“, “Test/Test“);ss.addFN(“FCNY 2250.00/SCNY 2250.00/C3.00/TCNY 50.00CN/TCNY 40.00YQ“);ss.addFP(“CASH, CNY“);ss.setTimelimit(tktldt);String pnrNo = mit();System.out.println(“INFOPN

42、R编号为: “ + pnrNo); catch (IBEException e) 29e.printStackTrace(); catch (Exception e) e.printStackTrace();这就可以完成订票了,得到了 pnr 编号。3)查询 RTimport com.travelsky.ibe.client.pnr.RT;import com.travelsky.ibe.client.pnr.RTResult;public class Step_3_RT public static void main(String args) RT rt = new RT();try RTR

43、esult rs = rt.retrieve(“JBH09“);System.out.println(rs);System.out.println(“-“); catch (Exception e) System.out.println(e);得到的结果:304)选择座位:要先利用 ADM 查看飞机座位图示,再利用 ASR 指令选择座位ADM 程序如下:public class TestADM /* 利用ADM查询航班的座位图,选择想要的座位号* 调用ADM的advanceDisplayMap方法* 参数为:(string)pnr号 (int)航段在pnr中的序号* 选择的座位号为两位数字和一位字母,例如“10E”* 选择好座位号后,就可以利用ASR来选定座位*/public static void main(String args) ADM adm = new ADM();try AdmResult admres = adm.advanceDisplayMap(“JBH09“, 2);System.out.print(“航班号: “ + admres.getAirNo();System.out.print(“t舱位: “);System.out.print(admres.getCabin();System.out.print(“t航班日期: “);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 规范标准 > 航空/航天

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报