Index: generated/googleapis/lib/qpxexpress/v1.dart |
diff --git a/generated/googleapis/lib/qpxexpress/v1.dart b/generated/googleapis/lib/qpxexpress/v1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f0f70130fa53d1280c9a68c34ff045fd55712b3 |
--- /dev/null |
+++ b/generated/googleapis/lib/qpxexpress/v1.dart |
@@ -0,0 +1,1903 @@ |
+library googleapis.qpxExpress.v1; |
+ |
+import "dart:core" as core; |
+import "dart:collection" as collection; |
+import "dart:async" as async; |
+import "dart:convert" as convert; |
+ |
+import "package:crypto/crypto.dart" as crypto; |
+import 'package:http/http.dart' as http; |
+import '../src/common_internal.dart' as common_internal; |
+import '../common/common.dart' as common; |
+ |
+export '../common/common.dart' show ApiRequestError; |
+export '../common/common.dart' show DetailedApiRequestError; |
+ |
+/** |
+ * Lets you find the least expensive flights between an origin and a |
+ * destination. |
+ */ |
+class QpxExpressApi { |
+ |
+ final common_internal.ApiRequester _requester; |
+ |
+ TripsResourceApi get trips => new TripsResourceApi(_requester); |
+ |
+ QpxExpressApi(http.Client client) : |
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/qpxExpress/v1/trips/"); |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class TripsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ TripsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns a list of flights. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [TripsSearchResponse]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<TripsSearchResponse> search(TripsSearchRequest request) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ |
+ |
+ _url = 'search'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new TripsSearchResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** The make, model, and type of an aircraft. */ |
+class AircraftData { |
+ /** |
+ * The aircraft code. For example, for a Boeing 777 the code would be 777. |
+ */ |
+ core.String code; |
+ |
+ /** |
+ * Identifies this as an aircraftData object. Value: the fixed string |
+ * qpxexpress#aircraftData |
+ */ |
+ core.String kind; |
+ |
+ /** The name of an aircraft, for example Boeing 777. */ |
+ core.String name; |
+ |
+ |
+ AircraftData(); |
+ |
+ AircraftData.fromJson(core.Map _json) { |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** An airport. */ |
+class AirportData { |
+ /** |
+ * The city code an airport is located in. For example, for JFK airport, this |
+ * is NYC. |
+ */ |
+ core.String city; |
+ |
+ /** An airport's code. For example, for Boston Logan airport, this is BOS. */ |
+ core.String code; |
+ |
+ /** |
+ * Identifies this as an airport object. Value: the fixed string |
+ * qpxexpress#airportData. |
+ */ |
+ core.String kind; |
+ |
+ /** |
+ * The name of an airport. For example, for airport BOS the name is "Boston |
+ * Logan International". |
+ */ |
+ core.String name; |
+ |
+ |
+ AirportData(); |
+ |
+ AirportData.fromJson(core.Map _json) { |
+ if (_json.containsKey("city")) { |
+ city = _json["city"]; |
+ } |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (city != null) { |
+ _json["city"] = city; |
+ } |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about an item of baggage. */ |
+class BagDescriptor { |
+ /** Provides the commercial name for an optional service. */ |
+ core.String commercialName; |
+ |
+ /** How many of this type of bag will be checked on this flight. */ |
+ core.int count; |
+ |
+ /** A description of the baggage. */ |
+ core.List<core.String> description; |
+ |
+ /** |
+ * Identifies this as a baggage object. Value: the fixed string |
+ * qpxexpress#bagDescriptor. |
+ */ |
+ core.String kind; |
+ |
+ /** The standard IATA subcode used to identify this optional service. */ |
+ core.String subcode; |
+ |
+ |
+ BagDescriptor(); |
+ |
+ BagDescriptor.fromJson(core.Map _json) { |
+ if (_json.containsKey("commercialName")) { |
+ commercialName = _json["commercialName"]; |
+ } |
+ if (_json.containsKey("count")) { |
+ count = _json["count"]; |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("subcode")) { |
+ subcode = _json["subcode"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (commercialName != null) { |
+ _json["commercialName"] = commercialName; |
+ } |
+ if (count != null) { |
+ _json["count"] = count; |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (subcode != null) { |
+ _json["subcode"] = subcode; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information about a carrier (ie. an airline, bus line, railroad, etc) that |
+ * might be useful to display to an end-user. |
+ */ |
+class CarrierData { |
+ /** |
+ * The IATA designator of a carrier (airline, etc). For example, for American |
+ * Airlines, the code is AA. |
+ */ |
+ core.String code; |
+ |
+ /** |
+ * Identifies this as a kind of carrier (ie. an airline, bus line, railroad, |
+ * etc). Value: the fixed string qpxexpress#carrierData. |
+ */ |
+ core.String kind; |
+ |
+ /** The long, full name of a carrier. For example: American Airlines. */ |
+ core.String name; |
+ |
+ |
+ CarrierData(); |
+ |
+ CarrierData.fromJson(core.Map _json) { |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information about a city that might be useful to an end-user; typically the |
+ * city of an airport. |
+ */ |
+class CityData { |
+ /** The IATA character ID of a city. For example, for Boston this is BOS. */ |
+ core.String code; |
+ |
+ /** |
+ * The two-character country code of the country the city is located in. For |
+ * example, US for the United States of America. |
+ */ |
+ core.String country; |
+ |
+ /** |
+ * Identifies this as a city, typically with one or more airports. Value: the |
+ * fixed string qpxexpress#cityData. |
+ */ |
+ core.String kind; |
+ |
+ /** The full name of a city. An example would be: New York. */ |
+ core.String name; |
+ |
+ |
+ CityData(); |
+ |
+ CityData.fromJson(core.Map _json) { |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("country")) { |
+ country = _json["country"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (country != null) { |
+ _json["country"] = country; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Detailed information about components found in the solutions of this |
+ * response, including a trip's airport, city, taxes, airline, and aircraft. |
+ */ |
+class Data { |
+ /** The aircraft that is flying between an origin and destination. */ |
+ core.List<AircraftData> aircraft; |
+ |
+ /** The airport of an origin or destination. */ |
+ core.List<AirportData> airport; |
+ |
+ /** |
+ * The airline carrier of the aircraft flying between an origin and |
+ * destination. Allowed values are IATA carrier codes. |
+ */ |
+ core.List<CarrierData> carrier; |
+ |
+ /** The city that is either the origin or destination of part of a trip. */ |
+ core.List<CityData> city; |
+ |
+ /** |
+ * Identifies this as QPX Express response resource, including a trip's |
+ * airport, city, taxes, airline, and aircraft. Value: the fixed string |
+ * qpxexpress#data. |
+ */ |
+ core.String kind; |
+ |
+ /** The taxes due for flying between an origin and a destination. */ |
+ core.List<TaxData> tax; |
+ |
+ |
+ Data(); |
+ |
+ Data.fromJson(core.Map _json) { |
+ if (_json.containsKey("aircraft")) { |
+ aircraft = _json["aircraft"].map((value) => new AircraftData.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("airport")) { |
+ airport = _json["airport"].map((value) => new AirportData.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("carrier")) { |
+ carrier = _json["carrier"].map((value) => new CarrierData.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("city")) { |
+ city = _json["city"].map((value) => new CityData.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("tax")) { |
+ tax = _json["tax"].map((value) => new TaxData.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (aircraft != null) { |
+ _json["aircraft"] = aircraft.map((value) => (value).toJson()).toList(); |
+ } |
+ if (airport != null) { |
+ _json["airport"] = airport.map((value) => (value).toJson()).toList(); |
+ } |
+ if (carrier != null) { |
+ _json["carrier"] = carrier.map((value) => (value).toJson()).toList(); |
+ } |
+ if (city != null) { |
+ _json["city"] = city.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (tax != null) { |
+ _json["tax"] = tax.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Complete information about a fare used in the solution to a low-fare search |
+ * query. In the airline industry a fare is a price an airline charges for |
+ * one-way travel between two points. A fare typically contains a carrier code, |
+ * two city codes, a price, and a fare basis. (A fare basis is a one-to-eight |
+ * character alphanumeric code used to identify a fare.) |
+ */ |
+class FareInfo { |
+ /** Not documented yet. */ |
+ core.String basisCode; |
+ |
+ /** |
+ * The carrier of the aircraft or other vehicle commuting between two points. |
+ */ |
+ core.String carrier; |
+ |
+ /** The city code of the city the trip ends at. */ |
+ core.String destination; |
+ |
+ /** A unique identifier of the fare. */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a fare object. Value: the fixed string |
+ * qpxexpress#fareInfo. |
+ */ |
+ core.String kind; |
+ |
+ /** The city code of the city the trip begins at. */ |
+ core.String origin; |
+ |
+ /** |
+ * Whether this is a private fare, for example one offered only to select |
+ * customers rather than the general public. |
+ */ |
+ core.bool private; |
+ |
+ |
+ FareInfo(); |
+ |
+ FareInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("basisCode")) { |
+ basisCode = _json["basisCode"]; |
+ } |
+ if (_json.containsKey("carrier")) { |
+ carrier = _json["carrier"]; |
+ } |
+ if (_json.containsKey("destination")) { |
+ destination = _json["destination"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("origin")) { |
+ origin = _json["origin"]; |
+ } |
+ if (_json.containsKey("private")) { |
+ private = _json["private"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (basisCode != null) { |
+ _json["basisCode"] = basisCode; |
+ } |
+ if (carrier != null) { |
+ _json["carrier"] = carrier; |
+ } |
+ if (destination != null) { |
+ _json["destination"] = destination; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (origin != null) { |
+ _json["origin"] = origin; |
+ } |
+ if (private != null) { |
+ _json["private"] = private; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A flight is a sequence of legs with the same airline carrier and flight |
+ * number. (A leg is the smallest unit of travel, in the case of a flight a |
+ * takeoff immediately followed by a landing at two set points on a particular |
+ * carrier with a particular flight number.) The naive view is that a flight is |
+ * scheduled travel of an aircraft between two points, with possibly |
+ * intermediate stops, but carriers will frequently list flights that require a |
+ * change of aircraft between legs. |
+ */ |
+class FlightInfo { |
+ /** Not documented yet. */ |
+ core.String carrier; |
+ |
+ /** The flight number. */ |
+ core.String number; |
+ |
+ |
+ FlightInfo(); |
+ |
+ FlightInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("carrier")) { |
+ carrier = _json["carrier"]; |
+ } |
+ if (_json.containsKey("number")) { |
+ number = _json["number"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (carrier != null) { |
+ _json["carrier"] = carrier; |
+ } |
+ if (number != null) { |
+ _json["number"] = number; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about free baggage allowed on one segment of a trip. */ |
+class FreeBaggageAllowance { |
+ /** |
+ * A representation of a type of bag, such as an ATPCo subcode, Commercial |
+ * Name, or other description. |
+ */ |
+ core.List<BagDescriptor> bagDescriptor; |
+ |
+ /** The maximum number of kilos all the free baggage together may weigh. */ |
+ core.int kilos; |
+ |
+ /** The maximum number of kilos any one piece of baggage may weigh. */ |
+ core.int kilosPerPiece; |
+ |
+ /** |
+ * Identifies this as free baggage object, allowed on one segment of a trip. |
+ * Value: the fixed string qpxexpress#freeBaggageAllowance. |
+ */ |
+ core.String kind; |
+ |
+ /** The number of free pieces of baggage allowed. */ |
+ core.int pieces; |
+ |
+ /** The number of pounds of free baggage allowed. */ |
+ core.int pounds; |
+ |
+ |
+ FreeBaggageAllowance(); |
+ |
+ FreeBaggageAllowance.fromJson(core.Map _json) { |
+ if (_json.containsKey("bagDescriptor")) { |
+ bagDescriptor = _json["bagDescriptor"].map((value) => new BagDescriptor.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kilos")) { |
+ kilos = _json["kilos"]; |
+ } |
+ if (_json.containsKey("kilosPerPiece")) { |
+ kilosPerPiece = _json["kilosPerPiece"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("pieces")) { |
+ pieces = _json["pieces"]; |
+ } |
+ if (_json.containsKey("pounds")) { |
+ pounds = _json["pounds"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (bagDescriptor != null) { |
+ _json["bagDescriptor"] = bagDescriptor.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kilos != null) { |
+ _json["kilos"] = kilos; |
+ } |
+ if (kilosPerPiece != null) { |
+ _json["kilosPerPiece"] = kilosPerPiece; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (pieces != null) { |
+ _json["pieces"] = pieces; |
+ } |
+ if (pounds != null) { |
+ _json["pounds"] = pounds; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information about a leg. (A leg is the smallest unit of travel, in the case |
+ * of a flight a takeoff immediately followed by a landing at two set points on |
+ * a particular carrier with a particular flight number.) |
+ */ |
+class LegInfo { |
+ /** |
+ * The aircraft (or bus, ferry, railcar, etc) travelling between the two |
+ * points of this leg. |
+ */ |
+ core.String aircraft; |
+ |
+ /** |
+ * The scheduled time of arrival at the destination of the leg, local to the |
+ * point of arrival. |
+ */ |
+ core.String arrivalTime; |
+ |
+ /** |
+ * Whether you have to change planes following this leg. Only applies to the |
+ * next leg. |
+ */ |
+ core.bool changePlane; |
+ |
+ /** Duration of a connection following this leg, in minutes. */ |
+ core.int connectionDuration; |
+ |
+ /** |
+ * The scheduled departure time of the leg, local to the point of departure. |
+ */ |
+ core.String departureTime; |
+ |
+ /** The leg destination as a city and airport. */ |
+ core.String destination; |
+ |
+ /** The terminal the flight is scheduled to arrive at. */ |
+ core.String destinationTerminal; |
+ |
+ /** The scheduled travelling time from the origin to the destination. */ |
+ core.int duration; |
+ |
+ /** An identifier that uniquely identifies this leg in the solution. */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a leg object. A leg is the smallest unit of travel, in |
+ * the case of a flight a takeoff immediately followed by a landing at two set |
+ * points on a particular carrier with a particular flight number. Value: the |
+ * fixed string qpxexpress#legInfo. |
+ */ |
+ core.String kind; |
+ |
+ /** |
+ * A simple, general description of the meal(s) served on the flight, for |
+ * example: "Hot meal". |
+ */ |
+ core.String meal; |
+ |
+ /** The number of miles in this leg. */ |
+ core.int mileage; |
+ |
+ /** In percent, the published on time performance on this leg. */ |
+ core.int onTimePerformance; |
+ |
+ /** |
+ * Department of Transportation disclosure information on the actual operator |
+ * of a flight in a code share. (A code share refers to a marketing agreement |
+ * between two carriers, where one carrier will list in its schedules (and |
+ * take bookings for) flights that are actually operated by another carrier.) |
+ */ |
+ core.String operatingDisclosure; |
+ |
+ /** The leg origin as a city and airport. */ |
+ core.String origin; |
+ |
+ /** The terminal the flight is scheduled to depart from. */ |
+ core.String originTerminal; |
+ |
+ /** |
+ * Whether passenger information must be furnished to the United States |
+ * Transportation Security Administration (TSA) prior to departure. |
+ */ |
+ core.bool secure; |
+ |
+ |
+ LegInfo(); |
+ |
+ LegInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("aircraft")) { |
+ aircraft = _json["aircraft"]; |
+ } |
+ if (_json.containsKey("arrivalTime")) { |
+ arrivalTime = _json["arrivalTime"]; |
+ } |
+ if (_json.containsKey("changePlane")) { |
+ changePlane = _json["changePlane"]; |
+ } |
+ if (_json.containsKey("connectionDuration")) { |
+ connectionDuration = _json["connectionDuration"]; |
+ } |
+ if (_json.containsKey("departureTime")) { |
+ departureTime = _json["departureTime"]; |
+ } |
+ if (_json.containsKey("destination")) { |
+ destination = _json["destination"]; |
+ } |
+ if (_json.containsKey("destinationTerminal")) { |
+ destinationTerminal = _json["destinationTerminal"]; |
+ } |
+ if (_json.containsKey("duration")) { |
+ duration = _json["duration"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("meal")) { |
+ meal = _json["meal"]; |
+ } |
+ if (_json.containsKey("mileage")) { |
+ mileage = _json["mileage"]; |
+ } |
+ if (_json.containsKey("onTimePerformance")) { |
+ onTimePerformance = _json["onTimePerformance"]; |
+ } |
+ if (_json.containsKey("operatingDisclosure")) { |
+ operatingDisclosure = _json["operatingDisclosure"]; |
+ } |
+ if (_json.containsKey("origin")) { |
+ origin = _json["origin"]; |
+ } |
+ if (_json.containsKey("originTerminal")) { |
+ originTerminal = _json["originTerminal"]; |
+ } |
+ if (_json.containsKey("secure")) { |
+ secure = _json["secure"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (aircraft != null) { |
+ _json["aircraft"] = aircraft; |
+ } |
+ if (arrivalTime != null) { |
+ _json["arrivalTime"] = arrivalTime; |
+ } |
+ if (changePlane != null) { |
+ _json["changePlane"] = changePlane; |
+ } |
+ if (connectionDuration != null) { |
+ _json["connectionDuration"] = connectionDuration; |
+ } |
+ if (departureTime != null) { |
+ _json["departureTime"] = departureTime; |
+ } |
+ if (destination != null) { |
+ _json["destination"] = destination; |
+ } |
+ if (destinationTerminal != null) { |
+ _json["destinationTerminal"] = destinationTerminal; |
+ } |
+ if (duration != null) { |
+ _json["duration"] = duration; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (meal != null) { |
+ _json["meal"] = meal; |
+ } |
+ if (mileage != null) { |
+ _json["mileage"] = mileage; |
+ } |
+ if (onTimePerformance != null) { |
+ _json["onTimePerformance"] = onTimePerformance; |
+ } |
+ if (operatingDisclosure != null) { |
+ _json["operatingDisclosure"] = operatingDisclosure; |
+ } |
+ if (origin != null) { |
+ _json["origin"] = origin; |
+ } |
+ if (originTerminal != null) { |
+ _json["originTerminal"] = originTerminal; |
+ } |
+ if (secure != null) { |
+ _json["secure"] = secure; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * The number and type of passengers. Unfortunately the definition of an infant, |
+ * child, adult, and senior citizen varies across carriers and reservation |
+ * systems. |
+ */ |
+class PassengerCounts { |
+ /** The number of passengers that are adults. */ |
+ core.int adultCount; |
+ |
+ /** The number of passengers that are children. */ |
+ core.int childCount; |
+ |
+ /** |
+ * The number of passengers that are infants travelling in the lap of an |
+ * adult. |
+ */ |
+ core.int infantInLapCount; |
+ |
+ /** The number of passengers that are infants each assigned a seat. */ |
+ core.int infantInSeatCount; |
+ |
+ /** |
+ * Identifies this as a passenger count object, representing the number of |
+ * passengers. Value: the fixed string qpxexpress#passengerCounts. |
+ */ |
+ core.String kind; |
+ |
+ /** The number of passengers that are senior citizens. */ |
+ core.int seniorCount; |
+ |
+ |
+ PassengerCounts(); |
+ |
+ PassengerCounts.fromJson(core.Map _json) { |
+ if (_json.containsKey("adultCount")) { |
+ adultCount = _json["adultCount"]; |
+ } |
+ if (_json.containsKey("childCount")) { |
+ childCount = _json["childCount"]; |
+ } |
+ if (_json.containsKey("infantInLapCount")) { |
+ infantInLapCount = _json["infantInLapCount"]; |
+ } |
+ if (_json.containsKey("infantInSeatCount")) { |
+ infantInSeatCount = _json["infantInSeatCount"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("seniorCount")) { |
+ seniorCount = _json["seniorCount"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (adultCount != null) { |
+ _json["adultCount"] = adultCount; |
+ } |
+ if (childCount != null) { |
+ _json["childCount"] = childCount; |
+ } |
+ if (infantInLapCount != null) { |
+ _json["infantInLapCount"] = infantInLapCount; |
+ } |
+ if (infantInSeatCount != null) { |
+ _json["infantInSeatCount"] = infantInSeatCount; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (seniorCount != null) { |
+ _json["seniorCount"] = seniorCount; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * The price of one or more travel segments. The currency used to purchase |
+ * tickets is usually determined by the sale/ticketing city or the |
+ * sale/ticketing country, unless none are specified, in which case it defaults |
+ * to that of the journey origin country. |
+ */ |
+class PricingInfo { |
+ /** |
+ * The total fare in the base fare currency (the currency of the country of |
+ * origin). This element is only present when the sales currency and the |
+ * currency of the country of commencement are different. |
+ */ |
+ core.String baseFareTotal; |
+ |
+ /** The fare used to price one or more segments. */ |
+ core.List<FareInfo> fare; |
+ |
+ /** |
+ * The horizontal fare calculation. This is a field on a ticket that displays |
+ * all of the relevant items that go into the calculation of the fare. |
+ */ |
+ core.String fareCalculation; |
+ |
+ /** |
+ * Identifies this as a pricing object, representing the price of one or more |
+ * travel segments. Value: the fixed string qpxexpress#pricingInfo. |
+ */ |
+ core.String kind; |
+ |
+ /** |
+ * The latest ticketing time for this pricing assuming the reservation occurs |
+ * at ticketing time and there is no change in fares/rules. The time is local |
+ * to the point of sale (POS). |
+ */ |
+ core.String latestTicketingTime; |
+ |
+ /** The number of passengers to which this price applies. */ |
+ PassengerCounts passengers; |
+ |
+ /** |
+ * The passenger type code for this pricing. An alphanumeric code used by a |
+ * carrier to restrict fares to certain categories of passenger. For instance, |
+ * a fare might be valid only for senior citizens. |
+ */ |
+ core.String ptc; |
+ |
+ /** Whether the fares on this pricing are refundable. */ |
+ core.bool refundable; |
+ |
+ /** The total fare in the sale or equivalent currency. */ |
+ core.String saleFareTotal; |
+ |
+ /** The taxes in the sale or equivalent currency. */ |
+ core.String saleTaxTotal; |
+ |
+ /** |
+ * Total per-passenger price (fare and tax) in the sale or equivalent |
+ * currency. |
+ */ |
+ core.String saleTotal; |
+ |
+ /** The per-segment price and baggage information. */ |
+ core.List<SegmentPricing> segmentPricing; |
+ |
+ /** The taxes used to calculate the tax total per ticket. */ |
+ core.List<TaxInfo> tax; |
+ |
+ |
+ PricingInfo(); |
+ |
+ PricingInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("baseFareTotal")) { |
+ baseFareTotal = _json["baseFareTotal"]; |
+ } |
+ if (_json.containsKey("fare")) { |
+ fare = _json["fare"].map((value) => new FareInfo.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("fareCalculation")) { |
+ fareCalculation = _json["fareCalculation"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("latestTicketingTime")) { |
+ latestTicketingTime = _json["latestTicketingTime"]; |
+ } |
+ if (_json.containsKey("passengers")) { |
+ passengers = new PassengerCounts.fromJson(_json["passengers"]); |
+ } |
+ if (_json.containsKey("ptc")) { |
+ ptc = _json["ptc"]; |
+ } |
+ if (_json.containsKey("refundable")) { |
+ refundable = _json["refundable"]; |
+ } |
+ if (_json.containsKey("saleFareTotal")) { |
+ saleFareTotal = _json["saleFareTotal"]; |
+ } |
+ if (_json.containsKey("saleTaxTotal")) { |
+ saleTaxTotal = _json["saleTaxTotal"]; |
+ } |
+ if (_json.containsKey("saleTotal")) { |
+ saleTotal = _json["saleTotal"]; |
+ } |
+ if (_json.containsKey("segmentPricing")) { |
+ segmentPricing = _json["segmentPricing"].map((value) => new SegmentPricing.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("tax")) { |
+ tax = _json["tax"].map((value) => new TaxInfo.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (baseFareTotal != null) { |
+ _json["baseFareTotal"] = baseFareTotal; |
+ } |
+ if (fare != null) { |
+ _json["fare"] = fare.map((value) => (value).toJson()).toList(); |
+ } |
+ if (fareCalculation != null) { |
+ _json["fareCalculation"] = fareCalculation; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (latestTicketingTime != null) { |
+ _json["latestTicketingTime"] = latestTicketingTime; |
+ } |
+ if (passengers != null) { |
+ _json["passengers"] = (passengers).toJson(); |
+ } |
+ if (ptc != null) { |
+ _json["ptc"] = ptc; |
+ } |
+ if (refundable != null) { |
+ _json["refundable"] = refundable; |
+ } |
+ if (saleFareTotal != null) { |
+ _json["saleFareTotal"] = saleFareTotal; |
+ } |
+ if (saleTaxTotal != null) { |
+ _json["saleTaxTotal"] = saleTaxTotal; |
+ } |
+ if (saleTotal != null) { |
+ _json["saleTotal"] = saleTotal; |
+ } |
+ if (segmentPricing != null) { |
+ _json["segmentPricing"] = segmentPricing.map((value) => (value).toJson()).toList(); |
+ } |
+ if (tax != null) { |
+ _json["tax"] = tax.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Details of a segment of a flight; a segment is one or more consecutive legs |
+ * on the same flight. For example a hypothetical flight ZZ001, from DFW to OGG, |
+ * would have one segment with two legs: DFW to HNL (leg 1), HNL to OGG (leg 2), |
+ * and DFW to OGG (legs 1 and 2). |
+ */ |
+class SegmentInfo { |
+ /** The booking code or class for this segment. */ |
+ core.String bookingCode; |
+ |
+ /** The number of seats available in this booking code on this segment. */ |
+ core.int bookingCodeCount; |
+ |
+ /** The cabin booked for this segment. */ |
+ core.String cabin; |
+ |
+ /** In minutes, the duration of the connection following this segment. */ |
+ core.int connectionDuration; |
+ |
+ /** The duration of the flight segment in minutes. */ |
+ core.int duration; |
+ |
+ /** The flight this is a segment of. */ |
+ FlightInfo flight; |
+ |
+ /** An id uniquely identifying the segment in the solution. */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a segment object. A segment is one or more consecutive |
+ * legs on the same flight. For example a hypothetical flight ZZ001, from DFW |
+ * to OGG, could have one segment with two legs: DFW to HNL (leg 1), HNL to |
+ * OGG (leg 2). Value: the fixed string qpxexpress#segmentInfo. |
+ */ |
+ core.String kind; |
+ |
+ /** The legs composing this segment. */ |
+ core.List<LegInfo> leg; |
+ |
+ /** |
+ * The solution-based index of a segment in a married segment group. Married |
+ * segments can only be booked together. For example, an airline might report |
+ * a certain booking code as sold out from Boston to Pittsburgh, but as |
+ * available as part of two married segments Boston to Chicago connecting |
+ * through Pittsburgh. For example content of this field, consider the |
+ * round-trip flight ZZ1 PHX-PHL ZZ2 PHL-CLT ZZ3 CLT-PHX. This has three |
+ * segments, with the two outbound ones (ZZ1 ZZ2) married. In this case, the |
+ * two outbound segments belong to married segment group 0, and the return |
+ * segment belongs to married segment group 1. |
+ */ |
+ core.String marriedSegmentGroup; |
+ |
+ /** |
+ * Whether the operation of this segment remains subject to government |
+ * approval. |
+ */ |
+ core.bool subjectToGovernmentApproval; |
+ |
+ |
+ SegmentInfo(); |
+ |
+ SegmentInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("bookingCode")) { |
+ bookingCode = _json["bookingCode"]; |
+ } |
+ if (_json.containsKey("bookingCodeCount")) { |
+ bookingCodeCount = _json["bookingCodeCount"]; |
+ } |
+ if (_json.containsKey("cabin")) { |
+ cabin = _json["cabin"]; |
+ } |
+ if (_json.containsKey("connectionDuration")) { |
+ connectionDuration = _json["connectionDuration"]; |
+ } |
+ if (_json.containsKey("duration")) { |
+ duration = _json["duration"]; |
+ } |
+ if (_json.containsKey("flight")) { |
+ flight = new FlightInfo.fromJson(_json["flight"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("leg")) { |
+ leg = _json["leg"].map((value) => new LegInfo.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("marriedSegmentGroup")) { |
+ marriedSegmentGroup = _json["marriedSegmentGroup"]; |
+ } |
+ if (_json.containsKey("subjectToGovernmentApproval")) { |
+ subjectToGovernmentApproval = _json["subjectToGovernmentApproval"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (bookingCode != null) { |
+ _json["bookingCode"] = bookingCode; |
+ } |
+ if (bookingCodeCount != null) { |
+ _json["bookingCodeCount"] = bookingCodeCount; |
+ } |
+ if (cabin != null) { |
+ _json["cabin"] = cabin; |
+ } |
+ if (connectionDuration != null) { |
+ _json["connectionDuration"] = connectionDuration; |
+ } |
+ if (duration != null) { |
+ _json["duration"] = duration; |
+ } |
+ if (flight != null) { |
+ _json["flight"] = (flight).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (leg != null) { |
+ _json["leg"] = leg.map((value) => (value).toJson()).toList(); |
+ } |
+ if (marriedSegmentGroup != null) { |
+ _json["marriedSegmentGroup"] = marriedSegmentGroup; |
+ } |
+ if (subjectToGovernmentApproval != null) { |
+ _json["subjectToGovernmentApproval"] = subjectToGovernmentApproval; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The price of this segment. */ |
+class SegmentPricing { |
+ /** |
+ * A segment identifier unique within a single solution. It is used to refer |
+ * to different parts of the same solution. |
+ */ |
+ core.String fareId; |
+ |
+ /** Details of the free baggage allowance on this segment. */ |
+ core.List<FreeBaggageAllowance> freeBaggageOption; |
+ |
+ /** |
+ * Identifies this as a segment pricing object, representing the price of this |
+ * segment. Value: the fixed string qpxexpress#segmentPricing. |
+ */ |
+ core.String kind; |
+ |
+ /** Unique identifier in the response of this segment. */ |
+ core.String segmentId; |
+ |
+ |
+ SegmentPricing(); |
+ |
+ SegmentPricing.fromJson(core.Map _json) { |
+ if (_json.containsKey("fareId")) { |
+ fareId = _json["fareId"]; |
+ } |
+ if (_json.containsKey("freeBaggageOption")) { |
+ freeBaggageOption = _json["freeBaggageOption"].map((value) => new FreeBaggageAllowance.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("segmentId")) { |
+ segmentId = _json["segmentId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (fareId != null) { |
+ _json["fareId"] = fareId; |
+ } |
+ if (freeBaggageOption != null) { |
+ _json["freeBaggageOption"] = freeBaggageOption.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (segmentId != null) { |
+ _json["segmentId"] = segmentId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information about a slice. A slice represents a traveller's intent, the |
+ * portion of a low-fare search corresponding to a traveler's request to get |
+ * between two points. One-way journeys are generally expressed using 1 slice, |
+ * round-trips using 2. For example, if a traveler specifies the following trip |
+ * in a user interface: |
+ * | Origin | Destination | Departure Date | | BOS | LAX | March 10, 2007 | | |
+ * LAX | SYD | March 17, 2007 | | SYD | BOS | March 22, 2007 | |
+ * then this is a three slice trip. |
+ */ |
+class SliceInfo { |
+ /** The duration of the slice in minutes. */ |
+ core.int duration; |
+ |
+ /** |
+ * Identifies this as a slice object. A slice represents a traveller's intent, |
+ * the portion of a low-fare search corresponding to a traveler's request to |
+ * get between two points. One-way journeys are generally expressed using 1 |
+ * slice, round-trips using 2. Value: the fixed string qpxexpress#sliceInfo. |
+ */ |
+ core.String kind; |
+ |
+ /** The segment(s) constituting the slice. */ |
+ core.List<SegmentInfo> segment; |
+ |
+ |
+ SliceInfo(); |
+ |
+ SliceInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("duration")) { |
+ duration = _json["duration"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("segment")) { |
+ segment = _json["segment"].map((value) => new SegmentInfo.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (duration != null) { |
+ _json["duration"] = duration; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (segment != null) { |
+ _json["segment"] = segment.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Criteria a desired slice must satisfy. */ |
+class SliceInput { |
+ /** |
+ * Slices with only the carriers in this alliance should be returned; do not |
+ * use this field with permittedCarrier. Allowed values are ONEWORLD, SKYTEAM, |
+ * and STAR. |
+ */ |
+ core.String alliance; |
+ |
+ /** Departure date in YYYY-MM-DD format. */ |
+ core.String date; |
+ |
+ /** Airport or city IATA designator of the destination. */ |
+ core.String destination; |
+ |
+ /** |
+ * Identifies this as a slice input object, representing the criteria a |
+ * desired slice must satisfy. Value: the fixed string qpxexpress#sliceInput. |
+ */ |
+ core.String kind; |
+ |
+ /** |
+ * The longest connection between two legs, in minutes, you are willing to |
+ * accept. |
+ */ |
+ core.int maxConnectionDuration; |
+ |
+ /** The maximum number of stops you are willing to accept in this slice. */ |
+ core.int maxStops; |
+ |
+ /** Airport or city IATA designator of the origin. */ |
+ core.String origin; |
+ |
+ /** |
+ * A list of 2-letter IATA airline designators. Slices with only these |
+ * carriers should be returned. |
+ */ |
+ core.List<core.String> permittedCarrier; |
+ |
+ /** |
+ * Slices must depart in this time of day range, local to the point of |
+ * departure. |
+ */ |
+ TimeOfDayRange permittedDepartureTime; |
+ |
+ /** |
+ * Prefer solutions that book in this cabin for this slice. Allowed values are |
+ * COACH, PREMIUM_COACH, BUSINESS, and FIRST. |
+ */ |
+ core.String preferredCabin; |
+ |
+ /** |
+ * A list of 2-letter IATA airline designators. Exclude slices that use these |
+ * carriers. |
+ */ |
+ core.List<core.String> prohibitedCarrier; |
+ |
+ |
+ SliceInput(); |
+ |
+ SliceInput.fromJson(core.Map _json) { |
+ if (_json.containsKey("alliance")) { |
+ alliance = _json["alliance"]; |
+ } |
+ if (_json.containsKey("date")) { |
+ date = _json["date"]; |
+ } |
+ if (_json.containsKey("destination")) { |
+ destination = _json["destination"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("maxConnectionDuration")) { |
+ maxConnectionDuration = _json["maxConnectionDuration"]; |
+ } |
+ if (_json.containsKey("maxStops")) { |
+ maxStops = _json["maxStops"]; |
+ } |
+ if (_json.containsKey("origin")) { |
+ origin = _json["origin"]; |
+ } |
+ if (_json.containsKey("permittedCarrier")) { |
+ permittedCarrier = _json["permittedCarrier"]; |
+ } |
+ if (_json.containsKey("permittedDepartureTime")) { |
+ permittedDepartureTime = new TimeOfDayRange.fromJson(_json["permittedDepartureTime"]); |
+ } |
+ if (_json.containsKey("preferredCabin")) { |
+ preferredCabin = _json["preferredCabin"]; |
+ } |
+ if (_json.containsKey("prohibitedCarrier")) { |
+ prohibitedCarrier = _json["prohibitedCarrier"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (alliance != null) { |
+ _json["alliance"] = alliance; |
+ } |
+ if (date != null) { |
+ _json["date"] = date; |
+ } |
+ if (destination != null) { |
+ _json["destination"] = destination; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (maxConnectionDuration != null) { |
+ _json["maxConnectionDuration"] = maxConnectionDuration; |
+ } |
+ if (maxStops != null) { |
+ _json["maxStops"] = maxStops; |
+ } |
+ if (origin != null) { |
+ _json["origin"] = origin; |
+ } |
+ if (permittedCarrier != null) { |
+ _json["permittedCarrier"] = permittedCarrier; |
+ } |
+ if (permittedDepartureTime != null) { |
+ _json["permittedDepartureTime"] = (permittedDepartureTime).toJson(); |
+ } |
+ if (preferredCabin != null) { |
+ _json["preferredCabin"] = preferredCabin; |
+ } |
+ if (prohibitedCarrier != null) { |
+ _json["prohibitedCarrier"] = prohibitedCarrier; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Tax data. */ |
+class TaxData { |
+ /** An identifier uniquely identifying a tax in a response. */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a tax data object, representing some tax. Value: the |
+ * fixed string qpxexpress#taxData. |
+ */ |
+ core.String kind; |
+ |
+ /** The name of a tax. */ |
+ core.String name; |
+ |
+ |
+ TaxData(); |
+ |
+ TaxData.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Tax information. */ |
+class TaxInfo { |
+ /** Whether this is a government charge or a carrier surcharge. */ |
+ core.String chargeType; |
+ |
+ /** The code to enter in the ticket's tax box. */ |
+ core.String code; |
+ |
+ /** For government charges, the country levying the charge. */ |
+ core.String country; |
+ |
+ /** |
+ * Identifier uniquely identifying this tax in a response. Not present for |
+ * unnamed carrier surcharges. |
+ */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a tax information object. Value: the fixed string |
+ * qpxexpress#taxInfo. |
+ */ |
+ core.String kind; |
+ |
+ /** The price of the tax in the sales or equivalent currency. */ |
+ core.String salePrice; |
+ |
+ |
+ TaxInfo(); |
+ |
+ TaxInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("chargeType")) { |
+ chargeType = _json["chargeType"]; |
+ } |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("country")) { |
+ country = _json["country"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("salePrice")) { |
+ salePrice = _json["salePrice"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (chargeType != null) { |
+ _json["chargeType"] = chargeType; |
+ } |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (country != null) { |
+ _json["country"] = country; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (salePrice != null) { |
+ _json["salePrice"] = salePrice; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Two times in a single day defining a time range. */ |
+class TimeOfDayRange { |
+ /** The earliest time of day in HH:MM format. */ |
+ core.String earliestTime; |
+ |
+ /** |
+ * Identifies this as a time of day range object, representing two times in a |
+ * single day defining a time range. Value: the fixed string |
+ * qpxexpress#timeOfDayRange. |
+ */ |
+ core.String kind; |
+ |
+ /** The latest time of day in HH:MM format. */ |
+ core.String latestTime; |
+ |
+ |
+ TimeOfDayRange(); |
+ |
+ TimeOfDayRange.fromJson(core.Map _json) { |
+ if (_json.containsKey("earliestTime")) { |
+ earliestTime = _json["earliestTime"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("latestTime")) { |
+ latestTime = _json["latestTime"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (earliestTime != null) { |
+ _json["earliestTime"] = earliestTime; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (latestTime != null) { |
+ _json["latestTime"] = latestTime; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Trip information. */ |
+class TripOption { |
+ /** Identifier uniquely identifying this trip in a response. */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a trip information object. Value: the fixed string |
+ * qpxexpress#tripOption. |
+ */ |
+ core.String kind; |
+ |
+ /** Per passenger pricing information. */ |
+ core.List<PricingInfo> pricing; |
+ |
+ /** |
+ * The total price for all passengers on the trip, in the form of a currency |
+ * followed by an amount, e.g. USD253.35. |
+ */ |
+ core.String saleTotal; |
+ |
+ /** The slices that make up this trip's itinerary. */ |
+ core.List<SliceInfo> slice; |
+ |
+ |
+ TripOption(); |
+ |
+ TripOption.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("pricing")) { |
+ pricing = _json["pricing"].map((value) => new PricingInfo.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("saleTotal")) { |
+ saleTotal = _json["saleTotal"]; |
+ } |
+ if (_json.containsKey("slice")) { |
+ slice = _json["slice"].map((value) => new SliceInfo.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (pricing != null) { |
+ _json["pricing"] = pricing.map((value) => (value).toJson()).toList(); |
+ } |
+ if (saleTotal != null) { |
+ _json["saleTotal"] = saleTotal; |
+ } |
+ if (slice != null) { |
+ _json["slice"] = slice.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A QPX Express search request, which will yield one or more solutions. */ |
+class TripOptionsRequest { |
+ /** |
+ * Do not return solutions that cost more than this price. The alphabetical |
+ * part of the price is in ISO 4217. The format, in regex, is |
+ * [A-Z]{3}\d+(\.\d+)? Example: $102.07 |
+ */ |
+ core.String maxPrice; |
+ |
+ /** Counts for each passenger type in the request. */ |
+ PassengerCounts passengers; |
+ |
+ /** Return only solutions with refundable fares. */ |
+ core.bool refundable; |
+ |
+ /** |
+ * IATA country code representing the point of sale. This determines the |
+ * "equivalent amount paid" currency for the ticket. |
+ */ |
+ core.String saleCountry; |
+ |
+ /** |
+ * The slices that make up the itinerary of this trip. A slice represents a |
+ * traveler's intent, the portion of a low-fare search corresponding to a |
+ * traveler's request to get between two points. One-way journeys are |
+ * generally expressed using one slice, round-trips using two. An example of a |
+ * one slice trip with three segments might be BOS-SYD, SYD-LAX, LAX-BOS if |
+ * the traveler only stopped in SYD and LAX just long enough to change planes. |
+ */ |
+ core.List<SliceInput> slice; |
+ |
+ /** The number of solutions to return, maximum 500. */ |
+ core.int solutions; |
+ |
+ |
+ TripOptionsRequest(); |
+ |
+ TripOptionsRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("maxPrice")) { |
+ maxPrice = _json["maxPrice"]; |
+ } |
+ if (_json.containsKey("passengers")) { |
+ passengers = new PassengerCounts.fromJson(_json["passengers"]); |
+ } |
+ if (_json.containsKey("refundable")) { |
+ refundable = _json["refundable"]; |
+ } |
+ if (_json.containsKey("saleCountry")) { |
+ saleCountry = _json["saleCountry"]; |
+ } |
+ if (_json.containsKey("slice")) { |
+ slice = _json["slice"].map((value) => new SliceInput.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("solutions")) { |
+ solutions = _json["solutions"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (maxPrice != null) { |
+ _json["maxPrice"] = maxPrice; |
+ } |
+ if (passengers != null) { |
+ _json["passengers"] = (passengers).toJson(); |
+ } |
+ if (refundable != null) { |
+ _json["refundable"] = refundable; |
+ } |
+ if (saleCountry != null) { |
+ _json["saleCountry"] = saleCountry; |
+ } |
+ if (slice != null) { |
+ _json["slice"] = slice.map((value) => (value).toJson()).toList(); |
+ } |
+ if (solutions != null) { |
+ _json["solutions"] = solutions; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A QPX Express search response. */ |
+class TripOptionsResponse { |
+ /** Informational data global to list of solutions. */ |
+ Data data; |
+ |
+ /** |
+ * Identifies this as a QPX Express trip response object, which consists of |
+ * zero or more solutions. Value: the fixed string qpxexpress#tripOptions. |
+ */ |
+ core.String kind; |
+ |
+ /** An identifier uniquely identifying this response. */ |
+ core.String requestId; |
+ |
+ /** A list of priced itinerary solutions to the QPX Express query. */ |
+ core.List<TripOption> tripOption; |
+ |
+ |
+ TripOptionsResponse(); |
+ |
+ TripOptionsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("data")) { |
+ data = new Data.fromJson(_json["data"]); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("requestId")) { |
+ requestId = _json["requestId"]; |
+ } |
+ if (_json.containsKey("tripOption")) { |
+ tripOption = _json["tripOption"].map((value) => new TripOption.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (data != null) { |
+ _json["data"] = (data).toJson(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (requestId != null) { |
+ _json["requestId"] = requestId; |
+ } |
+ if (tripOption != null) { |
+ _json["tripOption"] = tripOption.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A QPX Express search request. */ |
+class TripsSearchRequest { |
+ /** |
+ * A QPX Express search request. Required values are at least one adult or |
+ * senior passenger, an origin, a destination, and a date. |
+ */ |
+ TripOptionsRequest request; |
+ |
+ |
+ TripsSearchRequest(); |
+ |
+ TripsSearchRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("request")) { |
+ request = new TripOptionsRequest.fromJson(_json["request"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (request != null) { |
+ _json["request"] = (request).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A QPX Express search response. */ |
+class TripsSearchResponse { |
+ /** |
+ * Identifies this as a QPX Express API search response resource. Value: the |
+ * fixed string qpxExpress#tripsSearch. |
+ */ |
+ core.String kind; |
+ |
+ /** All possible solutions to the QPX Express search request. */ |
+ TripOptionsResponse trips; |
+ |
+ |
+ TripsSearchResponse(); |
+ |
+ TripsSearchResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("trips")) { |
+ trips = new TripOptionsResponse.fromJson(_json["trips"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (trips != null) { |
+ _json["trips"] = (trips).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |