summaryrefslogtreecommitdiff
path: root/packages/googleapi/src/googleqpxexpress.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/googleapi/src/googleqpxexpress.pp')
-rw-r--r--packages/googleapi/src/googleqpxexpress.pp2777
1 files changed, 2777 insertions, 0 deletions
diff --git a/packages/googleapi/src/googleqpxexpress.pp b/packages/googleapi/src/googleqpxexpress.pp
new file mode 100644
index 0000000000..2e41a04813
--- /dev/null
+++ b/packages/googleapi/src/googleqpxexpress.pp
@@ -0,0 +1,2777 @@
+unit googleqpxExpress;
+{$MODE objfpc}
+{$H+}
+
+interface
+
+uses sysutils, classes, googleservice, restbase, googlebase;
+
+type
+
+ //Top-level schema types
+ TAircraftData = Class;
+ TAirportData = Class;
+ TBagDescriptor = Class;
+ TCarrierData = Class;
+ TCityData = Class;
+ TData = Class;
+ TFareInfo = Class;
+ TFlightInfo = Class;
+ TFreeBaggageAllowance = Class;
+ TLegInfo = Class;
+ TPassengerCounts = Class;
+ TPricingInfo = Class;
+ TSegmentInfo = Class;
+ TSegmentPricing = Class;
+ TSliceInfo = Class;
+ TSliceInput = Class;
+ TTaxData = Class;
+ TTaxInfo = Class;
+ TTimeOfDayRange = Class;
+ TTripOption = Class;
+ TTripOptionsRequest = Class;
+ TTripOptionsResponse = Class;
+ TTripsSearchRequest = Class;
+ TTripsSearchResponse = Class;
+ TAircraftDataArray = Array of TAircraftData;
+ TAirportDataArray = Array of TAirportData;
+ TBagDescriptorArray = Array of TBagDescriptor;
+ TCarrierDataArray = Array of TCarrierData;
+ TCityDataArray = Array of TCityData;
+ TDataArray = Array of TData;
+ TFareInfoArray = Array of TFareInfo;
+ TFlightInfoArray = Array of TFlightInfo;
+ TFreeBaggageAllowanceArray = Array of TFreeBaggageAllowance;
+ TLegInfoArray = Array of TLegInfo;
+ TPassengerCountsArray = Array of TPassengerCounts;
+ TPricingInfoArray = Array of TPricingInfo;
+ TSegmentInfoArray = Array of TSegmentInfo;
+ TSegmentPricingArray = Array of TSegmentPricing;
+ TSliceInfoArray = Array of TSliceInfo;
+ TSliceInputArray = Array of TSliceInput;
+ TTaxDataArray = Array of TTaxData;
+ TTaxInfoArray = Array of TTaxInfo;
+ TTimeOfDayRangeArray = Array of TTimeOfDayRange;
+ TTripOptionArray = Array of TTripOption;
+ TTripOptionsRequestArray = Array of TTripOptionsRequest;
+ TTripOptionsResponseArray = Array of TTripOptionsResponse;
+ TTripsSearchRequestArray = Array of TTripsSearchRequest;
+ TTripsSearchResponseArray = Array of TTripsSearchResponse;
+ //Anonymous types, using auto-generated names
+ TDataTypeaircraftArray = Array of TAircraftData;
+ TDataTypeairportArray = Array of TAirportData;
+ TDataTypecarrierArray = Array of TCarrierData;
+ TDataTypecityArray = Array of TCityData;
+ TDataTypetaxArray = Array of TTaxData;
+ TFreeBaggageAllowanceTypebagDescriptorArray = Array of TBagDescriptor;
+ TPricingInfoTypefareArray = Array of TFareInfo;
+ TPricingInfoTypesegmentPricingArray = Array of TSegmentPricing;
+ TPricingInfoTypetaxArray = Array of TTaxInfo;
+ TSegmentInfoTypelegArray = Array of TLegInfo;
+ TSegmentPricingTypefreeBaggageOptionArray = Array of TFreeBaggageAllowance;
+ TSliceInfoTypesegmentArray = Array of TSegmentInfo;
+ TTripOptionTypepricingArray = Array of TPricingInfo;
+ TTripOptionTypesliceArray = Array of TSliceInfo;
+ TTripOptionsRequestTypesliceArray = Array of TSliceInput;
+ TTripOptionsResponseTypetripOptionArray = Array of TTripOption;
+
+ { --------------------------------------------------------------------
+ TAircraftData
+ --------------------------------------------------------------------}
+
+ TAircraftData = Class(TGoogleBaseObject)
+ Private
+ Fcode : String;
+ Fkind : String;
+ Fname : String;
+ Protected
+ //Property setters
+ Procedure Setcode(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setname(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property code : String Index 0 Read Fcode Write Setcode;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property name : String Index 16 Read Fname Write Setname;
+ end;
+ TAircraftDataClass = Class of TAircraftData;
+
+ { --------------------------------------------------------------------
+ TAirportData
+ --------------------------------------------------------------------}
+
+ TAirportData = Class(TGoogleBaseObject)
+ Private
+ Fcity : String;
+ Fcode : String;
+ Fkind : String;
+ Fname : String;
+ Protected
+ //Property setters
+ Procedure Setcity(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setcode(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setname(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property city : String Index 0 Read Fcity Write Setcity;
+ Property code : String Index 8 Read Fcode Write Setcode;
+ Property kind : String Index 16 Read Fkind Write Setkind;
+ Property name : String Index 24 Read Fname Write Setname;
+ end;
+ TAirportDataClass = Class of TAirportData;
+
+ { --------------------------------------------------------------------
+ TBagDescriptor
+ --------------------------------------------------------------------}
+
+ TBagDescriptor = Class(TGoogleBaseObject)
+ Private
+ FcommercialName : String;
+ Fcount : integer;
+ Fdescription : TStringArray;
+ Fkind : String;
+ Fsubcode : String;
+ Protected
+ //Property setters
+ Procedure SetcommercialName(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setcount(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setdescription(AIndex : Integer; const AValue : TStringArray); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setsubcode(AIndex : Integer; const AValue : String); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property commercialName : String Index 0 Read FcommercialName Write SetcommercialName;
+ Property count : integer Index 8 Read Fcount Write Setcount;
+ Property description : TStringArray Index 16 Read Fdescription Write Setdescription;
+ Property kind : String Index 24 Read Fkind Write Setkind;
+ Property subcode : String Index 32 Read Fsubcode Write Setsubcode;
+ end;
+ TBagDescriptorClass = Class of TBagDescriptor;
+
+ { --------------------------------------------------------------------
+ TCarrierData
+ --------------------------------------------------------------------}
+
+ TCarrierData = Class(TGoogleBaseObject)
+ Private
+ Fcode : String;
+ Fkind : String;
+ Fname : String;
+ Protected
+ //Property setters
+ Procedure Setcode(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setname(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property code : String Index 0 Read Fcode Write Setcode;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property name : String Index 16 Read Fname Write Setname;
+ end;
+ TCarrierDataClass = Class of TCarrierData;
+
+ { --------------------------------------------------------------------
+ TCityData
+ --------------------------------------------------------------------}
+
+ TCityData = Class(TGoogleBaseObject)
+ Private
+ Fcode : String;
+ Fcountry : String;
+ Fkind : String;
+ Fname : String;
+ Protected
+ //Property setters
+ Procedure Setcode(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setcountry(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setname(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property code : String Index 0 Read Fcode Write Setcode;
+ Property country : String Index 8 Read Fcountry Write Setcountry;
+ Property kind : String Index 16 Read Fkind Write Setkind;
+ Property name : String Index 24 Read Fname Write Setname;
+ end;
+ TCityDataClass = Class of TCityData;
+
+ { --------------------------------------------------------------------
+ TData
+ --------------------------------------------------------------------}
+
+ TData = Class(TGoogleBaseObject)
+ Private
+ Faircraft : TDataTypeaircraftArray;
+ Fairport : TDataTypeairportArray;
+ Fcarrier : TDataTypecarrierArray;
+ Fcity : TDataTypecityArray;
+ Fkind : String;
+ Ftax : TDataTypetaxArray;
+ Protected
+ //Property setters
+ Procedure Setaircraft(AIndex : Integer; const AValue : TDataTypeaircraftArray); virtual;
+ Procedure Setairport(AIndex : Integer; const AValue : TDataTypeairportArray); virtual;
+ Procedure Setcarrier(AIndex : Integer; const AValue : TDataTypecarrierArray); virtual;
+ Procedure Setcity(AIndex : Integer; const AValue : TDataTypecityArray); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Settax(AIndex : Integer; const AValue : TDataTypetaxArray); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property aircraft : TDataTypeaircraftArray Index 0 Read Faircraft Write Setaircraft;
+ Property airport : TDataTypeairportArray Index 8 Read Fairport Write Setairport;
+ Property carrier : TDataTypecarrierArray Index 16 Read Fcarrier Write Setcarrier;
+ Property city : TDataTypecityArray Index 24 Read Fcity Write Setcity;
+ Property kind : String Index 32 Read Fkind Write Setkind;
+ Property tax : TDataTypetaxArray Index 40 Read Ftax Write Settax;
+ end;
+ TDataClass = Class of TData;
+
+ { --------------------------------------------------------------------
+ TFareInfo
+ --------------------------------------------------------------------}
+
+ TFareInfo = Class(TGoogleBaseObject)
+ Private
+ FbasisCode : String;
+ Fcarrier : String;
+ Fdestination : String;
+ Fid : String;
+ Fkind : String;
+ Forigin : String;
+ F_private : boolean;
+ Protected
+ Class Function ExportPropertyName(Const AName : String) : string; override;
+ //Property setters
+ Procedure SetbasisCode(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setcarrier(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setdestination(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setid(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setorigin(AIndex : Integer; const AValue : String); virtual;
+ Procedure Set_private(AIndex : Integer; const AValue : boolean); virtual;
+ Public
+ Published
+ Property basisCode : String Index 0 Read FbasisCode Write SetbasisCode;
+ Property carrier : String Index 8 Read Fcarrier Write Setcarrier;
+ Property destination : String Index 16 Read Fdestination Write Setdestination;
+ Property id : String Index 24 Read Fid Write Setid;
+ Property kind : String Index 32 Read Fkind Write Setkind;
+ Property origin : String Index 40 Read Forigin Write Setorigin;
+ Property _private : boolean Index 48 Read F_private Write Set_private;
+ end;
+ TFareInfoClass = Class of TFareInfo;
+
+ { --------------------------------------------------------------------
+ TFlightInfo
+ --------------------------------------------------------------------}
+
+ TFlightInfo = Class(TGoogleBaseObject)
+ Private
+ Fcarrier : String;
+ Fnumber : String;
+ Protected
+ //Property setters
+ Procedure Setcarrier(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setnumber(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property carrier : String Index 0 Read Fcarrier Write Setcarrier;
+ Property number : String Index 8 Read Fnumber Write Setnumber;
+ end;
+ TFlightInfoClass = Class of TFlightInfo;
+
+ { --------------------------------------------------------------------
+ TFreeBaggageAllowance
+ --------------------------------------------------------------------}
+
+ TFreeBaggageAllowance = Class(TGoogleBaseObject)
+ Private
+ FbagDescriptor : TFreeBaggageAllowanceTypebagDescriptorArray;
+ Fkilos : integer;
+ FkilosPerPiece : integer;
+ Fkind : String;
+ Fpieces : integer;
+ Fpounds : integer;
+ Protected
+ //Property setters
+ Procedure SetbagDescriptor(AIndex : Integer; const AValue : TFreeBaggageAllowanceTypebagDescriptorArray); virtual;
+ Procedure Setkilos(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetkilosPerPiece(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setpieces(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setpounds(AIndex : Integer; const AValue : integer); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property bagDescriptor : TFreeBaggageAllowanceTypebagDescriptorArray Index 0 Read FbagDescriptor Write SetbagDescriptor;
+ Property kilos : integer Index 8 Read Fkilos Write Setkilos;
+ Property kilosPerPiece : integer Index 16 Read FkilosPerPiece Write SetkilosPerPiece;
+ Property kind : String Index 24 Read Fkind Write Setkind;
+ Property pieces : integer Index 32 Read Fpieces Write Setpieces;
+ Property pounds : integer Index 40 Read Fpounds Write Setpounds;
+ end;
+ TFreeBaggageAllowanceClass = Class of TFreeBaggageAllowance;
+
+ { --------------------------------------------------------------------
+ TLegInfo
+ --------------------------------------------------------------------}
+
+ TLegInfo = Class(TGoogleBaseObject)
+ Private
+ Faircraft : String;
+ FarrivalTime : String;
+ FchangePlane : boolean;
+ FconnectionDuration : integer;
+ FdepartureTime : String;
+ Fdestination : String;
+ FdestinationTerminal : String;
+ Fduration : integer;
+ Fid : String;
+ Fkind : String;
+ Fmeal : String;
+ Fmileage : integer;
+ FonTimePerformance : integer;
+ FoperatingDisclosure : String;
+ Forigin : String;
+ ForiginTerminal : String;
+ Fsecure : boolean;
+ Protected
+ //Property setters
+ Procedure Setaircraft(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetarrivalTime(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetchangePlane(AIndex : Integer; const AValue : boolean); virtual;
+ Procedure SetconnectionDuration(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetdepartureTime(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setdestination(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetdestinationTerminal(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setduration(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setid(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setmeal(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setmileage(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetonTimePerformance(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetoperatingDisclosure(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setorigin(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetoriginTerminal(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setsecure(AIndex : Integer; const AValue : boolean); virtual;
+ Public
+ Published
+ Property aircraft : String Index 0 Read Faircraft Write Setaircraft;
+ Property arrivalTime : String Index 8 Read FarrivalTime Write SetarrivalTime;
+ Property changePlane : boolean Index 16 Read FchangePlane Write SetchangePlane;
+ Property connectionDuration : integer Index 24 Read FconnectionDuration Write SetconnectionDuration;
+ Property departureTime : String Index 32 Read FdepartureTime Write SetdepartureTime;
+ Property destination : String Index 40 Read Fdestination Write Setdestination;
+ Property destinationTerminal : String Index 48 Read FdestinationTerminal Write SetdestinationTerminal;
+ Property duration : integer Index 56 Read Fduration Write Setduration;
+ Property id : String Index 64 Read Fid Write Setid;
+ Property kind : String Index 72 Read Fkind Write Setkind;
+ Property meal : String Index 80 Read Fmeal Write Setmeal;
+ Property mileage : integer Index 88 Read Fmileage Write Setmileage;
+ Property onTimePerformance : integer Index 96 Read FonTimePerformance Write SetonTimePerformance;
+ Property operatingDisclosure : String Index 104 Read FoperatingDisclosure Write SetoperatingDisclosure;
+ Property origin : String Index 112 Read Forigin Write Setorigin;
+ Property originTerminal : String Index 120 Read ForiginTerminal Write SetoriginTerminal;
+ Property secure : boolean Index 128 Read Fsecure Write Setsecure;
+ end;
+ TLegInfoClass = Class of TLegInfo;
+
+ { --------------------------------------------------------------------
+ TPassengerCounts
+ --------------------------------------------------------------------}
+
+ TPassengerCounts = Class(TGoogleBaseObject)
+ Private
+ FadultCount : integer;
+ FchildCount : integer;
+ FinfantInLapCount : integer;
+ FinfantInSeatCount : integer;
+ Fkind : String;
+ FseniorCount : integer;
+ Protected
+ //Property setters
+ Procedure SetadultCount(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetchildCount(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetinfantInLapCount(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetinfantInSeatCount(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetseniorCount(AIndex : Integer; const AValue : integer); virtual;
+ Public
+ Published
+ Property adultCount : integer Index 0 Read FadultCount Write SetadultCount;
+ Property childCount : integer Index 8 Read FchildCount Write SetchildCount;
+ Property infantInLapCount : integer Index 16 Read FinfantInLapCount Write SetinfantInLapCount;
+ Property infantInSeatCount : integer Index 24 Read FinfantInSeatCount Write SetinfantInSeatCount;
+ Property kind : String Index 32 Read Fkind Write Setkind;
+ Property seniorCount : integer Index 40 Read FseniorCount Write SetseniorCount;
+ end;
+ TPassengerCountsClass = Class of TPassengerCounts;
+
+ { --------------------------------------------------------------------
+ TPricingInfo
+ --------------------------------------------------------------------}
+
+ TPricingInfo = Class(TGoogleBaseObject)
+ Private
+ FbaseFareTotal : String;
+ Ffare : TPricingInfoTypefareArray;
+ FfareCalculation : String;
+ Fkind : String;
+ FlatestTicketingTime : String;
+ Fpassengers : TPassengerCounts;
+ Fptc : String;
+ Frefundable : boolean;
+ FsaleFareTotal : String;
+ FsaleTaxTotal : String;
+ FsaleTotal : String;
+ FsegmentPricing : TPricingInfoTypesegmentPricingArray;
+ Ftax : TPricingInfoTypetaxArray;
+ Protected
+ //Property setters
+ Procedure SetbaseFareTotal(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setfare(AIndex : Integer; const AValue : TPricingInfoTypefareArray); virtual;
+ Procedure SetfareCalculation(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetlatestTicketingTime(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setpassengers(AIndex : Integer; const AValue : TPassengerCounts); virtual;
+ Procedure Setptc(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setrefundable(AIndex : Integer; const AValue : boolean); virtual;
+ Procedure SetsaleFareTotal(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetsaleTaxTotal(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetsaleTotal(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetsegmentPricing(AIndex : Integer; const AValue : TPricingInfoTypesegmentPricingArray); virtual;
+ Procedure Settax(AIndex : Integer; const AValue : TPricingInfoTypetaxArray); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property baseFareTotal : String Index 0 Read FbaseFareTotal Write SetbaseFareTotal;
+ Property fare : TPricingInfoTypefareArray Index 8 Read Ffare Write Setfare;
+ Property fareCalculation : String Index 16 Read FfareCalculation Write SetfareCalculation;
+ Property kind : String Index 24 Read Fkind Write Setkind;
+ Property latestTicketingTime : String Index 32 Read FlatestTicketingTime Write SetlatestTicketingTime;
+ Property passengers : TPassengerCounts Index 40 Read Fpassengers Write Setpassengers;
+ Property ptc : String Index 48 Read Fptc Write Setptc;
+ Property refundable : boolean Index 56 Read Frefundable Write Setrefundable;
+ Property saleFareTotal : String Index 64 Read FsaleFareTotal Write SetsaleFareTotal;
+ Property saleTaxTotal : String Index 72 Read FsaleTaxTotal Write SetsaleTaxTotal;
+ Property saleTotal : String Index 80 Read FsaleTotal Write SetsaleTotal;
+ Property segmentPricing : TPricingInfoTypesegmentPricingArray Index 88 Read FsegmentPricing Write SetsegmentPricing;
+ Property tax : TPricingInfoTypetaxArray Index 96 Read Ftax Write Settax;
+ end;
+ TPricingInfoClass = Class of TPricingInfo;
+
+ { --------------------------------------------------------------------
+ TSegmentInfo
+ --------------------------------------------------------------------}
+
+ TSegmentInfo = Class(TGoogleBaseObject)
+ Private
+ FbookingCode : String;
+ FbookingCodeCount : integer;
+ Fcabin : String;
+ FconnectionDuration : integer;
+ Fduration : integer;
+ Fflight : TFlightInfo;
+ Fid : String;
+ Fkind : String;
+ Fleg : TSegmentInfoTypelegArray;
+ FmarriedSegmentGroup : String;
+ FsubjectToGovernmentApproval : boolean;
+ Protected
+ //Property setters
+ Procedure SetbookingCode(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetbookingCodeCount(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setcabin(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetconnectionDuration(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setduration(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setflight(AIndex : Integer; const AValue : TFlightInfo); virtual;
+ Procedure Setid(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setleg(AIndex : Integer; const AValue : TSegmentInfoTypelegArray); virtual;
+ Procedure SetmarriedSegmentGroup(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetsubjectToGovernmentApproval(AIndex : Integer; const AValue : boolean); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property bookingCode : String Index 0 Read FbookingCode Write SetbookingCode;
+ Property bookingCodeCount : integer Index 8 Read FbookingCodeCount Write SetbookingCodeCount;
+ Property cabin : String Index 16 Read Fcabin Write Setcabin;
+ Property connectionDuration : integer Index 24 Read FconnectionDuration Write SetconnectionDuration;
+ Property duration : integer Index 32 Read Fduration Write Setduration;
+ Property flight : TFlightInfo Index 40 Read Fflight Write Setflight;
+ Property id : String Index 48 Read Fid Write Setid;
+ Property kind : String Index 56 Read Fkind Write Setkind;
+ Property leg : TSegmentInfoTypelegArray Index 64 Read Fleg Write Setleg;
+ Property marriedSegmentGroup : String Index 72 Read FmarriedSegmentGroup Write SetmarriedSegmentGroup;
+ Property subjectToGovernmentApproval : boolean Index 80 Read FsubjectToGovernmentApproval Write SetsubjectToGovernmentApproval;
+ end;
+ TSegmentInfoClass = Class of TSegmentInfo;
+
+ { --------------------------------------------------------------------
+ TSegmentPricing
+ --------------------------------------------------------------------}
+
+ TSegmentPricing = Class(TGoogleBaseObject)
+ Private
+ FfareId : String;
+ FfreeBaggageOption : TSegmentPricingTypefreeBaggageOptionArray;
+ Fkind : String;
+ FsegmentId : String;
+ Protected
+ //Property setters
+ Procedure SetfareId(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetfreeBaggageOption(AIndex : Integer; const AValue : TSegmentPricingTypefreeBaggageOptionArray); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetsegmentId(AIndex : Integer; const AValue : String); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property fareId : String Index 0 Read FfareId Write SetfareId;
+ Property freeBaggageOption : TSegmentPricingTypefreeBaggageOptionArray Index 8 Read FfreeBaggageOption Write SetfreeBaggageOption;
+ Property kind : String Index 16 Read Fkind Write Setkind;
+ Property segmentId : String Index 24 Read FsegmentId Write SetsegmentId;
+ end;
+ TSegmentPricingClass = Class of TSegmentPricing;
+
+ { --------------------------------------------------------------------
+ TSliceInfo
+ --------------------------------------------------------------------}
+
+ TSliceInfo = Class(TGoogleBaseObject)
+ Private
+ Fduration : integer;
+ Fkind : String;
+ Fsegment : TSliceInfoTypesegmentArray;
+ Protected
+ //Property setters
+ Procedure Setduration(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setsegment(AIndex : Integer; const AValue : TSliceInfoTypesegmentArray); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property duration : integer Index 0 Read Fduration Write Setduration;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property segment : TSliceInfoTypesegmentArray Index 16 Read Fsegment Write Setsegment;
+ end;
+ TSliceInfoClass = Class of TSliceInfo;
+
+ { --------------------------------------------------------------------
+ TSliceInput
+ --------------------------------------------------------------------}
+
+ TSliceInput = Class(TGoogleBaseObject)
+ Private
+ Falliance : String;
+ Fdate : String;
+ Fdestination : String;
+ Fkind : String;
+ FmaxConnectionDuration : integer;
+ FmaxStops : integer;
+ Forigin : String;
+ FpermittedCarrier : TStringArray;
+ FpermittedDepartureTime : TTimeOfDayRange;
+ FpreferredCabin : String;
+ FprohibitedCarrier : TStringArray;
+ Protected
+ //Property setters
+ Procedure Setalliance(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setdate(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setdestination(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetmaxConnectionDuration(AIndex : Integer; const AValue : integer); virtual;
+ Procedure SetmaxStops(AIndex : Integer; const AValue : integer); virtual;
+ Procedure Setorigin(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetpermittedCarrier(AIndex : Integer; const AValue : TStringArray); virtual;
+ Procedure SetpermittedDepartureTime(AIndex : Integer; const AValue : TTimeOfDayRange); virtual;
+ Procedure SetpreferredCabin(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetprohibitedCarrier(AIndex : Integer; const AValue : TStringArray); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property alliance : String Index 0 Read Falliance Write Setalliance;
+ Property date : String Index 8 Read Fdate Write Setdate;
+ Property destination : String Index 16 Read Fdestination Write Setdestination;
+ Property kind : String Index 24 Read Fkind Write Setkind;
+ Property maxConnectionDuration : integer Index 32 Read FmaxConnectionDuration Write SetmaxConnectionDuration;
+ Property maxStops : integer Index 40 Read FmaxStops Write SetmaxStops;
+ Property origin : String Index 48 Read Forigin Write Setorigin;
+ Property permittedCarrier : TStringArray Index 56 Read FpermittedCarrier Write SetpermittedCarrier;
+ Property permittedDepartureTime : TTimeOfDayRange Index 64 Read FpermittedDepartureTime Write SetpermittedDepartureTime;
+ Property preferredCabin : String Index 72 Read FpreferredCabin Write SetpreferredCabin;
+ Property prohibitedCarrier : TStringArray Index 80 Read FprohibitedCarrier Write SetprohibitedCarrier;
+ end;
+ TSliceInputClass = Class of TSliceInput;
+
+ { --------------------------------------------------------------------
+ TTaxData
+ --------------------------------------------------------------------}
+
+ TTaxData = Class(TGoogleBaseObject)
+ Private
+ Fid : String;
+ Fkind : String;
+ Fname : String;
+ Protected
+ //Property setters
+ Procedure Setid(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setname(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property id : String Index 0 Read Fid Write Setid;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property name : String Index 16 Read Fname Write Setname;
+ end;
+ TTaxDataClass = Class of TTaxData;
+
+ { --------------------------------------------------------------------
+ TTaxInfo
+ --------------------------------------------------------------------}
+
+ TTaxInfo = Class(TGoogleBaseObject)
+ Private
+ FchargeType : String;
+ Fcode : String;
+ Fcountry : String;
+ Fid : String;
+ Fkind : String;
+ FsalePrice : String;
+ Protected
+ //Property setters
+ Procedure SetchargeType(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setcode(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setcountry(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setid(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetsalePrice(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property chargeType : String Index 0 Read FchargeType Write SetchargeType;
+ Property code : String Index 8 Read Fcode Write Setcode;
+ Property country : String Index 16 Read Fcountry Write Setcountry;
+ Property id : String Index 24 Read Fid Write Setid;
+ Property kind : String Index 32 Read Fkind Write Setkind;
+ Property salePrice : String Index 40 Read FsalePrice Write SetsalePrice;
+ end;
+ TTaxInfoClass = Class of TTaxInfo;
+
+ { --------------------------------------------------------------------
+ TTimeOfDayRange
+ --------------------------------------------------------------------}
+
+ TTimeOfDayRange = Class(TGoogleBaseObject)
+ Private
+ FearliestTime : String;
+ Fkind : String;
+ FlatestTime : String;
+ Protected
+ //Property setters
+ Procedure SetearliestTime(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetlatestTime(AIndex : Integer; const AValue : String); virtual;
+ Public
+ Published
+ Property earliestTime : String Index 0 Read FearliestTime Write SetearliestTime;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property latestTime : String Index 16 Read FlatestTime Write SetlatestTime;
+ end;
+ TTimeOfDayRangeClass = Class of TTimeOfDayRange;
+
+ { --------------------------------------------------------------------
+ TTripOption
+ --------------------------------------------------------------------}
+
+ TTripOption = Class(TGoogleBaseObject)
+ Private
+ Fid : String;
+ Fkind : String;
+ Fpricing : TTripOptionTypepricingArray;
+ FsaleTotal : String;
+ Fslice : TTripOptionTypesliceArray;
+ Protected
+ //Property setters
+ Procedure Setid(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setpricing(AIndex : Integer; const AValue : TTripOptionTypepricingArray); virtual;
+ Procedure SetsaleTotal(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setslice(AIndex : Integer; const AValue : TTripOptionTypesliceArray); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property id : String Index 0 Read Fid Write Setid;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property pricing : TTripOptionTypepricingArray Index 16 Read Fpricing Write Setpricing;
+ Property saleTotal : String Index 24 Read FsaleTotal Write SetsaleTotal;
+ Property slice : TTripOptionTypesliceArray Index 32 Read Fslice Write Setslice;
+ end;
+ TTripOptionClass = Class of TTripOption;
+
+ { --------------------------------------------------------------------
+ TTripOptionsRequest
+ --------------------------------------------------------------------}
+
+ TTripOptionsRequest = Class(TGoogleBaseObject)
+ Private
+ FmaxPrice : String;
+ Fpassengers : TPassengerCounts;
+ Frefundable : boolean;
+ FsaleCountry : String;
+ Fslice : TTripOptionsRequestTypesliceArray;
+ Fsolutions : integer;
+ Protected
+ //Property setters
+ Procedure SetmaxPrice(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setpassengers(AIndex : Integer; const AValue : TPassengerCounts); virtual;
+ Procedure Setrefundable(AIndex : Integer; const AValue : boolean); virtual;
+ Procedure SetsaleCountry(AIndex : Integer; const AValue : String); virtual;
+ Procedure Setslice(AIndex : Integer; const AValue : TTripOptionsRequestTypesliceArray); virtual;
+ Procedure Setsolutions(AIndex : Integer; const AValue : integer); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property maxPrice : String Index 0 Read FmaxPrice Write SetmaxPrice;
+ Property passengers : TPassengerCounts Index 8 Read Fpassengers Write Setpassengers;
+ Property refundable : boolean Index 16 Read Frefundable Write Setrefundable;
+ Property saleCountry : String Index 24 Read FsaleCountry Write SetsaleCountry;
+ Property slice : TTripOptionsRequestTypesliceArray Index 32 Read Fslice Write Setslice;
+ Property solutions : integer Index 40 Read Fsolutions Write Setsolutions;
+ end;
+ TTripOptionsRequestClass = Class of TTripOptionsRequest;
+
+ { --------------------------------------------------------------------
+ TTripOptionsResponse
+ --------------------------------------------------------------------}
+
+ TTripOptionsResponse = Class(TGoogleBaseObject)
+ Private
+ Fdata : TData;
+ Fkind : String;
+ FrequestId : String;
+ FtripOption : TTripOptionsResponseTypetripOptionArray;
+ Protected
+ //Property setters
+ Procedure Setdata(AIndex : Integer; const AValue : TData); virtual;
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure SetrequestId(AIndex : Integer; const AValue : String); virtual;
+ Procedure SettripOption(AIndex : Integer; const AValue : TTripOptionsResponseTypetripOptionArray); virtual;
+ //2.6.4. bug workaround
+ {$IFDEF VER2_6}
+ Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
+ {$ENDIF VER2_6}
+ Public
+ Published
+ Property data : TData Index 0 Read Fdata Write Setdata;
+ Property kind : String Index 8 Read Fkind Write Setkind;
+ Property requestId : String Index 16 Read FrequestId Write SetrequestId;
+ Property tripOption : TTripOptionsResponseTypetripOptionArray Index 24 Read FtripOption Write SettripOption;
+ end;
+ TTripOptionsResponseClass = Class of TTripOptionsResponse;
+
+ { --------------------------------------------------------------------
+ TTripsSearchRequest
+ --------------------------------------------------------------------}
+
+ TTripsSearchRequest = Class(TGoogleBaseObject)
+ Private
+ Frequest : TTripOptionsRequest;
+ Protected
+ //Property setters
+ Procedure Setrequest(AIndex : Integer; const AValue : TTripOptionsRequest); virtual;
+ Public
+ Published
+ Property request : TTripOptionsRequest Index 0 Read Frequest Write Setrequest;
+ end;
+ TTripsSearchRequestClass = Class of TTripsSearchRequest;
+
+ { --------------------------------------------------------------------
+ TTripsSearchResponse
+ --------------------------------------------------------------------}
+
+ TTripsSearchResponse = Class(TGoogleBaseObject)
+ Private
+ Fkind : String;
+ Ftrips : TTripOptionsResponse;
+ Protected
+ //Property setters
+ Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
+ Procedure Settrips(AIndex : Integer; const AValue : TTripOptionsResponse); virtual;
+ Public
+ Published
+ Property kind : String Index 0 Read Fkind Write Setkind;
+ Property trips : TTripOptionsResponse Index 8 Read Ftrips Write Settrips;
+ end;
+ TTripsSearchResponseClass = Class of TTripsSearchResponse;
+
+ { --------------------------------------------------------------------
+ TTripsResource
+ --------------------------------------------------------------------}
+
+ TTripsResource = Class(TGoogleResource)
+ Public
+ Class Function ResourceName : String; override;
+ Class Function DefaultAPI : TGoogleAPIClass; override;
+ Function Search(aTripsSearchRequest : TTripsSearchRequest) : TTripsSearchResponse;
+ end;
+
+
+ { --------------------------------------------------------------------
+ TQpxExpressAPI
+ --------------------------------------------------------------------}
+
+ TQpxExpressAPI = Class(TGoogleAPI)
+ Private
+ FTripsInstance : TTripsResource;
+ Function GetTripsInstance : TTripsResource;virtual;
+ Public
+ //Override class functions with API info
+ Class Function APIName : String; override;
+ Class Function APIVersion : String; override;
+ Class Function APIRevision : String; override;
+ Class Function APIID : String; override;
+ Class Function APITitle : String; override;
+ Class Function APIDescription : String; override;
+ Class Function APIOwnerDomain : String; override;
+ Class Function APIOwnerName : String; override;
+ Class Function APIIcon16 : String; override;
+ Class Function APIIcon32 : String; override;
+ Class Function APIdocumentationLink : String; override;
+ Class Function APIrootUrl : string; override;
+ Class Function APIbasePath : string;override;
+ Class Function APIbaseURL : String;override;
+ Class Function APIProtocol : string;override;
+ Class Function APIservicePath : string;override;
+ Class Function APIbatchPath : String;override;
+ Class Function APIAuthScopes : TScopeInfoArray;override;
+ Class Function APINeedsAuth : Boolean;override;
+ Class Procedure RegisterAPIResources; override;
+ //Add create function for resources
+ Function CreateTripsResource(AOwner : TComponent) : TTripsResource;virtual;overload;
+ Function CreateTripsResource : TTripsResource;virtual;overload;
+ //Add default on-demand instances for resources
+ Property TripsResource : TTripsResource Read GetTripsInstance;
+ end;
+
+implementation
+
+
+{ --------------------------------------------------------------------
+ TAircraftData
+ --------------------------------------------------------------------}
+
+
+Procedure TAircraftData.Setcode(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcode=AValue) then exit;
+ Fcode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TAircraftData.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TAircraftData.Setname(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fname=AValue) then exit;
+ Fname:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TAirportData
+ --------------------------------------------------------------------}
+
+
+Procedure TAirportData.Setcity(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcity=AValue) then exit;
+ Fcity:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TAirportData.Setcode(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcode=AValue) then exit;
+ Fcode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TAirportData.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TAirportData.Setname(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fname=AValue) then exit;
+ Fname:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TBagDescriptor
+ --------------------------------------------------------------------}
+
+
+Procedure TBagDescriptor.SetcommercialName(AIndex : Integer; const AValue : String);
+
+begin
+ If (FcommercialName=AValue) then exit;
+ FcommercialName:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TBagDescriptor.Setcount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fcount=AValue) then exit;
+ Fcount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TBagDescriptor.Setdescription(AIndex : Integer; const AValue : TStringArray);
+
+begin
+ If (Fdescription=AValue) then exit;
+ Fdescription:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TBagDescriptor.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TBagDescriptor.Setsubcode(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fsubcode=AValue) then exit;
+ Fsubcode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TBagDescriptor.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'description' : SetLength(Fdescription,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TCarrierData
+ --------------------------------------------------------------------}
+
+
+Procedure TCarrierData.Setcode(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcode=AValue) then exit;
+ Fcode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TCarrierData.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TCarrierData.Setname(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fname=AValue) then exit;
+ Fname:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TCityData
+ --------------------------------------------------------------------}
+
+
+Procedure TCityData.Setcode(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcode=AValue) then exit;
+ Fcode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TCityData.Setcountry(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcountry=AValue) then exit;
+ Fcountry:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TCityData.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TCityData.Setname(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fname=AValue) then exit;
+ Fname:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TData
+ --------------------------------------------------------------------}
+
+
+Procedure TData.Setaircraft(AIndex : Integer; const AValue : TDataTypeaircraftArray);
+
+begin
+ If (Faircraft=AValue) then exit;
+ Faircraft:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TData.Setairport(AIndex : Integer; const AValue : TDataTypeairportArray);
+
+begin
+ If (Fairport=AValue) then exit;
+ Fairport:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TData.Setcarrier(AIndex : Integer; const AValue : TDataTypecarrierArray);
+
+begin
+ If (Fcarrier=AValue) then exit;
+ Fcarrier:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TData.Setcity(AIndex : Integer; const AValue : TDataTypecityArray);
+
+begin
+ If (Fcity=AValue) then exit;
+ Fcity:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TData.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TData.Settax(AIndex : Integer; const AValue : TDataTypetaxArray);
+
+begin
+ If (Ftax=AValue) then exit;
+ Ftax:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TData.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'aircraft' : SetLength(Faircraft,ALength);
+ 'airport' : SetLength(Fairport,ALength);
+ 'carrier' : SetLength(Fcarrier,ALength);
+ 'city' : SetLength(Fcity,ALength);
+ 'tax' : SetLength(Ftax,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TFareInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TFareInfo.SetbasisCode(AIndex : Integer; const AValue : String);
+
+begin
+ If (FbasisCode=AValue) then exit;
+ FbasisCode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFareInfo.Setcarrier(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcarrier=AValue) then exit;
+ Fcarrier:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFareInfo.Setdestination(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fdestination=AValue) then exit;
+ Fdestination:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFareInfo.Setid(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fid=AValue) then exit;
+ Fid:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFareInfo.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFareInfo.Setorigin(AIndex : Integer; const AValue : String);
+
+begin
+ If (Forigin=AValue) then exit;
+ Forigin:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFareInfo.Set_private(AIndex : Integer; const AValue : boolean);
+
+begin
+ If (F_private=AValue) then exit;
+ F_private:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Class Function TFareInfo.ExportPropertyName(Const AName : String) :String;
+
+begin
+ Case AName of
+ '_private' : Result:='private';
+ else
+ Result:=Inherited ExportPropertyName(AName);
+ end;
+end;
+
+
+
+
+{ --------------------------------------------------------------------
+ TFlightInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TFlightInfo.Setcarrier(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcarrier=AValue) then exit;
+ Fcarrier:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFlightInfo.Setnumber(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fnumber=AValue) then exit;
+ Fnumber:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TFreeBaggageAllowance
+ --------------------------------------------------------------------}
+
+
+Procedure TFreeBaggageAllowance.SetbagDescriptor(AIndex : Integer; const AValue : TFreeBaggageAllowanceTypebagDescriptorArray);
+
+begin
+ If (FbagDescriptor=AValue) then exit;
+ FbagDescriptor:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFreeBaggageAllowance.Setkilos(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fkilos=AValue) then exit;
+ Fkilos:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFreeBaggageAllowance.SetkilosPerPiece(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FkilosPerPiece=AValue) then exit;
+ FkilosPerPiece:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFreeBaggageAllowance.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFreeBaggageAllowance.Setpieces(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fpieces=AValue) then exit;
+ Fpieces:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TFreeBaggageAllowance.Setpounds(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fpounds=AValue) then exit;
+ Fpounds:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TFreeBaggageAllowance.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'bagdescriptor' : SetLength(FbagDescriptor,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TLegInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TLegInfo.Setaircraft(AIndex : Integer; const AValue : String);
+
+begin
+ If (Faircraft=AValue) then exit;
+ Faircraft:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetarrivalTime(AIndex : Integer; const AValue : String);
+
+begin
+ If (FarrivalTime=AValue) then exit;
+ FarrivalTime:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetchangePlane(AIndex : Integer; const AValue : boolean);
+
+begin
+ If (FchangePlane=AValue) then exit;
+ FchangePlane:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetconnectionDuration(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FconnectionDuration=AValue) then exit;
+ FconnectionDuration:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetdepartureTime(AIndex : Integer; const AValue : String);
+
+begin
+ If (FdepartureTime=AValue) then exit;
+ FdepartureTime:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setdestination(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fdestination=AValue) then exit;
+ Fdestination:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetdestinationTerminal(AIndex : Integer; const AValue : String);
+
+begin
+ If (FdestinationTerminal=AValue) then exit;
+ FdestinationTerminal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setduration(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fduration=AValue) then exit;
+ Fduration:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setid(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fid=AValue) then exit;
+ Fid:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setmeal(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fmeal=AValue) then exit;
+ Fmeal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setmileage(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fmileage=AValue) then exit;
+ Fmileage:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetonTimePerformance(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FonTimePerformance=AValue) then exit;
+ FonTimePerformance:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetoperatingDisclosure(AIndex : Integer; const AValue : String);
+
+begin
+ If (FoperatingDisclosure=AValue) then exit;
+ FoperatingDisclosure:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setorigin(AIndex : Integer; const AValue : String);
+
+begin
+ If (Forigin=AValue) then exit;
+ Forigin:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.SetoriginTerminal(AIndex : Integer; const AValue : String);
+
+begin
+ If (ForiginTerminal=AValue) then exit;
+ ForiginTerminal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TLegInfo.Setsecure(AIndex : Integer; const AValue : boolean);
+
+begin
+ If (Fsecure=AValue) then exit;
+ Fsecure:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TPassengerCounts
+ --------------------------------------------------------------------}
+
+
+Procedure TPassengerCounts.SetadultCount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FadultCount=AValue) then exit;
+ FadultCount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPassengerCounts.SetchildCount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FchildCount=AValue) then exit;
+ FchildCount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPassengerCounts.SetinfantInLapCount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FinfantInLapCount=AValue) then exit;
+ FinfantInLapCount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPassengerCounts.SetinfantInSeatCount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FinfantInSeatCount=AValue) then exit;
+ FinfantInSeatCount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPassengerCounts.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPassengerCounts.SetseniorCount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FseniorCount=AValue) then exit;
+ FseniorCount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TPricingInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TPricingInfo.SetbaseFareTotal(AIndex : Integer; const AValue : String);
+
+begin
+ If (FbaseFareTotal=AValue) then exit;
+ FbaseFareTotal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.Setfare(AIndex : Integer; const AValue : TPricingInfoTypefareArray);
+
+begin
+ If (Ffare=AValue) then exit;
+ Ffare:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.SetfareCalculation(AIndex : Integer; const AValue : String);
+
+begin
+ If (FfareCalculation=AValue) then exit;
+ FfareCalculation:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.SetlatestTicketingTime(AIndex : Integer; const AValue : String);
+
+begin
+ If (FlatestTicketingTime=AValue) then exit;
+ FlatestTicketingTime:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.Setpassengers(AIndex : Integer; const AValue : TPassengerCounts);
+
+begin
+ If (Fpassengers=AValue) then exit;
+ Fpassengers:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.Setptc(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fptc=AValue) then exit;
+ Fptc:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.Setrefundable(AIndex : Integer; const AValue : boolean);
+
+begin
+ If (Frefundable=AValue) then exit;
+ Frefundable:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.SetsaleFareTotal(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsaleFareTotal=AValue) then exit;
+ FsaleFareTotal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.SetsaleTaxTotal(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsaleTaxTotal=AValue) then exit;
+ FsaleTaxTotal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.SetsaleTotal(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsaleTotal=AValue) then exit;
+ FsaleTotal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.SetsegmentPricing(AIndex : Integer; const AValue : TPricingInfoTypesegmentPricingArray);
+
+begin
+ If (FsegmentPricing=AValue) then exit;
+ FsegmentPricing:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TPricingInfo.Settax(AIndex : Integer; const AValue : TPricingInfoTypetaxArray);
+
+begin
+ If (Ftax=AValue) then exit;
+ Ftax:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TPricingInfo.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'fare' : SetLength(Ffare,ALength);
+ 'segmentpricing' : SetLength(FsegmentPricing,ALength);
+ 'tax' : SetLength(Ftax,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TSegmentInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TSegmentInfo.SetbookingCode(AIndex : Integer; const AValue : String);
+
+begin
+ If (FbookingCode=AValue) then exit;
+ FbookingCode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.SetbookingCodeCount(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FbookingCodeCount=AValue) then exit;
+ FbookingCodeCount:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.Setcabin(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcabin=AValue) then exit;
+ Fcabin:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.SetconnectionDuration(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FconnectionDuration=AValue) then exit;
+ FconnectionDuration:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.Setduration(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fduration=AValue) then exit;
+ Fduration:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.Setflight(AIndex : Integer; const AValue : TFlightInfo);
+
+begin
+ If (Fflight=AValue) then exit;
+ Fflight:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.Setid(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fid=AValue) then exit;
+ Fid:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.Setleg(AIndex : Integer; const AValue : TSegmentInfoTypelegArray);
+
+begin
+ If (Fleg=AValue) then exit;
+ Fleg:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.SetmarriedSegmentGroup(AIndex : Integer; const AValue : String);
+
+begin
+ If (FmarriedSegmentGroup=AValue) then exit;
+ FmarriedSegmentGroup:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentInfo.SetsubjectToGovernmentApproval(AIndex : Integer; const AValue : boolean);
+
+begin
+ If (FsubjectToGovernmentApproval=AValue) then exit;
+ FsubjectToGovernmentApproval:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TSegmentInfo.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'leg' : SetLength(Fleg,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TSegmentPricing
+ --------------------------------------------------------------------}
+
+
+Procedure TSegmentPricing.SetfareId(AIndex : Integer; const AValue : String);
+
+begin
+ If (FfareId=AValue) then exit;
+ FfareId:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentPricing.SetfreeBaggageOption(AIndex : Integer; const AValue : TSegmentPricingTypefreeBaggageOptionArray);
+
+begin
+ If (FfreeBaggageOption=AValue) then exit;
+ FfreeBaggageOption:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentPricing.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSegmentPricing.SetsegmentId(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsegmentId=AValue) then exit;
+ FsegmentId:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TSegmentPricing.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'freebaggageoption' : SetLength(FfreeBaggageOption,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TSliceInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TSliceInfo.Setduration(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fduration=AValue) then exit;
+ Fduration:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInfo.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInfo.Setsegment(AIndex : Integer; const AValue : TSliceInfoTypesegmentArray);
+
+begin
+ If (Fsegment=AValue) then exit;
+ Fsegment:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TSliceInfo.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'segment' : SetLength(Fsegment,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TSliceInput
+ --------------------------------------------------------------------}
+
+
+Procedure TSliceInput.Setalliance(AIndex : Integer; const AValue : String);
+
+begin
+ If (Falliance=AValue) then exit;
+ Falliance:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.Setdate(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fdate=AValue) then exit;
+ Fdate:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.Setdestination(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fdestination=AValue) then exit;
+ Fdestination:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.SetmaxConnectionDuration(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FmaxConnectionDuration=AValue) then exit;
+ FmaxConnectionDuration:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.SetmaxStops(AIndex : Integer; const AValue : integer);
+
+begin
+ If (FmaxStops=AValue) then exit;
+ FmaxStops:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.Setorigin(AIndex : Integer; const AValue : String);
+
+begin
+ If (Forigin=AValue) then exit;
+ Forigin:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.SetpermittedCarrier(AIndex : Integer; const AValue : TStringArray);
+
+begin
+ If (FpermittedCarrier=AValue) then exit;
+ FpermittedCarrier:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.SetpermittedDepartureTime(AIndex : Integer; const AValue : TTimeOfDayRange);
+
+begin
+ If (FpermittedDepartureTime=AValue) then exit;
+ FpermittedDepartureTime:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.SetpreferredCabin(AIndex : Integer; const AValue : String);
+
+begin
+ If (FpreferredCabin=AValue) then exit;
+ FpreferredCabin:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TSliceInput.SetprohibitedCarrier(AIndex : Integer; const AValue : TStringArray);
+
+begin
+ If (FprohibitedCarrier=AValue) then exit;
+ FprohibitedCarrier:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TSliceInput.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'permittedcarrier' : SetLength(FpermittedCarrier,ALength);
+ 'prohibitedcarrier' : SetLength(FprohibitedCarrier,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TTaxData
+ --------------------------------------------------------------------}
+
+
+Procedure TTaxData.Setid(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fid=AValue) then exit;
+ Fid:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxData.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxData.Setname(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fname=AValue) then exit;
+ Fname:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TTaxInfo
+ --------------------------------------------------------------------}
+
+
+Procedure TTaxInfo.SetchargeType(AIndex : Integer; const AValue : String);
+
+begin
+ If (FchargeType=AValue) then exit;
+ FchargeType:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxInfo.Setcode(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcode=AValue) then exit;
+ Fcode:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxInfo.Setcountry(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fcountry=AValue) then exit;
+ Fcountry:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxInfo.Setid(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fid=AValue) then exit;
+ Fid:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxInfo.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTaxInfo.SetsalePrice(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsalePrice=AValue) then exit;
+ FsalePrice:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TTimeOfDayRange
+ --------------------------------------------------------------------}
+
+
+Procedure TTimeOfDayRange.SetearliestTime(AIndex : Integer; const AValue : String);
+
+begin
+ If (FearliestTime=AValue) then exit;
+ FearliestTime:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTimeOfDayRange.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTimeOfDayRange.SetlatestTime(AIndex : Integer; const AValue : String);
+
+begin
+ If (FlatestTime=AValue) then exit;
+ FlatestTime:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TTripOption
+ --------------------------------------------------------------------}
+
+
+Procedure TTripOption.Setid(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fid=AValue) then exit;
+ Fid:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOption.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOption.Setpricing(AIndex : Integer; const AValue : TTripOptionTypepricingArray);
+
+begin
+ If (Fpricing=AValue) then exit;
+ Fpricing:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOption.SetsaleTotal(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsaleTotal=AValue) then exit;
+ FsaleTotal:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOption.Setslice(AIndex : Integer; const AValue : TTripOptionTypesliceArray);
+
+begin
+ If (Fslice=AValue) then exit;
+ Fslice:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TTripOption.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'pricing' : SetLength(Fpricing,ALength);
+ 'slice' : SetLength(Fslice,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TTripOptionsRequest
+ --------------------------------------------------------------------}
+
+
+Procedure TTripOptionsRequest.SetmaxPrice(AIndex : Integer; const AValue : String);
+
+begin
+ If (FmaxPrice=AValue) then exit;
+ FmaxPrice:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsRequest.Setpassengers(AIndex : Integer; const AValue : TPassengerCounts);
+
+begin
+ If (Fpassengers=AValue) then exit;
+ Fpassengers:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsRequest.Setrefundable(AIndex : Integer; const AValue : boolean);
+
+begin
+ If (Frefundable=AValue) then exit;
+ Frefundable:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsRequest.SetsaleCountry(AIndex : Integer; const AValue : String);
+
+begin
+ If (FsaleCountry=AValue) then exit;
+ FsaleCountry:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsRequest.Setslice(AIndex : Integer; const AValue : TTripOptionsRequestTypesliceArray);
+
+begin
+ If (Fslice=AValue) then exit;
+ Fslice:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsRequest.Setsolutions(AIndex : Integer; const AValue : integer);
+
+begin
+ If (Fsolutions=AValue) then exit;
+ Fsolutions:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TTripOptionsRequest.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'slice' : SetLength(Fslice,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TTripOptionsResponse
+ --------------------------------------------------------------------}
+
+
+Procedure TTripOptionsResponse.Setdata(AIndex : Integer; const AValue : TData);
+
+begin
+ If (Fdata=AValue) then exit;
+ Fdata:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsResponse.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsResponse.SetrequestId(AIndex : Integer; const AValue : String);
+
+begin
+ If (FrequestId=AValue) then exit;
+ FrequestId:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripOptionsResponse.SettripOption(AIndex : Integer; const AValue : TTripOptionsResponseTypetripOptionArray);
+
+begin
+ If (FtripOption=AValue) then exit;
+ FtripOption:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+//2.6.4. bug workaround
+{$IFDEF VER2_6}
+Procedure TTripOptionsResponse.SetArrayLength(Const AName : String; ALength : Longint);
+
+begin
+ Case AName of
+ 'tripoption' : SetLength(FtripOption,ALength);
+ else
+ Inherited SetArrayLength(AName,ALength);
+ end;
+end;
+{$ENDIF VER2_6}
+
+
+
+
+{ --------------------------------------------------------------------
+ TTripsSearchRequest
+ --------------------------------------------------------------------}
+
+
+Procedure TTripsSearchRequest.Setrequest(AIndex : Integer; const AValue : TTripOptionsRequest);
+
+begin
+ If (Frequest=AValue) then exit;
+ Frequest:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TTripsSearchResponse
+ --------------------------------------------------------------------}
+
+
+Procedure TTripsSearchResponse.Setkind(AIndex : Integer; const AValue : String);
+
+begin
+ If (Fkind=AValue) then exit;
+ Fkind:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+Procedure TTripsSearchResponse.Settrips(AIndex : Integer; const AValue : TTripOptionsResponse);
+
+begin
+ If (Ftrips=AValue) then exit;
+ Ftrips:=AValue;
+ MarkPropertyChanged(AIndex);
+end;
+
+
+
+
+
+{ --------------------------------------------------------------------
+ TTripsResource
+ --------------------------------------------------------------------}
+
+
+Class Function TTripsResource.ResourceName : String;
+
+begin
+ Result:='trips';
+end;
+
+Class Function TTripsResource.DefaultAPI : TGoogleAPIClass;
+
+begin
+ Result:=TqpxExpressAPI;
+end;
+
+Function TTripsResource.Search(aTripsSearchRequest : TTripsSearchRequest) : TTripsSearchResponse;
+
+Const
+ _HTTPMethod = 'POST';
+ _Path = 'search';
+ _Methodid = 'qpxExpress.trips.search';
+
+begin
+ Result:=ServiceCall(_HTTPMethod,_Path,'',aTripsSearchRequest,TTripsSearchResponse) as TTripsSearchResponse;
+end;
+
+
+
+{ --------------------------------------------------------------------
+ TQpxExpressAPI
+ --------------------------------------------------------------------}
+
+Class Function TQpxExpressAPI.APIName : String;
+
+begin
+ Result:='qpxExpress';
+end;
+
+Class Function TQpxExpressAPI.APIVersion : String;
+
+begin
+ Result:='v1';
+end;
+
+Class Function TQpxExpressAPI.APIRevision : String;
+
+begin
+ Result:='20160307';
+end;
+
+Class Function TQpxExpressAPI.APIID : String;
+
+begin
+ Result:='qpxExpress:v1';
+end;
+
+Class Function TQpxExpressAPI.APITitle : String;
+
+begin
+ Result:='QPX Express API';
+end;
+
+Class Function TQpxExpressAPI.APIDescription : String;
+
+begin
+ Result:='Finds the least expensive flights between an origin and a destination.';
+end;
+
+Class Function TQpxExpressAPI.APIOwnerDomain : String;
+
+begin
+ Result:='google.com';
+end;
+
+Class Function TQpxExpressAPI.APIOwnerName : String;
+
+begin
+ Result:='Google';
+end;
+
+Class Function TQpxExpressAPI.APIIcon16 : String;
+
+begin
+ Result:='http://www.google.com/images/icons/product/search-16.gif';
+end;
+
+Class Function TQpxExpressAPI.APIIcon32 : String;
+
+begin
+ Result:='http://www.google.com/images/icons/product/search-32.gif';
+end;
+
+Class Function TQpxExpressAPI.APIdocumentationLink : String;
+
+begin
+ Result:='http://developers.google.com/qpx-express';
+end;
+
+Class Function TQpxExpressAPI.APIrootUrl : string;
+
+begin
+ Result:='https://www.googleapis.com/';
+end;
+
+Class Function TQpxExpressAPI.APIbasePath : string;
+
+begin
+ Result:='/qpxExpress/v1/trips/';
+end;
+
+Class Function TQpxExpressAPI.APIbaseURL : String;
+
+begin
+ Result:='https://www.googleapis.com/qpxExpress/v1/trips/';
+end;
+
+Class Function TQpxExpressAPI.APIProtocol : string;
+
+begin
+ Result:='rest';
+end;
+
+Class Function TQpxExpressAPI.APIservicePath : string;
+
+begin
+ Result:='qpxExpress/v1/trips/';
+end;
+
+Class Function TQpxExpressAPI.APIbatchPath : String;
+
+begin
+ Result:='batch';
+end;
+
+Class Function TQpxExpressAPI.APIAuthScopes : TScopeInfoArray;
+
+begin
+ SetLength(Result,0);
+
+end;
+
+Class Function TQpxExpressAPI.APINeedsAuth : Boolean;
+
+begin
+ Result:=False;
+end;
+
+Class Procedure TQpxExpressAPI.RegisterAPIResources;
+
+begin
+ TAircraftData.RegisterObject;
+ TAirportData.RegisterObject;
+ TBagDescriptor.RegisterObject;
+ TCarrierData.RegisterObject;
+ TCityData.RegisterObject;
+ TData.RegisterObject;
+ TFareInfo.RegisterObject;
+ TFlightInfo.RegisterObject;
+ TFreeBaggageAllowance.RegisterObject;
+ TLegInfo.RegisterObject;
+ TPassengerCounts.RegisterObject;
+ TPricingInfo.RegisterObject;
+ TSegmentInfo.RegisterObject;
+ TSegmentPricing.RegisterObject;
+ TSliceInfo.RegisterObject;
+ TSliceInput.RegisterObject;
+ TTaxData.RegisterObject;
+ TTaxInfo.RegisterObject;
+ TTimeOfDayRange.RegisterObject;
+ TTripOption.RegisterObject;
+ TTripOptionsRequest.RegisterObject;
+ TTripOptionsResponse.RegisterObject;
+ TTripsSearchRequest.RegisterObject;
+ TTripsSearchResponse.RegisterObject;
+end;
+
+
+Function TQpxExpressAPI.GetTripsInstance : TTripsResource;
+
+begin
+ if (FTripsInstance=Nil) then
+ FTripsInstance:=CreateTripsResource;
+ Result:=FTripsInstance;
+end;
+
+Function TQpxExpressAPI.CreateTripsResource : TTripsResource;
+
+begin
+ Result:=CreateTripsResource(Self);
+end;
+
+
+Function TQpxExpressAPI.CreateTripsResource(AOwner : TComponent) : TTripsResource;
+
+begin
+ Result:=TTripsResource.Create(AOwner);
+ Result.API:=Self.API;
+end;
+
+
+
+initialization
+ TQpxExpressAPI.RegisterAPI;
+end.