机票代理人Shoppping指令区别AV,AV指令只能查询4折以上的机票,而Shoppping可以查询所有折扣机票,所以现在把c#编写的Shoppping共享!
以post请求参数
String org;//出发地
String dst;目的地
String orgdate;出发日期
Strin DirectFlightOnly;//是否直达,传true时只能查直达的航班,传false时查询中转航班
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Com.Travelsky.Ibe.Client;
using Com.Travelsky.Util;
using Com.Travelsky.Ibe.Exceptions;
using System.Web.Script.Serialization;
using System.Diagnostics;
using Com.Travelsky.Ibe.Client.Pnr;
using Com.Travelsky.Ebuild.Clientapi.FlightShoppping;
using System.Collections;
using System.Text;
using System.Globalization;
using Newtonsoft.Json;
public partial class AV1 : System.Web.UI.Page
{
public string FFDprice = "";//所有定义价格返回字符串
protected void Page_Load(object sender, EventArgs e)
{
try
{
FlightShoppping fltshopping = new FlightShoppping();
FareInterface service = new FareInterface();
Input input = new Input();
input.SetHeaderInType(getHeaderInType());
Request request = new Request();
FlightShopRequestType flightShopRequestType = new FlightShopRequestType();
//设置OD
ArrayList originDestinationInfo = new ArrayList();
originDestinationInfo.Add(getOriginDestinationInfoType());
flightShopRequestType.SetOriginDestinationInfo(originDestinationInfo);
//设置AVJourney
//ArrayList AVJ = new ArrayList();
//AVJ.Add(getAvJourneys(input));
//flightShopRequestType.SetAvJourneys(AVJ);
//设置TravelPreferences
flightShopRequestType.SetTravelPreferencesType(getTravelPreferencesType());
//设置Option
flightShopRequestType.SetOption(getOption());
/*//设置AdditionalShopRQData
flightShopRequestType.setAdditionalShopRQData(getAdditionalShopRQData());*/
request.SetFlightShopRequestType(flightShopRequestType);
input.SetRequest(request);
service.SetInput(input);
//long begin = System.currentTimeMillis();
//Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
//stopwatch.Start(); // 开始监视代码
Output outT = new Output();
outT = fltshopping.DoFlightShopping(service);//查询国内Shopping
//System.out.println(out);
FFDprice = StringBuildera(outT);//给所有航空公司返回价格附值
//CwJgInfo(FFDprice);
//Response.Write(FFDprice);
PrintResult(outT);
//Response.Write(StringBuildera(outT));
//stopwatch.Stop(); // 停止监视
//long Milliseconds = stopwatch.ElapsedMilliseconds; // 获取总时间
//Response.Write(Milliseconds.ToString());
}
catch (IBEException ex)
{
Response.Write("callbackfun({ result:\"" + ex.Message.ToString() + "\"})");
}
}
public static HeaderInType getHeaderInType()
{
HeaderInType hi = new HeaderInType();
hi.SetSysCode("CRS");//ICS或者CRS
//hi.SetSysType("IBE");//接入系统类型。如BLUESKY/IBE/TRAVELWEB。
hi.SetChannelID("1E");//CAET或者1E
//hi.SetChannelType("B2C");//B2B或者B2C,渠道设置为 1E 下不能设置,非 1E 时根据具体情况设置
Agency agency = new Agency();
agency.SetOfficeId("<span style="font-family: Arial, Helvetica, sans-serif;">BJS999</span><span style="font-family: Arial, Helvetica, sans-serif;">");//如:代理人office号,BJS999 BJS472</span>
agency.SetPid("11066");//如:20200
agency.SetCity("PEK");//代理人所在地区
//agency.setIataNum("");
//agency.setCountry("");
hi.SetAgency(agency);
hi.SetLanguage("CN");//EN或者CN
hi.SetCommandType("FS");//
return hi;
}
public static OriginDestinationInfoType getOriginDestinationInfoType()//去程类
{
string ori = HttpContext.Current.Request["org"];//起始地
string des = HttpContext.Current.Request["dst"];//目的地
string SetDepartureDate = HttpContext.Current.Request["orgdate"];//去程日期
DateBinding db = new DateBinding();
OriginDestinationInfoType od = new OriginDestinationInfoType();
od.SetOri(ori.Trim());//起始地
od.SetDes(des.Trim());//目的地
od.SetDepartureDate(SetDepartureDate.Trim());//起始出发日期,格式为DDMMMYY
return od;
}
public static Option getOption()
{
Option op = new Option();
//op.SetFcFeature("0");//组合限制取值为0/1,默认值为0
op.SetIsAvNeeded("Y");//结果中是否需要AV信息。Y/N,缺省为Y
op.SetIsPSnNeeded("Y");//结果中是否需要PS信息。Y/N,缺省为Y
//op.SetIsPsAvBindsNeeded("Y");//结果中是否需要PsAvBinding信息。Y/N,缺省为Y
//op.SetIsFaresNeeded("Y");//结果中是否需要fare信息。Y/N,缺省为Y
//op.SetIsRefundReissueRuleNeeded("Y");
//op.SetIsRefundReissueTextRuleNeeded("Y");//需要文本退改签信息
op.SetFormat("NOR");//SIM:简化格式;NOR:正常格式,缺省为NOR
//op.SetIsCompressedResultNeeded("Y");//需要压缩结果;N 不需要不压缩
string DirectFlightOnly = HttpContext.Current.Request["DirectFlightOnly"];//是否直达
if (DirectFlightOnly.Trim() == "true")
{
op.SetLowestOrAll("A");//L:每个航班返回最低价; A:返回所有可用舱位价格。缺省为L
}
else
{
op.SetLowestOrAll("L");//L:每个航班返回最低价; A:返回所有可用舱位价格。缺省为L
}
//op.SetLowestOrAll("A");//L:每个航班返回最低价; A:返回所有可用舱位价格。缺省为L
//op.SetRuleTypeNeeded("ALL");//ALL:需要所有文本规则;NON:不需要文本规则;SIM:只需要文本规则前两项缺省为ALL
op.SetFareSource("ALL");//PUB-查公布价, YPUB-只查Y舱公布价, ALL-包括公布价和净价。缺省为ALL
//op.SetIsSpecificClassAllPriceZvalueNeeded("Y");//setIsSpecificClassAllPriceZvalueNeeded("Y");
//op.SetIsPsDateBindsNeeded("Y");
op.SetIsCabinFareNeeded("Y");
op.SetIsZKeyNeeded("Y");
return op;
}
public static TravelPreferencesType getTravelPreferencesType()
{
TravelPreferencesType tp = new TravelPreferencesType();
//tp.setCabinClass("Y");//服务等级 F/C/Y
tp.SetDisplayCurrCode("CNY");//显示用货币类型
tp.SetCurrCode("CNY");//运价发布所有货币类型
string DirectFlightOnly = HttpContext.Current.Request["DirectFlightOnly"];//是否直达
if (DirectFlightOnly.Trim() == "true")
{
tp.SetIsDirectFlightOnly(true);//true - 只要直达航班;false - 包括非直达航班
}
else
{
tp.SetIsDirectFlightOnly(false);//true - 只要直达航班;false - 包括非直达航班
}
tp.SetJourneyType("OW");//OW - one way; RT - round trip; TS - two segments; MS - multi segment
//tp.SetIsDealModel(true);//是否走产品管理(EPM)
//tp.setIsGroup(false);//是否为团队 true/false
ArrayList passenger = new ArrayList();
PassengerType pa = new PassengerType();
pa.SetNumber(1);//人数
pa.SetType("AD");//成人
passenger.Add(pa);
tp.SetPassenger(passenger);
return tp;
}
/*====================查询指定航空公司舱位价格=====================
--例:1180.00/HU/7081/05NOV15/F/O/50.0/0.0/1350.00/CNY/0.0300,CA/C/2930.00/130.0/50.0/50.0*/
public string StringBuildera(Output output)
{
string str = "";
if (output.GetResult().GetFlightShopResult().GetPSn().GetPS() != null)
{
for (int j = 0; j < output.GetResult().GetFlightShopResult().GetPSn().GetPS().Count; j++)
{
PricingSolutionType fs_ps = (PricingSolutionType)output.GetResult().GetFlightShopResult().GetPSn().GetPS()[j];
CabinFare CF = (CabinFare)fs_ps.Getcabinfares().GetyCabinFare()[0];
string cabin = CF.Getcabin();//服务等级
string amount = CF.Getamount();//服务等级价格
for (int j2 = 0; j2 < fs_ps.GetRouts().Count; j2++)
{
Routs routs = (Routs)fs_ps.GetRouts()[j2];
for (int j21 = 0; j21 < routs.GetRout().Count; j21++)
{
if (cabin.Trim() != "")
{
str = str + amount + "/";
}
else
{
str = str + "0" + "/";
}
RoutType rout = (RoutType)routs.GetRout()[j21];
//rout.GetBkClass();
string carr = rout.GetCarr();//航空公司两字码
str = str + carr + "/";
string fltNo = rout.GetFltNo();//航班号
str = str + fltNo + "/";
string departureDate = rout.GetDepartureDate();//起飞日期
DateTime st = DateTime.Parse(departureDate);
string strDate = st.ToString("ddMMMyy", DateTimeFormatInfo.InvariantInfo);
str = str + strDate + "/";
string bkClass = rout.GetBkClass();//舱位
str = str + bkClass + "/";
string oI = rout.GetOI();//去程回程标志,O 代表去程,I 代表回程
str = str + oI + "/";
TaxType tax = (TaxType)fs_ps.GetTaxes().GetTax()[0];
string amt = tax.GetAmt();//机场建建设费
str = str + amt + "/";
TaxType tax_a = (TaxType)fs_ps.GetTaxes().GetTax()[1];
string amt_A = tax_a.GetAmt();//燃油费
str = str + amt_A + "/";
string disAmt = fs_ps.GetDisAmt();//机票价格
str = str + disAmt + "/";
string disCurrCode = fs_ps.GetDisCurrCode();//显示用货币类型
str = str + disCurrCode + "/";
string zValue = fs_ps.GetZValue();//退票费折扣
str = str + zValue + "/";
str = str + ",";
}
}
}
}
return str;
}
//3个参数:所有航空公司舱位价格,所要查询的航空公司,要查询的舱位
public string CwJgInfo(string CabinPrice, string airline, string fltNo, string Scw)//
{
string amt = "0";//机场建建设费
string amt_A = "0";//燃油费
string disAmt = "0";//机票价格
string disCurrCode = "CNY";//显示用货币类型
string zValue = "0";//退票费折扣
string DisCount = "0";//折扣
string OI = "O";//去回程标识
string[] arrayabc = CabinPrice.Split(',');//分割
//sb.Append("价格数据量:" + arrayabc.Length);
for (int jgabc = 0; jgabc < arrayabc.Length - 1; jgabc++)
{
string[] CwJgOne = arrayabc[jgabc].Split('/');//分割
if (airline.Trim() == CwJgOne[1].Trim() && fltNo.Trim() == CwJgOne[2].Trim() && Scw.Trim() == CwJgOne[4].Trim())// && dt == CwJgOne[2].Trim().ToUpper()
{
amt = CwJgOne[6].ToString();//机场建建设费
//sb.Append("机场建建设费:" + amt);
amt_A = CwJgOne[7].ToString();//燃油费
//sb.Append("燃油费:" + amt_A);
disAmt = CwJgOne[8].ToString();//机票价格
//sb.Append("机票价格:" + disAmt);
disCurrCode = CwJgOne[9].ToString();//显示用货币类型
//sb.Append("显示用货币类型:" + disCurrCode);
zValue = CwJgOne[10].ToString();//代理费折扣
//sb.Append("代理费折扣:" + zValue);
if (CwJgOne[0].ToString().Trim() == "0")
{
DisCount = "特价";//折扣
//amount = CwJgOne[0].ToString();//Y舱位价格
}
else
{
if (CwJgOne[0].ToString().Trim() == CwJgOne[8].ToString().Trim())
{
DisCount = "全价";//折扣
//amount = CwJgOne[0].ToString();//Y舱位价格
}
else
{
double xzjg = Convert.ToDouble(CwJgOne[8].ToString().Trim());//现有价格
double yljg = Convert.ToDouble(CwJgOne[0].ToString().Trim());//原来价格
double zk = Math.Round((xzjg / yljg) * 10, 1);
if (zk > 10 || zk < 0)
{
DisCount = "特殊折扣";
}
else
{
DisCount = zk.ToString();//默认为保留两位
}
}
}
OI = CwJgOne[5].ToString();//去回程标识
}
}
return amt + "/" + amt_A + "/" + disAmt + "/" + disCurrCode + "/" + zValue + "/" + DisCount + "/" + OI;
}
public void PrintResult(Output output)
{
//StringBuilder sb = new StringBuilder();
List<myAvItem> list = new List<myAvItem>();
if (output.GetResult().GetFlightShopResult().GetAvJourneys() != null)
{
for (int i = 0; i < output.GetResult().GetFlightShopResult().GetAvJourneys().Count; i++)
{
AvJourneys fs_aj = (AvJourneys)output.GetResult().GetFlightShopResult().GetAvJourneys()[i];
for (int h1 = 0; h1 < fs_aj.GetAvJourney().Count; h1++)
{
AvailableJourneyType ajt = (AvailableJourneyType)fs_aj.GetAvJourney()[h1];
for (int h2 = 0; h2 < ajt.GetAvOpt().Count; h2++)
{
AvOpt avopt = (AvOpt)ajt.GetAvOpt()[h2];
for (int h3 = 0; h3 < avopt.GetFlt().Count; h3++)
{
FsFlightType flt = (FsFlightType)avopt.GetFlt()[h3];
Codeshare cdsh = flt.GetCodeshare();
string airlinegx = cdsh.GetAirline();
//string fltnogx = cdsh.GetFltno();
//string airline = flt.GetAirline();//航空公司
//string fltNo = flt.GetFltNo();//航班号
//Response.Write("开始--原航班号:" + airline + fltNo + ",共享航班号:" + airlinegx + fltnogx + "/----");
if (airlinegx == null || airlinegx == "")
{
myAvItem model = new myAvItem();
string rPH = flt.GetRPH().Substring(0, 6);//编号
string airline = flt.GetAirline();//航空公司
string fltNo = flt.GetFltNo();//航班号
Term term = new Term();//航站楼信息类
term = flt.GetTerm();
string dep = flt.GetDep();//出发地
string dep_term = term.GetDep();//出发航站楼
string arr = flt.GetArr();//目的地
string arr_term = term.GetArr();//到达航站楼
int tpm = flt.GetTpm();//里程
string dt = flt.GetDt();//出发日期
string week = flt.GetWeek();//星期
string deptm = flt.GetDeptm();//出发时间
string arrtm = flt.GetArrtm();//到达时间
int stop = flt.GetStop();//经停
string dev = flt.GetDev();//机型
string meal = flt.GetMeal();//餐食标识
/*B 早餐 C 免费酒精饮料 D 正餐 F 供采购的食物 G 供采购的食物和饮料 H 热的膳食 K 轻快早餐 L 午餐 M 膳食 N 没有饭食供应 O 冷的膳食 P 供采购的酒精饮料 R 茶点 S 快餐 V 供采购的茶点 */
model.rPH = rPH;//编号
model.dt = dt;//出发日期
model.Carrier = airline;//航空公司两字码
model.Airline = fltNo; //航班号
model.Orgcity = dep;//起飞城市
model.Deptime = deptm;//起飞时刻
model.Dstcity = arr;//到达城市
model.Arritime = arrtm;//到达时刻
model.Planestyle = dev;//机型
model.Stopnumber = stop;//经停次数
model.DepTermAndArriTerm = dep_term;//出发航站楼
model.arrTermAndArriTerm = arr_term;//到达航站楼
model.Meal = meal;//餐食
model.tpm = tpm; ////里程
for (int h4 = 0; h4 < flt.Get_Class().Count; h4++)
{
ClassType ct = (ClassType)flt.Get_Class()[h4];
string cwname = ct.GetName();//可用舱位名
//sb.Append("舱位名=" + cwname + ",");
string av = ct.GetAv();//可用舱位数量
//sb.Append("可用舱位数量=" + av + ",");
ArrayList subclass_al = new ArrayList();
subclass_al = ct.GetSubClass();
if (subclass_al.Count > 0)
{
for (int h5 = 0; h5 < subclass_al.Count; h5++)
{
string subcwname = subclass_al[h5].ToString();//子舱位名
//sb.Append("子舱位名=" + cwname + ",");
if (subcwname.Trim() != cwname.Trim())
{
string ThisCabinInformation = CwJgInfo(FFDprice, airline.Trim(), fltNo.Trim(), subcwname.Trim());
string[] CwJgOne = ThisCabinInformation.Split('/');//分割
myCabinPriceInfo CabinPriceInfo = new myCabinPriceInfo();
if (CwJgOne[2].ToString().Trim() != "0")
{
string amt = "0";//机场建建设费
string amt_A = "0";//燃油费
string disAmt = "0";//机票价格
string disCurrCode = "CNY";//显示用货币类型
string zValue = "0";//代理人Z值
string DisCount = "0";// 折扣
string OI = "O";// 去回程标识
amt = CwJgOne[0].ToString();
amt_A = CwJgOne[1].ToString();
disAmt = CwJgOne[2].ToString();
disCurrCode = CwJgOne[3].ToString();
zValue = CwJgOne[4].ToString();
DisCount = CwJgOne[5].ToString();
OI = CwJgOne[6].ToString();
CabinPriceInfo.CabinNo = subcwname.Trim();//可用舱位名
CabinPriceInfo.CabinInfo = av.Trim();//数量
CabinPriceInfo.Price = disAmt;//机票价格
CabinPriceInfo.disCurrCode = disCurrCode;//显示用货币类型
CabinPriceInfo.AirportTax = amt;//机场建建设费
CabinPriceInfo.FuelTax = amt_A;//燃油费
CabinPriceInfo.zValue = zValue;//代理人Z值
CabinPriceInfo.DisCount = DisCount;// 折扣
CabinPriceInfo.OI = OI;// 去回程标识
model.listCabinPriceInfo.Add(CabinPriceInfo);
}
}
else
{
string ThisCabinInformation = CwJgInfo(FFDprice, airline.Trim(), fltNo.Trim(), cwname.Trim());
string[] CwJgOne = ThisCabinInformation.Split('/');//分割
myCabinPriceInfo CabinPriceInfo = new myCabinPriceInfo();
if (CwJgOne[2].ToString().Trim() != "0")
{
string amt = "0";//机场建建设费
string amt_A = "0";//燃油费
string disAmt = "0";//机票价格
string disCurrCode = "CNY";//显示用货币类型
string zValue = "0";//代理人Z值
string DisCount = "0";// 折扣
string OI = "O";// 去回程标识
amt = CwJgOne[0].ToString();
amt_A = CwJgOne[1].ToString();
disAmt = CwJgOne[2].ToString();
disCurrCode = CwJgOne[3].ToString();
zValue = CwJgOne[4].ToString();
DisCount = CwJgOne[5].ToString();
OI = CwJgOne[6].ToString();
CabinPriceInfo.CabinNo = cwname.Trim();//可用舱位名
CabinPriceInfo.CabinInfo = av.Trim();//数量
CabinPriceInfo.Price = disAmt;//机票价格
CabinPriceInfo.disCurrCode = disCurrCode;//显示用货币类型
CabinPriceInfo.AirportTax = amt;//机场建建设费
CabinPriceInfo.FuelTax = amt_A;//燃油费
CabinPriceInfo.zValue = zValue;//代理人Z值
CabinPriceInfo.DisCount = DisCount;// 折扣
CabinPriceInfo.OI = OI;// 去回程标识
model.listCabinPriceInfo.Add(CabinPriceInfo);
}
}
}
}
else
{
string ThisCabinInformation = CwJgInfo(FFDprice, airline.Trim(), fltNo.Trim(), cwname.Trim());
string[] CwJgOne = ThisCabinInformation.Split('/');//分割
myCabinPriceInfo CabinPriceInfo = new myCabinPriceInfo();
if (CwJgOne[2].ToString().Trim() != "0")
{
string amt = "0";//机场建建设费
string amt_A = "0";//燃油费
string disAmt = "0";//机票价格
string disCurrCode = "CNY";//显示用货币类型
string zValue = "0";//代理人Z值
string DisCount = "0";// 折扣
string OI = "O";// 去回程标识
amt = CwJgOne[0].ToString();
amt_A = CwJgOne[1].ToString();
disAmt = CwJgOne[2].ToString();
disCurrCode = CwJgOne[3].ToString();
zValue = CwJgOne[4].ToString();
DisCount = CwJgOne[5].ToString();
OI = CwJgOne[6].ToString();
CabinPriceInfo.CabinNo = cwname.Trim();//可用舱位名
CabinPriceInfo.CabinInfo = av.Trim();//数量
CabinPriceInfo.Price = disAmt;//机票价格
CabinPriceInfo.disCurrCode = disCurrCode;//显示用货币类型
CabinPriceInfo.AirportTax = amt;//机场建建设费
CabinPriceInfo.FuelTax = amt_A;//燃油费
CabinPriceInfo.zValue = zValue;//代理人Z值
CabinPriceInfo.DisCount = DisCount;// 折扣
CabinPriceInfo.OI = OI;// 去回程标识
model.listCabinPriceInfo.Add(CabinPriceInfo);
}
}
}
//ArrayList arrl_class = new ArrayList(); //可用舱位信息
//arrl_class = flt.Get_Class(); ;
//ClassType classtype = new ClassType();
//for (int cwinfo = 0; cwinfo < arrl_class.Count; cwinfo++)
//{
// string[] array = arrl_class[cwinfo].ToString().Split(',');//分割
// string[] arraya = array[0].Split('=');
// string[] arrayb = array[2].Split('=');
// string ThisCabinInformation = CwJgInfo(FFDprice, airline.Trim(), fltNo.Trim(), arraya[1].Trim());
// string[] CwJgOne = ThisCabinInformation.Split('/');//分割
// myCabinPriceInfo CabinPriceInfo = new myCabinPriceInfo();
// if (CwJgOne[2].ToString().Trim() != "0")
// {
// string amt = "0";//机场建建设费
// string amt_A = "0";//燃油费
// string disAmt = "0";//机票价格
// string disCurrCode = "CNY";//显示用货币类型
// string zValue = "0";//代理人Z值
// amt = CwJgOne[0].ToString();
// amt_A = CwJgOne[1].ToString();
// disAmt = CwJgOne[2].ToString();
// disCurrCode = CwJgOne[3].ToString();
// zValue = CwJgOne[4].ToString();
// CabinPriceInfo.CabinNo = arraya[1].Trim();//可用舱位名
// CabinPriceInfo.CabinInfo = arrayb[1].Trim();//数量
// CabinPriceInfo.Price = disAmt;//机票价格
// CabinPriceInfo.disCurrCode = disCurrCode;//显示用货币类型
// CabinPriceInfo.AirportTax = amt;//机场建建设费
// CabinPriceInfo.FuelTax = amt_A;//燃油费
// CabinPriceInfo.zValue = zValue;//代理人Z值
// model.listCabinPriceInfo.Add(CabinPriceInfo);
// }
//}
list.Add(model);
}
}
}
}
}
string strJson = JsonConvert.SerializeObject(list);
//string strZip = ZipHelper.GZipCompressString(strJson);
Response.Write(strJson);
}
}
} //序号
public string rPH { get; set; }
//出发日期
public string dt { get; set; }
//航公司两字码
public string Carrier { get; set; }
//航班号
public string Airline { get; set; }
//起飞城市
public string Orgcity { get; set; }
//起飞时刻
public string Deptime { get; set; }
//到达城市
public string Dstcity { get; set; }
//到达时刻
public string Arritime { get; set; }
//机型
public string Planestyle { get; set; }
//经停次数
public int Stopnumber { get; set; }
//起飞航站楼
public string DepTermAndArriTerm { get; set; }
//达到航站楼
public string arrTermAndArriTerm { get; set; }
//餐食
public string Meal { get; set; }
//代码共享
public int tpm { get; set; }
//舱位信息与价格信息
public List<myCabinPriceInfo> listCabinPriceInfo { get; set; }//舱位信息与价格信息 listCabinpriceInfo类字段
/// <summary>
/// 舱位编号
/// </summary>
public string CabinNo { get; set; }
/// <summary>
/// 舱位可用数量
/// </summary>
public string CabinInfo { get; set; }
/// <summary>
/// 价格
/// </summary>
public string Price { get; set; }
/// <summary>
/// 货币类型
/// </summary>
public string disCurrCode { get; set; }
/// <summary>
/// 机建
/// </summary>
public string AirportTax { get; set; }
/// <summary>
/// 燃油
/// </summary>
public string FuelTax { get; set; }
/// <summary>
/// 代理人费率
/// </summary>
public string zValue { get; set; }
/// <summary>
/// 折扣率
/// </summary>
public string DisCount { get; set; }
/// <summary>
/// 去程回程标志,O 代表去程,I 代表回程
/// </summary>
public string OI { get; set; }原文:http://blog.csdn.net/qq_30079853/article/details/51452228