openapi: 3.2.0 info: version: 1.0.0 title: Trip Ninja MSDP API Documentation Results API description: "

Introduction

\nTrip Ninja uses a REST API with requests and responses in JSON format. For development and testing, the pre-production servers\nare to be used. Once ready for live use, access to the production servers will be provided. All search endpoints have both production\nand pre-production endpoints - these correspond to the GDS’s production and pre-production services, and can be used as desired.
\n

Trip Ninja API URLs

\n\nPre-Production: https://preprodapi.tripninja.io\n\nFor security, Trip Ninja’s servers are only accessible from whitelisted IPs. Please contact your account manager to whitelist IPs you\nwill be using.\n\nBefore you start ensure that:
\n - IP addresses have been provided to be whitelisted for our servers.
\n - PCC / OfficeID emulation via Trip Ninja’s PCC/OfficeID has been set up.
\n - API username and password have been provided by Trip Ninja.
\n\n

MSDP

\nMulti Stop Dynamic Packaging (MSDP) provides an alternative to traditional, static packaging. \nIt allows users to build packages as they go. While users search for multi-destination flights, \nMSDP will find eligible hotels with which to bundle.\n\n

Authentication

\nTrip Ninja uses Basic Authentication standards. Simply encode your username and password string using base64 and pass it in the\nauthorization headers. See the python example below on how this is done. In the example, the payload and API endpoint url are not\nshown.\n\nPython Example:\n\n
\nimport base64\nauth = base64.b64encode(\"USERNAME:PASSWORD\")\nheaders = {\n    'authorization': \"Basic \"+ auth,\n}\nresponse = requests.post(url, headers=headers, data=json.dumps(payload))\n
\n" x-logo: url: https://s3.amazonaws.com/tn-api-docs/trip_ninja_logo.png altText: Trip Ninja logo href: https://www.tripninja.io/ servers: - url: https://preprodapi.tripninja.io description: Pre-Production server tags: - name: Results paths: ? /results/hotels/?hotel_trace_id={hotel_trace_id}&rating={rating}&area={area}&min_price={min_price}&max_price={max_price}&min_distance={min_distance}&max_distance={max_distance}&hotel_chain={hotel_chain}&amenities={amenities}&sort_by={sort_by} : get: parameters: - in: path name: hotel_trace_id required: true schema: type: string example: 4f499298b303c55a1ee522118afce28abe2f68e4 description: Parameter to retrieve the hotel results - in: path name: rating schema: type: array of strings or string example: 1 description: Parameter to filter the hotel results - in: path name: area schema: type: array of strings or string example: Bedford description: Parameter to filter the hotel results - in: path name: min_price schema: type: string example: 100 description: Parameter to filter the hotel results - in: path name: max_price schema: type: string example: 1000 description: Parameter to filter the hotel results - in: path name: min_distance schema: type: string example: 10 description: Parameter to filter the hotel results (in km) - in: path name: max_distance schema: type: string example: 100 description: Parameter to filter the hotel results (in km) - in: path name: hotel_chain schema: type: array of strings or string example: WA description: Parameter to filter the hotel results - in: path name: amenities schema: type: array of strings or string example: Air Conditioner,Wifi description: Parameter to filter the hotel results - in: path name: sort_by schema: type: string example: price_low_to_high description: "Parameter to filter the hotel results
\nAvailable Options:
\n `closest`
\n `price_low_to_high`
\n `price_high_to_low`
\n `rating_high_to_low`
\n `rating_low_to_high`
\n" summary: MSDP Get Hotel Results description: 'This endpoint retrieves a specific MSDP hotel search result from the prior MSDP search Example URL: `/results/hotels/?hotel_trace_id=4f499298b303c55a1ee522118afce28abe2f68e4&rating=1,2,3&area=Bedford,Dartmouth&min_price=100&max_price=1000&min_distance=2&max_distance=50&hotel_chain=WA&amenities=Air Conditioning,Wifi&sort_by=closest` ' operationId: MSDPGetHotelResults responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/SearchComponents/Hotel/ShouldIncludeHotelResultsResponse/items' 400: description: Invalid Input content: application/json: schema: type: object properties: message: type: string description: Contains the error message example: hotel_trace_id is not found 401: description: Unauthorized content: application/json: schema: type: object properties: status: type: string description: Error code and 0 for success response example: IE44 message: type: string description: Contains the error message example: User is not authorized 500: description: Server Error tags: - Results components: schemas: SearchComponents: Hotel: ShouldIncludeHotelResultsResponse: description: Consists of all the hotel results type: array items: type: object properties: id: description: An identifier to refer to the flight index type: int example: 1 hotel_trace_id: description: An identifier to refer to the hotel for searching room availability type: string example: 4f499298b303c55a1ee522118afce28abe2f68e4 hotels: description: A list of hotels available based on the search request details. type: array items: type: object properties: location_iata: description: The location of the hotel. type: string example: LON location_full: description: The full location name as provided by the GDS. type: string example: London, England rating: description: The rating of the hotel. type: object properties: rating: description: The hotel rating type: int example: 4 rating_provider: description: The provider of the rating. type: string example: Giata rating_maximum: description: The best possible rating. type: int example: 10 rating_minimum: description: The worst possible rating. type: int example: 0 hotel_chain: description: The refence for the hotel chain. type: string example: GI hotel_code: description: The reference for the hotel code type: string example: '35573' hotel_name: description: The name of the hotel type: string example: Cambridge Suites Hotel Halifax minimum_charge: description: The minimun total for the requested search available (in the currency provided in the search request) type: float example: 400.32 maximum_charge: description: The maximum total priced room option available (in the currency provided in the search request) type: float example: 780.65 address: type: object description: Contains hotel address details properties: street_address: description: The street address of the hotel. type: string example: 1583 Brunswick St, Halifax, NS B3J 3P5 longitude: description: The longitude of the hotel. type: float example: 44.64511447836071 lattitude: description: The lattitude of the hotel. type: float example: -63.575245615440565 distance_from_reference_point_km: description: The distance that the hotel is from the reference submitted in the search. type: float example: 7.5 phone_number: type: str description: The contact phone number for the hotel. example: +1 902-420-0555 ammenities: type: array description: A list of the amenities provided at this hotel. items: type: object properties: amenity_type: type: string description: The amenity type, can be either HA (Hotel Amenity) or RA (Room amenity) example: HA amenity_title: type: string description: A title or descriptor of the amenity provided. example: High speed internet connection credential_info: $ref: '#/components/schemas/SearchComponents/Credentials' conversion_rate: description: The conversion rate to get the price in the currency requested. type: float example: 0.45 neighbourhood: description: The neighbourhood or locality of the hotel. type: string example: Saint Boniface hotel_itinerary_reference: $ref: '#/components/schemas/SearchComponents/Hotel/HotelItineraryReference' next_result_reference: $ref: '#/components/schemas/SearchComponents/Hotel/HotelNextResultReference' hotels_media: description: A list of media items for all the hotels returned in the search. type: array items: type: object properties: hotel_chain: description: The refence for the hotel chain. type: string example: GI hotel_code: description: The reference for the hotel code type: string example: '35573' hotel_media_items: description: A selection of media items for the above referenced hotel. type: array items: type: object properties: title: description: The title / descriptor of the photos contained in this media item. type: string example: Front desk. large: description: The url for the image of the above titled part of the hotel of size large. type: string example: https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/45/0b/f8/lobby.jpg thumbnail: description: The url for the image of the above titled part of the hotel of size thumbnail. type: string example: https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/45/0b/f8/lobby.jpg hotel_neighbourhoods: description: The top 5 most common neighbourhoods found in the hotel search location, ordered from most common to least common. type: array of strings example: - St. Vital Center - Downtown - River Heights - Saint Boniface - Fort Garry NotShouldIncludeHotelResultsResponse: description: Consists of all the hotel results. If should_include_hotel_results is false, only the hotel_trace_id will be returned. type: array items: type: object properties: id: description: An identifier to refer to the flight index type: int example: 1 hotel_trace_id: description: An identifier to refer to the hotel for searching room availability type: string example: 4f499298b303c55a1ee522118afce28abe2f68e4 HotelLocation: description: location (city, airport, or reference point) to search for hotels in. type: object required: - type - IATA properties: city_name: description: The city name for the reference point. type: string example: Ottawa country: description: The 2-letter country code for the reference point. Required for reference point. type: string example: FR country_name: description: The full country name for the reference point. type: string example: France IATA: description: The IATA code for the city/airport, or nearest IATA for the reference point type: string example: PAR name: description: The IATA code for the city/airport, or nearest IATA for the reference point. Required for reference point. type: string example: Eiffel Tower region: description: The state/province for the reference point. Only required for reference point if there are multiple reference points with same name in the same country. type: string example: NS type: type: string description: Defines whether it's a city ('C'), airport ('A'), or reference point ('R') example: R HotelRooms: description: List of guest info for 1 room required to make hotel search requests. type: array items: type: object required: - num_adults - num_children - nationality - country_of_residence properties: num_adults: description: Number of adults staying in the room. type: int example: 2 num_children: description: Number of children staying in the room, if none use 0. type: int example: 3 children_age_list: description: List of ages for children staying in room. Optional if num_children = 0, Required if num_children > 0. type: array of ints example: - 5 - 7 - 11 nationality: description: 2 letter country code of nationality of primary guest. e.g. CA for Canada, GB for United Kingdom, CO for Colombia. type: string example: CA country_of_residence: description: 2 letter country code of country of residence of primary guest. e.g. CA for Canada, GB for United Kingdom, CO for Colombia. type: string example: CA HotelNextResultReference: description: The reference object with the reference and the provider map. type: array items: type: object properties: reference: description: The reference for the GDS to make the next search. example: GvCe60ac0/ca8J7rRpzT99+A990Uzoz9uPnDvrR9vlPYyiAdwA/4TedEKvTDZyf87Yyw51a62Z0vr9lr1UD15D2BfyUpgIOXDnCDubYq+Qg9pzbZYLqUbA== type: string provider: description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus, “webbeds” - Webbeds type: string example: 1V HotelItineraryReference: description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0. type: string example: '1' Flight: ItineraryFareStructure: type: object description: Contains the JSON object of the response. properties: currency: type: string description: Currency example: CAD markup: type: float description: Markup specified by the Trip Ninja Net Fare to be applied at the itinerary level. example: 25.0 path_sequence: type: array description: An array of IATA codes representing the chronological order of your trip. example: - LON-CDG - CDG-YUL - YUL-LON trip_id: type: string description: A unique key used for identification and when booking a trip. example: 04187ebd88c965919a2b8d54ca98390a56cd48c5 itineraries: $ref: '#/components/schemas/SearchComponents/Flight/FareStructureSearchItineraries' SegmentFareStructure: type: object description: Contains the JSON object of the response. properties: currency: type: string description: Currency example: CAD markup: type: float description: Markup specified by the Trip Ninja Net Fare to be applied at the itinerary level. example: 25.0 path_sequence: type: array description: An array of IATA codes representing the chronological order of your trip. example: - LON-CDG - CDG-YUL - YUL-LON trip_id: type: string description: A unique key used for identification and when booking a trip. example: 04187ebd88c965919a2b8d54ca98390a56cd48c5 segments: $ref: '#/components/schemas/SearchComponents/Flight/SegmentOptions' flight_details: $ref: '#/components/schemas/SearchComponents/Flight/FlightDetails' Flights: description: parameters for each flight search type: array items: type: object required: - id - from_city - start_type - to_city - end_type - departure_date properties: id: description: Flight leg ID type: integer example: 1 from_city: description: Start city/airport IATA code of leg. type: string example: YHZ start_type: description: Upper-case letter “C” for city or “A” for airport type: string example: C to_city: description: End city/airport IATA code of leg. type: string example: LON end_type: description: Upper-case letter “C” for city or “A” for airport type: string example: C departure_date: description: 'Departure date for this leg, format: YYYY-MM-DD. Any trailing characters after do not affect the API’s functionality.' type: string example: '2023-06-20' cabin_class: description: A unique cabin class can be set for each segment of the trip, otherwise it can be set at the root level. type: string example: BC FareStructureSearchItineraries: allOf: - $ref: '#/components/schemas/SearchComponents/Flight/ItineraryProperties' - type: array description: Array of itineraries sorted by weight. items: $ref: '#/components/schemas/SearchComponents/Flight/ItineraryInfoWithCreds' ItineraryProperties: total_cost: type: float description: Total cost of cheapest segments recommended, in currency specified. example: 693.6 tn_net_fare_markup: type: float description: Markup specified by the Trip Ninja Net Fare to be applied at the itinerary level. example: 25.0 structure: type: array description: 'Array representing the structure of the trip in terms of one-ways and open-jaw segments. For example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, one with key “34” and a one-way with key ‘2”.' ErrorDetails: $ref: '#/components/schemas/ErrorDetails' ItineraryInfoWithCreds: allOf: - $ref: '#/components/schemas/SearchComponents/Flight/BasicItineraryInfo' - type: object properties: segments: type: array description: List of segments in the itinerary items: $ref: '#/components/schemas/SearchComponents/Flight/SegmentInfoWithCreds' BasicItineraryInfo: type: object properties: weight: type: float description: Weight of the segment (time-value considered). example: 239 price: type: float description: Price of the segment (fare and tax included). example: 197.1 base_price: type: float description: Base price of the segment (tax excluded) example: 0 taxes: type: float description: Tax price of the segment example: 119.1 fees: type: float description: Fees for the segment *Travelport customers only* example: 0 cabin_class: type: string description: Cabin class for the entire segment *Travelport customers only* example: Economy latest_ticketing_date: type: date description: Latest ticketing time example: '2019-05-07' refundable: type: boolean description: Refundable tickets example: false e_ticketability: type: boolean example: true transp_time: type: integer description: Total transportation time for the itinerary example: 425 SegmentInfoWithCreds: allOf: - $ref: '#/components/schemas/SearchComponents/Flight/BasicSegmentInfo' - type: object properties: credential_info: $ref: '#/components/schemas/SearchComponents/Credentials' BasicSegmentInfo: type: object properties: segment_origin_full: type: string description: Origin of the segment. example: London, United Kingdom (LHR) segment_destination_full: type: string description: Destination of the segment. example: Berlin, Germany (TXL) weight: type: string description: Weight of the segment (time-value considered). example: 96 segment_id: type: string description: String if one-way, Array of 2 Strings if open-jaw. Used for booking. example: 344d73be0d61f820aa9a6ace300742fed0672f2e price: type: float description: Price of the segment (fare and tax included) example: 72.3 cancel_penalty: type: object description: Information about cancellation properties: amount: type: float description: Cancellation penalty amount example: 0 percentage: type: float description: Cancellation penalty percentage example: 100 change_penalty: type: object description: Information about changing. properties: amount: type: float description: Change penalty amount example: 78 percentage: type: float description: Change penalty percentage example: 0 flight_type: type: string description: “open_jaw” or “one_way” example: open_jaw legs: $ref: '#/components/schemas/SearchComponents/Flight/LegDetails' baggage: type: object description: Contains baggage information. properties: number_of_pieces: type: integer description: Number of bags allowed. example: 0 fare_basis_code: type: string description: Fare Basis Code for the segment. example: QUSDSI0E fare_rule_key: type: string description: Fare rule key for the segment example: gws-eJxNjs0KwyAQhB8mzH02QdLeFPNzEaGYEnLp+z9GR02hC7qz+w2j3vuR9uRjov+vAZ\/hLMjvCGSMOmk\/4WQjTNMFkoZX4cI1FdwhFeWGe7dmjC5Oati4WUe1cLU77UGsJ7fM+jSq1AI\/EQ7JHJZjjTS5ZnO8EWfop1+XbyuD fare_info_ref: type: string description: Fare Info reference for this segment example: 3RxQ6ylJ0BKAhQAbnbAAAA== LegDetails: title: Leg Details type: array description: A list of legs for this segment items: type: object properties: OriginName: type: string description: Full name of the flight origin example: London, United Kingdom (LHR) Origin: type: string description: IATA code of the leg origin example: LHR DestinationName: type: string description: Full name of the leg destination example: Paris, France (CDG) Destination: type: string description: IATA code of the leg destination example: CDG DepartureTime: type: string description: Departure time of the leg example: '2019-04-05T13:25:00.000+01:00' ArrivalTime: type: string description: Arrival time of the leg example: '2019-04-05T15:40:00.000+02:00' FlightNumber: type: string description: Leg's flight number example: 111 Carrier: type: string description: Leg's carrier code example: BA OperatingCarrier: type: string description: Leg's operating carrier code example: WS FlightTime: type: integer description: Flight duration in minutes example: 75 AircraftType: type: string description: IATA type code for aircraft model. example: 7M8 Key: type: string description: Leg’s string identifier example: oHzo6pBAAA/B1d6hPLAAAA== BookingCode: type: string description: The airline booking code that describes the flight cabin class example: X cabin_class: type: string description: Leg’s cabin class *Travelport customers only* example: Economy fare_info_ref: type: string description: Flight identifer required to make a travelport fare rule request. *Travelport Only* example: WPADWJK0nDKATShj2JAAAA== fare_rule_key: type: string description: Key corresponding to above fare_info_ref also required to make a travelport fare rule request. *Travelport Only* example: gws-eJxNT0EKAjEMfMwy96SNxd5auqig7GFZlO7B/z/DaVR00oQOMxnaUkqQEOQosfxjwnOqDa3OwILA7pcdJkkESrZACFwf6ba37QwPyZpc+pWiu5FWPxx9CAOf2e8rBYvpbVBMiFZjVfIRYWK+Dmd13jxpqJrzN/y08g2EJ4odeOUPXvRTL2E= fare_type: type: string description: Leg's fare type example: PublicFare SegmentOptions: title: Segment Options type: array items: type: object properties: credential_info: $ref: '#/components/schemas/SearchComponents/Credentials' origin: type: string description: IATA code of the segment origin example: LHR origin_name: type: string description: Full name of the flight origin example: London, United Kingdom (LHR) destination: type: string description: IATA code of the segment destination example: CDG destination_name: type: string description: Full name of the flight destination example: Paris, France (CDG) itinerary_type: type: string enum: - ONE_WAY - OPEN_JAW - MULTI_PNR description: Type of the itinerary option. example: ONE_WAY itinerary_id: type: string description: Links part of the OPEN_JAW itineraries/VI-structures together which also make a PNR. example: ad76ah7dhasd76asb76 itinerary_markup: type: number default: 0 description: Markup for the itinerary. Trip markup and Itinerary markup parameters are mutualy exclusive example: 7 itinerary_structure: type: string description: Structure of the OPEN_JAW itinerary example: - 0 - 1 segment_position: type: integer description: Position of current segment in trip. Starts from 0. example: 0 itinerary_index: type: - int - 'null' description: 'position of the virtual interlining option in itinerary(PNR). Starts from 0 Helps ordering parts of the VI solution in the itinerary ' example: 0 weight: type: float description: Weight of the itinerary (time-value considered). example: 239 price: type: float description: Price of the itinerary (fare and tax included). example: 197.1 base_price: type: float description: Base price of the itinerary (tax excluded) example: 0 taxes: type: float description: Tax price of the itinerary example: 119.1 fees: type: float description: Fees for the itinerary example: 0 transportation_time: type: integer description: Total transportation time for the itinerary example: 425 fare_type: type: string description: Fare Type of the segment example: Published baggage: type: object description: Contains baggage information. properties: number_of_pieces: type: integer description: Number of bags allowed. example: 0 additional_details: type: object description: Additional Details properties: e_ticketability: type: boolean example: true latest_ticketing_time: type: string format: date example: 11JUN20 refundable: type: boolean example: true cancel_penalty: type: object description: Information about cancellation properties: amount: type: float description: Cancellation penalty amount example: 0 percentage: type: float description: Cancellation penalty percentage example: 100 change_penalty: type: object description: Information about changing. properties: amount: type: float description: Change penalty amount example: 78 percentage: type: float description: Change penalty percentage example: 0 fare_types_info: type: string example: WS3 - Published fare cabin_class: type: String enum: - ECONOMY - PREMIUM_ECONOMY - BUSINESS - FIRST - PREMIUM_FIRST description: cabin class for the itinerary example: Economic Standard alliance: description: Parameter toggles the preferred alliance for your query. If there are results containing flights from the given alliance, only flights from that alliance will be returned. Otherwise it will return flights from any alliance. *Travelport Only* required: false type: string example: '*A' private_fare: type: boolean description: True if segment is a private fare, otherwise False *Travelport customers only* example: false priced_passengers: type: array example: - ADT - INF price_breakdown_with_passenger_type_code: $ref: '#/components/schemas/SearchComponents/Flight/PriceBreakdownWithPassengerTypeCode' segment_time_w_connections: type: float description: segment travel time accounting for time between flights example: 75.0 flights: type: array description: flights information items: type: object description: flight information properties: flight_detail_ref: type: integer description: reference to flight info in flight_details example: 1 booking_code: type: string description: booking code to flight info in flight_details minLength: 1 maxLength: 1 example: B fare_type: type: string description: fare type to flight info in flight_details example: Published fare fare_basis_code: type: string description: fare basis code to flight info in flight_details example: LP7J2LBS cabin_class: type: string description: cabin class to flight info in flight_details example: Economic Standard brands: $ref: '#/components/schemas/SearchComponents/Flight/Brands' PriceBreakdownWithPassengerTypeCode: type: array description: Displays the pricing for each passenger type items: type: object properties: passenger_type_code: type: string example: ADT base_price: type: float example: 73.0 total_price: type: float example: 132.39 taxes: type: float example: 59.39 tax_breakdown: type: array description: Breakdown of taxes amount into their categories items: type: object properties: category: type: string example: CA amount: type: float example: 7.12 PercentageWithExtraInfo: type: object description: Information about penalty percentage and amount properties: amount: type: float description: Penalty amount example: 78 percentage: type: float description: Penalty percentage example: 0 ChangePenaltyWithExtraInfo: type: object description: Information about changing. properties: amount: type: float description: Change penalty amount example: 78 percentage: $ref: '#/components/schemas/SearchComponents/Flight/PercentageWithExtraInfo' applies_at: type: string description: When will the change penality apply at example: Anytime CancelPenaltyWithExtraInfo: type: object description: Information about cancelling. properties: amount: type: float description: Cancel penalty amount example: 78 percentage: $ref: '#/components/schemas/SearchComponents/Flight/PercentageWithExtraInfo' applies_at: type: string description: When will the cancel penality apply at example: Anytime FareInfoBrandDetails: type: object description: Contains brand information for the fare properties: name: type: string description: Name of the brand example: STANDARD brand_description: type: string description: Description of the brand example: 'Standard: Carry on baggage only' tag_line: type: string description: Tag line of the brand example: Low Fares for Carefee Travel brand_services: type: object description: Contains information of what the brand offers properties: carry_on_hand_baggage: type: boolean or string description: Are carry on bags permittied on this ticket. True/False or "$" example: true checked_baggage: type: boolean or string description: Are checked bags permittied on this ticket. True/False or "$" example: true rebooking: type: string description: Rebooking available on this ticket. example: $ refund: type: boolean description: Refundability of the ticket. example: true seat_assignment: type: string description: Seat assignment availability on this ticket. example: $ meals_and_beverages: type: boolean description: Are meals and beverages provided as part of this ticket. example: true wifi: type: string description: Wifi availability on the flight. example: $ tier: type: string description: Brand tier example: '0002' BrandFareInfo: type: array description: Contains fare info for the brand items: type: object properties: origin: description: Origin of the segment type: string example: YHZ destination: description: Destination of the segment type: string example: YVR fare_basis: description: Fare Basis Code for the segment. type: string example: QUSDSI0E booking_code: description: Booking code for the segment type: string example: 12S3TI3P cabin_class: description: Cabin class of the segment type: string example: E brand: $ref: '#/components/schemas/SearchComponents/Flight/FareInfoBrandDetails' Brands: type: array description: List of branded fares for the current segment items: type: object properties: should_quick_trip_reload_price: description: Indicator for reloading pricing type: boolean example: true base_price: description: Base price of the segment (tax excluded) type: float example: 0 taxes: description: Tax price of the segment type: float example: 119.1 fees: description: Fees for the segment *Travelport customers only* type: float example: 0 price: description: Price of the segment (fare and tax included). type: float example: 197.1 change_penalty: $ref: '#/components/schemas/SearchComponents/Flight/ChangePenaltyWithExtraInfo' cancel_penalty: $ref: '#/components/schemas/SearchComponents/Flight/CancelPenaltyWithExtraInfo' baggage_info: description: Contains baggage information. type: object properties: pieces: description: Number of baggages included type: int example: 1 units: description: Unit of the baggage type: string example: pc fare_info: $ref: '#/components/schemas/SearchComponents/Flight/BrandFareInfo' FlightDetails: title: Flight Details type: array items: type: object properties: origin: type: string description: IATA code of the segment origin example: LHR origin_name: type: string description: Full name of the flight origin example: London, United Kingdom (LHR) destination: type: string description: IATA code of the segment destination example: CDG destination_name: type: string description: Full name of the flight destination example: Paris, France (CDG) departure_time: type: string format: date-time description: Departure date and time with timezone. example: '2020-12-05T20:50:00-05:00' arrival_time: format: date-time description: Arrival date and time with timezone. example: '2020-12-06T09:10:00+00:00' flight_number: type: string description: Flight number. example: '530' carrier: type: string minLength: 2 maxLength: 2 description: Airline carrier of the flight. example: AC flight_time: type: integer description: Flight duration in minutes example: 475 carrier_fullname: type: string description: Full name of the carrier example: Air Canada operating_carrier: type: string minLength: 2 maxLength: 2 description: Operating airline of the flight. example: WS operating_carrier_fullname: type: string description: Full name of the operating carrier example: Westjet reference: type: string description: reference to flight in flight_details list. example: 83810422f17f30a4c7a366af5a12d9d05c86c04d aircraft_type: type: string description: IATA type code for aircraft model. example: 7M8 fare_info_ref: type: string description: Flight identifer required to make a travelport fare rule request. *Travelport Only* example: WPADWJK0nDKATShj2JAAAA== fare_rule_key: type: string description: Key corresponding to above fare_info_ref also required to make a travelport fare rule request. *Travelport Only* example: gws-eJxNT0EKAjEMfMwy96SNxd5auqig7GFZlO7B/z/DaVR00oQOMxnaUkqQEOQosfxjwnOqDa3OwILA7pcdJkkESrZACFwf6ba37QwPyZpc+pWiu5FWPxx9CAOf2e8rBYvpbVBMiFZjVfIRYWK+Dmd13jxpqJrzN/y08g2EJ4odeOUPXvRTL2E= Credentials: type: object description: Indicate data source to call and required credentials properties: data_source: description: data source to call. type: string enum: - webbeds - travelport example: travelport pcc: description: PCC/OfficeID to emulate transactions under. Must have emulation enabled for the relevant Service Bureau PCC used by Trip Ninja to conduct queries. Please contact Trip Ninja to get this set up. type: string example: MEL49f839 provider: description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus, “webbeds” - Webbeds type: string example: 1A pcc_currency: description: Indicates the currency that the PCC is charged in. type: string example: CAD