1、欧美嘉 机票 XML接口 文档 1. 查询接口 1.1 简介 欧美嘉 机票查询 XML接口可以 向 任何第三方系统 提供 欧美嘉网站上一样的信息 。 该 文档 描述了 欧美嘉 机票查询 XML 接口 的使用方法,包括 指令 ,文档的格式 等 。 当 指令发到系统中, 运算将会 开始,最终返回 XML格式的结果。 1.2 创建机票搜索 HTTP请求 接下来 的章节中将详细介绍 请求 和返回的 XML中 的 各个 标签的意义和用处 。 HTTP请求应该以 HTTP POST的形式发送到相应的 URL中。 您 需要将 URL中的 website_url参数 替换为欧美嘉品牌的 子域名 。 URL中
2、n参数 表示追踪 代码 ,请咨询您在欧美嘉的联系人以获取具体的 n参数 。 请见下面 的 URL: http:/website_url/xml/search.php?c=n 当 HTTP POST请求 发到我们的 服务器中, 可能 会需要一定的时间来处理这个请求 ,请 耐心等待。 当 查询 结果 产生 的时候, 或者 60 秒超时 ,您都会受到 相应 的 HTTP RESPONSE。 请 在 发送 HTTP POST请求的时候 在 HTTP头中加入压缩指令,如 , Accept-Encoding: gzip deflate。 1.3 机票 搜索 HTTP请求格式 下面是 一个 HTTP请求的例
3、子: omegatravel CFAE5FF0F46579895597E82C62A01507 LGW AMS 2014-09-31 00:00 AMS LGW 2014-10-31 00:00 2 0 1 R E CNY zh 例子 中的 各个标签 的名字 基本上 都能 诠释 它自身的含义, 详细的 解释请见下表: 标签名 描述 示例 FlightJourneyAvailabilityRequest XML文档 的根节点 Username 请求用户名 * *用户名 随文档一同给出 String Password 请求用户 密码 , 密码 为 密钥 *,出发地 IATA代码,目的地 IATA代
4、码 , 出发日期和 行程 标识 组成 的字符串的 md5加密 *密钥随 文档一 同 给出 Md5( ABCDEabcde12 + LGW + AMS + 2014-09-31 + R) OutboundFlight 去 程航班请求的详细信息 Departure 去程出发地机场 的 IATA代码 ZZZ Destination 去程目的地机场的 IATA代码 ZZZ Date 出发日期 YYYY-MM-DD Time 表示去程 出发的时间, 请 暂时忽略 这个功能 InboundFlight 回程航班 请求的详细信息 Departure 回程出发 地机场的 IATA代码 ZZZ Destinat
5、ion 回程 目的地机场的 IATA代码 ZZZ Date 回程日期 YYYY-MM-DD Passengers 乘客信息 TotalAdults 成人人数 1-9 TotalChildren 儿童人数 0-9 TotalInfants 婴儿人数 0-9 JourneyType 单程 /往返 标识, O表示单程,R表示往返 “O” or “R” CabinClass 舱位标识 , E表示 经济舱, P表示高端 经济舱 , B表示商务舱,F表示头等舱 “E”, “P”, “B” or “F” Currency 货币 标识 , ISO 3166 码, 目前只能支持 两种 货币, CNY和 GBP
6、CNY Language 语言 表示,目前只支持 zh(中文)或 en(英文) zh 1.4 机票搜索 HTTP答复格式 下面 是一个 HTTP答复的例子: 9 LHR London Heathrow (LHR) JFK New York John F Kennedy (JFK) 2014-10-01 13:15 2014-10-01 16:55 AI Air India E N 0 0111 ORD UA 330 GBP 2 82.50 77.55 JFK New York John F Kennedy (JFK) LHR London Heathrow (LHR) 2014-10-05 2
7、0:00 2014-10-06 06:35 AI Air India E 0 0112 330 GBP 2 75.50 77.55 more results 答复 的 XML也 很易懂 , 详细 信息请见下表: 标签名 描述 示例 FlightJourneyAvailabilityResponse XML文档根节点 Flight 航班详情 DeepLink 深度链接 ,重定向至欧美嘉航班选择页面 A valid URL AvailSeat 该行程 剩余 座位 数 ( 9表示剩余 9个 座位或以上 ) 1-9 OutboundLegs 去程航段 的集合 Leg 航段 DepartureAirpo
8、rtCode 去程 出发地 机场 的 IATA 代码 ZZZ DepartureAirportName 去程出发地 机场名称 String DestinationAirportCode 去程目的地 机场的 IATA 代码 ZZZ DestinationAirportName 去程目的地 机场名称 String DepartureDate 出发 日期 YYYY-MM-DD DepartureTime 出发时间 HH:MM ArrivalDate 到达日期 YYYY-MM-DD ArrivalTime 到达时间 HH:MM AirlineCode 航空公司 的 IATA代码 ZZ AirlineN
9、ame 航空公司 名称 String CabinClass 舱位标识 , E表示 经济舱,P表示高端 经济舱 , B表示商务舱, F表示头等舱 “ E”, “P”, “B” or “F” SegmentClass 航段 舱位,航空公司所返回的该航段的舱位 “A” “Z” NumberOfStops 经停 次数 0-9 FlightNumber 航班号码 String AircraftCode 机型 代码 String StopAirports 经停 的机场 的 IATA代码 ZZZ,如有多个机场则用 ,分隔 ActualAirline 实际 运营的航空公司 IATA代码 ZZ PriceDet
10、ails 价格详情 Currency 货币单位 ZZZ PriceBreakdown 价格分解 Passenger 乘客类型 Quantity 乘客数量 0-9 BasePrice 机票 价格 Float Tax 税费 Float InboundLegs 回程航段集合(基本 和去程航段集合一直,请参照去程航段集合) 2. 预定 接口 2.1 简介 欧美嘉 机票 预定 XML接口可以 为查询 接口中的行程 生成 预定( PNR) 。 2.2 创建机票预定 HTTP请求 预定 接口的 URL基本和 查询 接口 类似, 使用方法请参照查询接口 : http:/website_url/xml/book
11、.php 当 HTTP POST请求 发到我们的 服务器中, 可能 会需要一定的时间来处理这个请求 ,请 耐心等待。 由于 预定 所 产生的事务的复杂程度高于查询,请允许 90秒的 超时时间。 请 在 发送 HTTP POST请求的时候 在 HTTP头中加入压缩指令,如 , Accept-Encoding: gzip deflate。 2.3 机票 预定 HTTP请求格式 下面 是一个预定请求的例子: omegatravel 33430723764D27F134820B36A5374880 N Burce Lee M 1972-01-13 G12341234 CN 2020-01-01 CN
12、Gordon Wang F 2007-08-11 G12344321 CN 2020-01-01 CN GBP 551.00 R E HU 7801 PEK CAN 2014-11-20 12:00 2014-11-20 15:15 T HU 7804 CAN PEK 2014-12-20 12:00 2014-12-20 15:15 K 例子 中的 各个标签 的名字 基本上 都能 诠释 它自身的含义, 详细的 解释请见下表: 标签名 描述 示例 FlightBookRequest XML文档 的根节点 Username 请求用户名 String Password 请求用户 密码 , 密码 为
13、 密钥 *,乘客 数量 (Passenger 标签 数量 )和 航段数量 (Segment 标签数量 )组成 的字符串的 md5 加密 *密钥 随 文档一同给出 Md5( ABCDEabcde12 + 2 + 2) Dummy 测试 预定标识, 如果选择测试预定, 则 检查该行程 是否 可预订 , 并不真 的 向 GDS进行预定 “Y” or “N” Passengers 乘客 信息组 Passenger 单个 乘客信息详情 FirstName 乘客名字 Bruce LastName 乘客姓氏 Lee Gender 乘客 性别 (M 男性 , F 女性 ) “M” or “F” DOB 乘客
14、出生日期 YYYY-MM-DD PassportNum 乘客 护照号码 String,长度小于等于 15字节 PassportCountry 乘客 护照发行国 国家 二字码 ( 例如 CN, US) PassportExpiry 护照 到期日期 YYYY-MM-DD Nationality 乘客 国籍 国家 二字码 Itinerary 行程 详情 Currency 货币 标识 , ISO 3166码, 目前只能支持 英镑 (GBP) GBP Total 所有 乘客的总费用 Float Type 单程 /往返 标识, O表示单程,R表示往返 “O” or “R” Cabin 舱位标识 , E表示
15、 经济舱, P表示高端 经济舱 , B表示商务舱,F表示头等舱 “E”, “P”, “B” or “F” Segment 航段 详情 Airline 航空 公司 的 IATA代码 ZZ FlightNum 航班号码 String DepCode 出发 机场的 IATA代码 ZZZ ArrCode 到达 机场的 IATA代码 ZZZ DepDate 起飞 日期 YYYY-MM-DD Class 航段 舱位 , 表示该航段的舱位 A - Z 2.4 机票 预订 HTTP答复格式 下面 是一个 Dummy值 为 Y的 HTTP答复的例子: 成功 : Pass 失败 : Seat is not ava
16、ilable (BPW9) 下面 是一个 Dummy值 为 N的 HTTP答复的例子: 101947 7RS323 GBP 1569.90 2014-09-18 1 1 1 CA PEK FCO 0939 0918 1340 0918 1855 E X AZ FCO BRU 0164 0918 2130 0918 2345 E X 释义 : 标签名 描述 示例 FlightBookResponse XML文档 的根节点 BookingId 订单号 Long PNR 预定 成功 生成 的 PNR String Currency 货币 标识 , ISO 3166 码, 目前只能支持 两种 货币,
17、CNY和 GBP TotalPrice 所有 乘客的总费用 Float FirstName 乘客名字 Bruce LastName 乘客姓氏 Lee LastTicketDate 最晚 出票日期 YYYY-MM-DD Adult 成人 乘客数量 Int Child 儿童乘客 数量 Int Infant 婴儿乘客 数量 Int Segments 航段 详情 组 Segment 单个航段 详情 Airline 航空 公司 的 IATA代码 ZZ FlightNum 航班号码 String DepCode 出发 机场的 IATA代码 ZZZ ArrCode 到达 机场的 IATA代码 ZZZ Dep
18、Date 起飞 日期 MMDD DepTime 出发 时间 HHmm ArrDate 到达 日期 MMDD ArrTime 预计 到达时间 HHmm Cabin 舱位标识 , E表示 经济舱, P表示高端 经济舱 , B 表示商务舱, F表示头等舱 “E”, “P”, “B” or “F” CabinCode 航空 公司舱位代码 “A” “Z” 3. 出票 与 订单 查询接口 3.1 简介 欧美嘉 机票 出票 XML接口可以 为成功的 预定进行出票请求 , 查询 XML接口可以 查询 成功预定的 订单 状态 。 3.2 创建出票 /订单 查询 /PNR查询 /PNR取消 HTTP请求 /确认
19、订单 可否 出票 请求 URL: http:/website_url/xml/ticket.php 当 HTTP POST请求 发到我们的 服务器中, 可能 会需要一定的时间来处理这个请求 ,请 耐心等待。 由于出票所 产生的事务的复杂程度高于查询,请允许 90 秒的 超时时间。 其他 接口应该在 30秒 内会返回结果。 请 在 发送 HTTP POST请求的时候 在 HTTP头中加入压缩指令,如 , Accept-Encoding: gzip deflate。 3.3 机票 出票 请求 /查询 /PNR查询 /PNR取消 HTTP请求格式 /确认 订单 可否 出票 下面 是一个预定请求的例子
20、: omegatravel C04B0BB8F57561C589934F7D2E27F00A 123456 XXXXXX I 释义 : 标签名 描述 示例 FlightTicketRequest XML文档 的根节点 Username 请求用户名 String Password 请求用户 密码 , 密码 为 密钥 *,订单号, PNR和出票 接口操作符 组成 的字符串的 md5加密 *密钥 随文档 一同 给出 Md5( ABCDEabcde12 + 123456 + XXXXXX + I) BookingId 订单 号 Long PNR PNR号码 ( Action为 I或 Q时必须提供 ,
21、Action 为 P 时可以不提供 ) String Action 出票 接口操作符 , I 出票 请求, Q 订单 查询 请求 , X PNR 取消请求 (PNR 取消只可用于未申请出票的订单 ), P PNR查询 , C 确认 订单是否可以出票 “I”, “Q”, “X”, “P” or “C” 3.4 一般失败答复 例子 : Reservation failed with carrier 标签名 描述 示例 FlightTicketResponse XML文档 的根节点 Error 错误 信息 String 3.5 机票出票 接口 HTTP答复格式 例子 : 101947 7RS323
22、Request submitted CA PEK BRU 释义 : 标签名 描述 示例 FlightTicketResponse XML文档 的根节点 IssueTicket 出票接口功能标识 BookingId 订单 号 Long PNR PNR号码 String Status 出票的 状态 String Itinerary 行程 详情 Airline 航空 公司 的 IATA代码 ZZ DepCode 行程 出发机场 IATA代码 ZZZ ArrCode 行程 目的机场 IATA代码 ZZZ 3.6 订单 查询接口 HTTP答复格式 例子 : 101947 7RS323 Request s
23、ubmitted, not ticketed ZH PEK HGH ZH 1704 PEK HGH 1125 1150 Y MDN49M ZH 1703 HGH PEK 1210 0900 Y MDN49M MR Jing Zhu Adult Ticket not issued MS Yong Wang Child Ticket not issued MS Zhi Tian Infant Ticket not issued 释义 : 标签名 描述 示例 FlightTicketResponse XML文档 的根节点 QueryTicket 订单 查询 接口功能标识 BookingId 订单 号
24、 Long PNR PNR号码 String Status 出票的 状态 : Request submitted, not ticketed 出票 请求提交,尚未出票 ticket issued 已出票 booking voided 订单 作废 undetermined status 未知状态 ,请联系我们 String Itinerary 行程 详情 Airline 航空 公司 的 IATA代码 ZZ DepCode 行程 出发机场 IATA代码 ZZZ ArrCode 行程 目的机场 IATA代码 ZZZ Segments 航段 信息组 Segment 单个航段 Airline 该 航段执
25、飞 航空 公司 的IATA代码 ZZ FlightNum 该行段航班号 1234 DepCode 航段出发机场 IATA代码 ZZZ ArrCode 航段目的地 机场 IATA代码 ZZZ DepDate 航段 起飞 日期 MMdd DepTime 航段 起飞时间 hhmm CabinCode 航段 舱位代码 “A” “Z” AirlinePNR 航段 航空公司 PNR String Passengers 乘客 信息组 Passenger 单个 乘客信息详情 Title 乘客 的 头衔 “MR” or “MS” FirstName 乘客 名字 String LastName 乘客 姓氏 Str
26、ing Type 乘客 类型 : Adult 成人 , Child 儿童 , 和 Infant 婴儿 String TicketNumber 电子票号 String 3.7 PNR查询接口 HTTP答复格式 例子 : 100000 XXXXXX 标签名 描述 示例 FlightTicketResponse XML文档 的根节点 QueryPNR PNR查询 接口功能标识 BookingId 订单 号 Long PNR PNR号码 String 3.8 PNR取消接口 HTTP答复格式 例子 : XXXXXX PNR Canceled 标签名 描述 示例 FlightTicketResponse XML文档 的根节点 CancelPNR PNR取消接口功能标识 Status PNR状态 String PNR PNR号码 String 3.9 确认 订单 可否 出票接口答复 例子: XXXXXX 123456 Success 标签名 描述 示例 FlightTicketResponse XML文档 的根节点 CheckBooking 确认 可否出票 接口功能标识 Status PNR状态 String BookingId 订单 号 Long PNR PNR号码 String