openapi: 3.2.0
info:
title: Webjet Search API
x-logo:
url: https://s3.amazonaws.com/tn-api-docs/trip_ninja_logo.png
altText: Trip Ninja logo
href: https://www.tripninja.io/
version: '1.0'
description: 'Operations tagged Search across 3 of this provider''s published API definitions: webjet-tripninja-flights-core-openapi.yml, webjet-tripninja-hotels-openapi.yml, webjet-tripninja-v2-booking-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://preprodapi.tripninja.io
description: Pre-Production server
tags:
- name: Search
paths:
/search/flights/{endpoint}/:
post:
parameters:
- in: path
name: endpoint
required: true
schema:
type: string
enum:
- preprod
- prod
description: Parameter toggles Data Source production and pre-production endpoints
summary: Flight Search
description: "This endpoint triggers FareStructure for any number of city search\n\nPlease note that the \"total_cost\" field and \"price\" fields in the response do not contain the markup amount. The \"total_cost\" field is only to display the cheapest trip in the results.\nThe \"price\" fields displayed at the itinerary or segment level do not include the markup amount either. When displaying the trip costs using \"include_itineraries\" = true, use the\n\"price\" at the itinerary level plus the \"tn_net_fare_markup\" amount. If using the segment response type, add the \"price\" value for each of the segments chosen for the trip plus the \"tn_net_fare_markup\"\namount to get the total trip price.\n\nAdditionally, two optional parameters alter the structure of the response. include_itineraries\n and route_flexible both change the structure when passed as true. See the fields description for \n details and examples have been provided in the Response Samples section. \n"
operationId: FlightSearch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FlightSearchRequest'
responses:
200:
description: Success
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/SegmentFSSearchResponse'
- $ref: '#/components/schemas/SegmentFSSearchResponseWithFlexTrip'
- $ref: '#/components/schemas/ItineraryFSSearchResponse'
- $ref: '#/components/schemas/ItineraryFsSerachResposneWithFlexTrip'
400:
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: sting
description: Error code and 0 for success response
example: IE23
message:
type: string
description: Contains the error message
example: Not a valid alliance. Expected one of *A, *S, *O
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: sting
description: Error code and 0 for success response
example: IE44
message:
type: string
description: Contains the error message
example: User is not authorized
206:
description: Partial Content (Flight not found)
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: IE23
message:
type: string
description: Contains the error message
example: 'Flight(s) not found: Could not find all the flights required to make up this trip. Try changing dates, IATA codes, cabin class, etc.'
search_criteria:
type: string
description: Contains the routes that failed to produce flights.
example: '[YYZ,YQS]'
500:
description: Server Error
tags:
- Search
servers:
- url: https://preprodapi.tripninja.io
description: Pre-Production server
/search/hotels/{endpoint}:
post:
parameters:
- in: path
name: endpoint
required: true
schema:
type: string
enum:
- preprod
- prod
description: Parameter toggles data source production and pre-production endpoints
summary: Hotel Search
description: 'This endpoint initiates a hotel search for one location (city), and returns a list of available options. A separate endpoint needs to be called to obtain information about room types, etc.
'
operationId: Search
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HotelSearchRequest'
responses:
200:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/HotelSearchResponse'
400:
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: IE23
message:
type: string
description: Contains the error message
example: Not a valid city.
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
206:
description: Partial Content (no Hotel found)
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: IE23
message:
type: string
description: Contains the error message
example: 'No availability found: Try changing dates'
500:
description: Server Error
tags:
- Search
servers:
- url: https://preprodapi.tripninja.io
description: Pre-Production server
/search/flight/{endpoint}/flight/:
post:
parameters:
- in: path
name: endpoint
required: true
schema:
type: string
enum:
- preprod
- prod
description: Parameter toggles Data Source production and pre-production endpoints
summary: Search
description: 'This endpoint triggers farestrucutre for any number of city search
'
operationId: Search
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FlightSearchRequest_2'
responses:
200:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FlightSearchResponse'
400:
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: sting
description: Error code and 0 for success response
example: IE23
message:
type: string
description: Contains the error message
example: Not a valid alliance. Expected one of *A, *S, *O
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: sting
description: Error code and 0 for success response
example: IE44
message:
type: string
description: Contains the error message
example: User is not authorized
206:
description: Partial Content (Flight not found)
content:
application/json:
schema:
type: object
properties:
status:
type: sting
description: Error code and 0 for success response
example: IE23
message:
type: string
description: Contains the error message
example: 'Flight(s) not found: Could not find all the flights required to make up this trip. Try changing dates, IATA codes, cabin class, etc.'
500:
description: Server Error
tags:
- Search
servers:
- url: https://preprodapi.tripninja.io
description: Pre-Production server
components:
schemas:
SegmentFSSearchResponse:
title: include_itineraries = false and route_flexible = false
type: object
properties:
fare_structure:
$ref: '#/components/schemas/SegmentSearchResponse'
BasicSegmentInfo:
type: object
properties:
segment_id:
type: string
description: String if one-way, Array of 2 Strings if open-jaw. Used for booking.
example: 344d73be0d61f820aa9a6ace300742fed0672f2e
segment_source:
type: string
description: Data source that returned the segment.
example: travelport
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)
travel_mode:
type: string
description: Mode of travel (air, ground, etc.)
example: air
weight:
type: string
description: Weight of the segment (time-value considered).
example: 96
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 (Optional)
example: 0
percentage:
type: float
description: Cancellation penalty percentage (Optional)
example: 100
change_penalty:
type: object
description: Information about changing.
properties:
amount:
type: float
description: Change penalty amount (Optional)
example: 78
percentage:
type: float
description: Change penalty percentage (Optional)
example: 0
flight_type:
type: string
description: “open_jaw” or “one_way”
example: open_jaw
brands:
type: string
description: Brands returned
example: null
price_breakdown_with_passenger_type_code:
$ref: '#/components/schemas/PriceBreakdownWithPassengerTypeCode'
legs:
$ref: '#/components/schemas/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==
private_fare:
type: boolean
description: True if segment is a private fare, otherwise False *Travelport customers only*
example: false
private_type:
type: string
description: Private type
example: null
plating_carrier:
type: string
description: Plating carrier of segment
example: AC
intermediate_stops:
type: string
description: Intermediate stops in the segment
example: null
itinerary_type:
type: string
description: Type of itinerary
example: ONE_WAY
segment_position:
type: number
description: Position of segment in response
example: 0
virtual_interline:
type: boolean
description: 'true if option is a vi solution
'
example: true
vi_solution_id:
type:
- string
- 'null'
description: "ID mapping VI parts of the option together. Helps finding VI solutions located in same segment position. \nWill be composed of each segment's segment_id joined together with two underscores. For oneway VI this \nwill be two segments, for openjaw VI will be 4 segments. \n"
example: fc906f39e5151f1bc5ef788b85f3d280770b5b7c__b9ebd56ff7bf07a65a3e4dc70e9551e4ae50f1da
risk_profile:
type:
- float
- 'null'
description: The probability of missing the connection and not performing the self-transfer during the VI self-connection (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: 8.42
cancellation_probability:
type:
- float
- 'null'
description: The probability percentage that this flight will be cancelled (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: 7.86
average_delay_time:
type:
- string
- 'null'
description: The average delay time of this flight in minutes. A negative value indicates an average early arrival time. (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: -5
self_transfer_time:
type:
- string
- 'null'
description: The self transfer time in minutes between this flights arrival time and the next segments departure time. (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: 134
is_international:
type:
- boolean
- 'null'
description: Indicates whether this flight is international. (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: true
itinerary_index:
type:
- int
- 'null'
description: 'Position of the virtual interlining option in itinerary(PNR). Starts from 0
'
example: 0
vi_position:
type:
- integer
- 'null'
description: "Position of the virtual interlining option in the VI itinerary. Starts from 0. For OneWay VI will be either of [0, 1]. \nFor OpenJaw VI will be one of [0, 1, 2, 3]\n"
example: 1
itinerary_structure:
type: String
description: "String Array representing the structure of the trip in terms of one-ways and open-jaw segments. \nFor example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, \none with key “34” and a one-way with key “2”.\nSee Price Confirm Report segment_ids field for more detail.\n"
example: '[[0, 1], 2]'
vi_pattern:
type: String
description: 'OpenJaw VI only: String Array representing the structue of the OpenJaw VI solution that was found.'
example: '[[0, 3], 1, 2]'
vi_segment_base_price:
type:
- float
- 'null'
description: The base price of the VI PNR not including taxes and fees.
example: 106.4
vi_segment_taxes:
type:
- float
- 'null'
description: The taxes associated with this VI PNR.
example: 24.12
vi_segment_fees:
type:
- float
- 'null'
description: The fees associated with this individual VI PNR.
example: 14.56
SegmentFSSearchResponseWithFlexTrip:
title: include_itineraries = false and route_flexible = true
type: object
properties:
fare_structure:
$ref: '#/components/schemas/SegmentFSSearchResponse'
flex_trip:
$ref: '#/components/schemas/SegmentFlexTripSearchResponse'
ItineraryFsSerachResposneWithFlexTrip:
title: include_itineraries = true and route_flexible = true
type: object
properties:
fare_structure:
$ref: '#/components/schemas/ItineraryFSSearchResponse'
flex_trip:
$ref: '#/components/schemas/ItineraryFlexTripSearchResponse'
ItineraryInfo:
allOf:
- $ref: '#/components/schemas/BasicItineraryInfo'
- type: object
properties:
segments:
type: array
description: List of segments in the itinerary
items:
$ref: '#/components/schemas/SegmentInfo'
SegmentInfo:
allOf:
- $ref: '#/components/schemas/BasicSegmentInfo'
- type: object
properties:
segment_source:
type: string
description: GDS or LCC provider source for segment. Only shown with ‘include_lcc’ request parameter enabled.
example: travelport
CredentialInfo:
type: object
description: Indicate data source to call and required credentials
properties:
data_source:
description: data source to call.
required: true
type: string
enum:
- amadeus
- travelport
- tripstack
- mystifly
example: amadeus
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.
required: true
type: string
example: MEL49f839
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus
required: true
type: string
example: 1A
region:
description: Parameter toggles which travelport regional service endpoint you hit *Travelport Only*
required: false
type: string
enum:
- emea
- apac
- americas
- edge
default: americas
example: americas
pcc_currency:
description: Indicates the currency that the PCC is charged in.
required: false
type: string
example: CAD
conversion_rate:
description: The conversion rate that was used to convert from the pcc_currency to the searched currency. In order to convery back to the pcc currency simply use price * (1 / conversion_rate).
required: true
type: float
example: 0.78
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
description: Category
example: CA
amount:
type: float
description: Amount of tax
example: 7.12
ItinerarySearchResponse:
title: Search Response
type: object
properties:
path_sequence:
type: array
description: An array of IATA codes representing the chronological order of your trip.
example:
- LON-CDG
- CDG-YUL
- YUL-LON
currency:
type: string
description: Currency
example: CAD
itineraries:
$ref: '#/components/schemas/FSSearchItineraries'
ErrorDetails:
$ref: '#/components/schemas/ErrorDetails'
trip_id:
type: string
example: a2cf0bdf2ecca12f8dbbc139af58c99a561f21a1
description: A unique key used for identification and when booking a trip.
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
FlightSearchRequest:
title: Request
type: object
required:
- flights
- travellers
- credentials
- currency
- country_code
properties:
flights:
description: Array of flight legs input. A minimum of 3 legs (2 destinations) is required. The final destination may be different than the initial starting point.
required: true
type: array
items:
type: object
required:
- id
- from_city
- start_type
- to_city
- end_type
- departure_date
properties:
id:
type: integer
description: Flight leg ID
example: 1
from_city:
type: string
description: Start city/airport IATA code of leg.
example: YHZ
start_type:
type: string
description: Upper-case letter “C” for city or “A” for airport
example: C
to_city:
type: string
description: End city/airport IATA code of leg.
example: LON
end_type:
type: string
description: Upper-case letter “C” for city or “A” for airport
example: C
departure_date:
type: string
description: 'Departure date for this leg, format: YYYY-MM-DD. Any trailing characters after do not affect the API’s functionality.'
example: '2019-06-20'
cabin_class:
type: string
description: A unique cabin class can be set for each segment of the trip, otherwise it can be set at the root level.
example: BC
required: false
travellers:
description: Array of passenger types, values include ‘ADT’, ’MIL’, ’CHD’ and ‘INF’
required: true
type: array
example:
- ADT
- ADT
- CHD
credentials:
type: array
description: list of credentials to use for search
items:
$ref: '#/components/schemas/CredentialInfo'
max_cache:
default: 24
description: "Hours to retain data queried from provider to be cached for use in future requests.\nHigher values result in:
\n 1) faster queries as more data is available for re-use
\n 2) lower look-to-book ratios from the GDS perspective which may lower costs
\n 3) less accurate pricing data which may cause issues in AirPriceReq when ticketing.
\nMinimum value is 0.04 hours, maximum value is 720 hours.\nPlease discuss with your Trip Ninja Account Manager if you need\naccess to caching outside these limits.\n"
required: false
type: integer
currency:
description: Currency to be used for provider query requests in three digit code.
example: USD
required: true
type: string
source:
description: 'Metasearch source (For example: skycanner, kayak)'
example: skyscanner
type: string
required: true
country_code:
description: 'Country code where search came from (For example: CA, US)'
example: CA
type: string
required: true
cabin_class:
default: E
description: Parameter toggles the permitted cabin class for your query. Alternatively, it can be set for each segment.
example: E
required: false
type: string
time_value:
default: 0
description: 'This parameter helps set the value of a passenger’s time, in
terms of the currency selected. It is used to trade off flight
prices versus flight durations. The parameter is in units of
[currency]/hour. Flight durations are calculated as the difference
in minutes from the arrival time of the last flight in a leg to
the departure time of the first flight in the leg.
True Cost of Flight = [Flight Price] * [time_value/60] * [Flight Duration]
The itinerary which provides the lowest True Cost of Flight is
what is returned in the response. If you provide a time_value
of 0 or do not provide the parameter, it will sort by price.
'
required: false
type: integer
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'
schema:
default: 40
description: Toggles which Travelport schema version to use. *Travelport Only*
required: false
type: integer
exclude_carriers:
description: Parameter toggles a list of carriers to exclude from the query results. This option can not be applied together with the alliance option. They are mutually exclusive.
required: false
type: array
example: []
items:
type: string
permitted_carriers:
description: Toggles permitted carriers in GDS request
required: false
type: array
example:
- AC
no_overnight_layovers:
description: Toggles whether to return results with no overnight layovers *Travelport Only*
type: boolean
default: false
stops:
description: Toggles number of stop for GDS request *Travelport Only*
default: any
type: string
enum:
- any
- direct
- '1'
- '2'
baggage:
description: Toggles minimum number of bags included with flights for GDS request *Travelport Only*
default: any
type: string
enum:
- any
- '1'
- '2'
refundable:
description: Parameter toggles query to only return fully refundable flights. *Travelport Only*
default: false
type: boolean
num_results:
description: Parameter sets the number of segments in the response *Travelport Only*
default: 50
type: integer
minimum: 50
maximum: 5000
include_lcc:
description: Enable a hybrid search of both GDS and low cost carrier content. This requires prior setup with Trip Ninja and an agreement with an LCC provider.
default: []
required: false
type: array
example:
- tripstack
items:
type: string
include_itineraries:
description: Enables itineraries to be constructed and returned from segments found for the requested trip. Changes the response structure, see examples for details.
default: false
type: boolean
should_compress_itinerary:
description: "Return only a segment_id, segment_source, price, weight for a segment inside an Itineraries object. A segment_details list will now be returned with the full segment details, \nthe segment_id should be used to map a segment to the full details. Only works with include_itineraries also passed as true. Significantly reduces response size.\nIf virtual_interlining is passed as true, only segment_id, segment_souce and price are returned. Additionally for successfully virtually_interlined options a \nvi_position field is returned. This is the segments position in the virtually interlined itinerary. \n"
default: false
type: boolean
mix_structures:
description: Return mix of results with the best multi-pnr structure and single-pnr structure.
default: false
type: boolean
single_pnr:
description: Return single-pnr structures in addition to the results returned. If there are too many results, it will be truncated to num_results.
default: false
type: boolean
multi_pnr_mix:
description: Return mix of single-pnr and all multi-pnr structures. include_itineraries and mix_structures needs to be passed as True for this to work
default: false
type: boolean
virtual_interlining:
description: Add virtual interlining to the search so that the results are a mix of standard search results and virtual interlining results.
default: false
type: boolean
markup_by_itinerary:
description: Add itinerary markup to the search result and set trip markup to 0
default: false
type: boolean
route_flexible:
description: 'Activates FlexTrip for this search. FlexTrip allows users to express their trip parameters without having to pre-specify a route, they simply state the number of nights in each destination, any destinations that must be visited first or last, and search for the best route.
With route_flexible enabled the normal farestructure response is returned and an additional flex_trip object is returned. The flex_trip object is structurally the same as a normal fare_structure object, however the content will be the best alternative route found. Sample responses can be found in the Response Samples section.
Requires a 3+ flight search.'
default: false
type: boolean
ErrorDetails:
description: When an error occurs, there will be a list of error codes detailing the issue(s). For more information regarding the errors refer to the error codes section.
type: object
properties:
IE01:
type: string
description: Need minimum 2 destinations
IE02:
type: string
description: Duplicate city in list
IE03:
type: string
description: Home city in cities list
IE04:
type: string
description: There are non-compliant IATA codes in your city list
IE05:
type: string
description: Multiple lockfirst found
IE06:
type: string
description: Multiple locklast found
IE07:
type: string
description: Incorrect item provided for "locked" (must be “Lock Last”, Lock First” or “None”)
IE08:
type: string
description: Zero nights found for some city/cities
IE09:
type: string
description: Can't run any queries for flight dates in the past
IE10:
type: string
description: Incorrect city_type value - expected one of ‘C’ or ‘A’
IE11:
type: string
description: General Input Error (FlexTrip)
IE13:
type: string
description: 'Check the id''s on your flights - should be in order starting from 1. For example: 1,2,3,4'
IE14:
type: string
description: Make sure your departure_dates are in order
IE15:
type: string
description: Each flight in flights must contain ‘to_city’, ‘from_city’ - to_city and from_city must be in the format of 3 character IATA code
IE16:
type: string
description: Please provide a PCC
IE17:
type: string
description: Invalid Carrier
IE18:
type: string
description: Time Value (Original Alpha) outside of expected range [$0,$200]/hr
IE19:
type: string
description: Incorrect region - expected one of ‘emea’, ’apac’, ’americas’, ’edge’
IE20:
type: string
description: Incorrect provider - expected one of '1V','1G','1P','1A'
IE21:
type: string
description: No currency input or currency input not 3 characters long (must be in the format USD, AUD, CAD, etc)
IE22:
type: string
description: Not a valid cabin option - expected one of 'E' , 'PE', 'SE', 'BC','FC', 'PFC'
IE23:
type: string
description: Not a valid alliance - expected one of *A, *S, *O
IE24:
type: string
description: Too many or too few travellers found (must be 1 to 10) - or not a valid type for travellers, must be int or list
IE25:
type: string
description: FlexTrip cannot contain gaps in from/to destination pairs
IE26:
type: string
description: exclude_carriers, alliance and permitted_carriers are mutually exclusive - please choose one
IE27:
type: string
description: num_results should be an integer between 50 and 5000
IE28:
type: string
description: refundable parameter must be a boolean value true or false
IE29:
type: string
description: Invalid traveller type in list, should be one of ADT, CHD, MIL, INF
IE30:
type: string
description: User not been mapped to any LCC
IE31:
type: string
description: No LCC token associated with user
IE32:
type: string
description: include_itineraries must be a boolean value (true or false)
IE33:
type: string
description: stops must be one of “any”, “direct”, “1”, “2”
IE34:
type: string
description: no_overnight_layovers must be a boolean value (true or false)
IE35:
type: string
description: baggage must be one of “any”, “1”, “2”
IE39:
type: string
description: 'Provider missing, expected one of "1V, 1G, 1P, 1A, 1S"
'
Itineraries:
allOf:
- $ref: '#/components/schemas/FareStructureResponse/properties/FareStructure/properties'
- type: array
description: Array of itineraries sorted by weight.
items:
$ref: '#/components/schemas/ItineraryInfo'
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
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
flight_numbers:
type: array
description: Array of flight numbers included in this itinerary
example:
- AC226
- AC850
- AC8811
- UA2278
- UA986
structure:
type: Array of ints and/or Array of arrays
description: "\"Array representing the structure of the trip in terms of one-ways and open-jaw segments. \nFor example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, \none with key “34” and a one-way with key ‘2”.\"\nSee Price Confirm Report segment_ids field for more detail.\n"
example:
- - 0
- 1
- 2
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'
DepartureTimestamp:
type: number
description: Departure timestamp of the leg
example: 1692138300
ArrivalTime:
type: string
description: Arrival time of the leg
example: '2019-04-05T15:40:00.000+02:00'
ArrivalTimestamp:
type: number
description: Arrival timestamp of the leg
example: 1692160260
FlightNumber:
type: string
description: Leg's flight number
example: '111'
Carrier:
type: string
description: Leg's carrier code
example: BA
CarrierFullName:
type: string
description: Leg's operating carrier name
example: British Airlines
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
FareStructureResponse:
title: Response
type: object
properties:
trip:
type: object
description: Contains the JSON object provided as the request
example:
endpoint: Prod
num_results: 50
cabin_class: E
exclude_carriers: []
refundable: false
currency: USD
time_value: 0
max_cache: 24
travellers:
- ADT
- ADT
- CHD
provider: 1V
alliance: ''
alpha: 0.1
schema: 40
PCC: 2G3C
FareStructure:
type: object
description: Contains the JSON object of the response.
properties:
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 of ints and/or Array of arrays
description: "\"Array representing the structure of the trip in terms of one-ways and open-jaw segments. \nFor example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, \none with key “34” and a one-way with key ‘2”.\"\nSee Price Confirm Report segment_ids field for more detail.\n"
example:
- - 0
- 1
- 2
ErrorDetails:
$ref: '#/components/schemas/ErrorDetails'
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
example: a2cf0bdf2ecca12f8dbbc139af58c99a561f21a1
description: A unique key used for identification and when booking a trip.
total_transportation_minutes:
type: integer
description: Total transportation minutes for recommended cheapest segments.
itineraries:
$ref: '#/components/schemas/Itineraries'
segments:
$ref: '#/components/schemas/Segments'
flight_details:
$ref: '#/components/schemas/FlightDetails'
Segments:
allOf:
- $ref: '#/components/schemas/FareStructureResponse/properties/FareStructure/properties'
- type: object
description: JSON object of segments sorted by weight. Get the [0] index of each segment list for the recommended segment. The key can represent a one-way or an open-jaw segment. One-ways are represented like “0”,”1”,”2”,”3”,”4”, etc, representing the index of the flight in the trip chronologically. Open-jaws are represented in pairs like “01”, “04”, “23”, etc where ‘Group0’ will go in the first part and ‘Group1’ in the second. For example, “23” - ‘Group0’ would go at index 2 and ‘Group1’ at index 3 chronologically.
properties:
additional_details:
type: object
description: Additional details *in development for Travelport customers*
baggage:
type: object
description: Contains baggage information.
properties:
number_of_pieces:
type: integer
description: Number of bags allowed.
example: 0
weight:
type: float
description: Weight of the segment (time-value considered).
example: 96.9
price:
type: float
description: Price of the segment (fare and tax included).
example: 89.4
base_price:
type: float
description: Base price of the segment (tax excluded)
example: 55.0
taxes:
type: float
description: Tax price of the segment
example: 34.4
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
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==
private_fare:
type: boolean
description: True if segment is a private fare, otherwise False *Travelport customers only*
example: false
segment_id:
type: string
description: String if one-way, Array of 2 Strings if open-jaw. Used for booking.
example: b546cdcc82c872b7a5b1e54cc69a7b28ac6aeee2
transp_time:
type: float
description: Transportation time for the segment
example: 75
segment_source:
type: string
description: GDS or LCC provider source for segment. Only shown with ‘include_lcc’ request parameter enabled.
price_breakdown_with_passenger_type_code:
$ref: '#/components/schemas/PriceBreakdownWithPassengerTypeCode'
Group0:
type: object
description: One-way segment or first part of open-jaw segment
properties:
segment_origin_full:
type: string
description: Origin of the segment.
example: London, United Kingdom
segment_destination_full:
type: string
description: Destination of the segment.
example: Paris, France
key:
type: string
description: Segment_id for the group
example: 14c9e2e5c95a5bf0f9f7712de24348e6aba88c32
segment_details:
type: object
description: Contains information about the segment legs, and total travel time
properties:
segment_time_w_connections:
type: float
description: segment travel time accounting for time between flights
example: 75.0
leg_details:
$ref: '#/components/schemas/LegDetails'
Group1:
type: object
description: 'Second part of open-jaw segment
'
properties:
segment_origin_full:
type: string
description: Origin of the segment.
example: Paris, France
segment_destination_full:
type: string
description: Destination of the segment.
example: Montreal, Canada
key:
type: string
description: Segment_id for the group
example: 14c9e2e5c95a5bf0f9f7712de24348e6aba88c32
segment_details:
type: object
description: Contains information about the segment legs, and total travel time
properties:
segment_time_w_connections:
type: float
description: segment travel time accounting for time between flights
example: 1730.0
leg_details:
$ref: '#/components/schemas/LegDetails'
FSSearchItineraries:
allOf:
- $ref: '#/components/schemas/FareStructureResponse/properties/FareStructure/properties'
- type: array
description: Array of itineraries sorted by weight.
items:
$ref: '#/components/schemas/ItineraryInfo'
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
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 identifier 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=
departure_timestamp:
type: number
description: Departure date and time in Unix timestamp form.
example: 1687271700
arrival_timestamp:
type: number
description: Arrival date and time in Unix timestamp form.
example: 1687281000
cancellation_probability:
type:
- float
- 'null'
description: The probability percentage that this flight will be cancelled (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: 7.86
average_delay_time:
type:
- string
- 'null'
description: The average delay time of this flight in minutes. A negative value indicates an average early arrival time. (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: -5
self_transfer_time:
type:
- string
- 'null'
description: The self transfer time in minutes between this flights arrival time and the next segments departure time. (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: 134
is_international:
type:
- boolean
- 'null'
description: Indicates whether this flight is international. (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: true
TripOptions:
title: Trip Options
type: array
items:
$ref: '#/components/schemas/SegmentOptions'
ItineraryFlexTripSearchResponse:
title: Itinerary FlexTrip Search Response
type: object
properties:
flex_trip:
$ref: '#/components/schemas/ItinerarySearchResponse'
ItineraryFSSearchResponse:
title: include_itineraries = true and route_flexible = false
type: object
properties:
fare_structure:
$ref: '#/components/schemas/ItinerarySearchResponse'
SegmentFlexTripSearchResponse:
title: Segment FlexTrip Search Response
type: object
properties:
flex_trip:
$ref: '#/components/schemas/SegmentSearchResponse'
SegmentSearchResponse:
title: Search Response
type: object
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
example: a2cf0bdf2ecca12f8dbbc139af58c99a561f21a1
description: A unique key used for identification and when booking a trip.
segments:
$ref: '#/components/schemas/TripOptions'
flight_details:
$ref: '#/components/schemas/FlightDetails'
SegmentOptions:
title: Segment Options
type: array
items:
type: object
properties:
credential_info:
$ref: '#/components/schemas/CredentialInfo'
segment_id:
type: string
description: Segment ID
example: 0b736e4ff0d8b16bb5e83b9afe5204c0471d6e9b
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: "\"String representing the structure of the trip in terms of one-ways and open-jaw segments. \nFor example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, \none with key “34” and a one-way with key ‘2”.\"\nSee Price Confirm Report segment_ids field for more detail.\n"
example: '[[0, 1], 2]'
literal_itinerary_structure:
type: Array of ints and/or Array of arrays
description: "Array representing the structure of the trip in terms of one-ways and open-jaw segments. \nFor example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, \none with key “34” and a one-way with key ‘2”.\"\nSee Price Confirm Report segment_ids field for more detail.\n"
example:
- - 0
- 1
- 2
segment_position:
type: integer
description: Position of current segment in trip. Starts from 0.
example: 0
virtual_interline:
type: boolean
description: 'true if option is a vi solution
'
example: true
vi_solution_id:
type:
- string
- 'null'
description: ID mapping VI parts of the option together. Helps finding VI solutions located in same segment position.
example: fc906f39e5151f1bc5ef788b85f3d280770b5b7c__b9ebd56ff7bf07a65a3e4dc70e9551e4ae50f1da
risk_profile:
type:
- float
- 'null'
description: The probability of missing the connection and not performing the self-transfer during the VI self-connection (only returned if you have our average delay time module enabled, and only for VI segments with a self transfer)
example: 8.42
vi_segment_base_price:
type:
- float
- 'null'
description: The base price of the VI PNR not including taxes and fees.
example: 106.4
vi_segment_taxes:
type:
- float
- 'null'
description: The taxes associated with this VI PNR.
example: 24.12
vi_segment_fees:
type:
- float
- 'null'
description: The fees associated with this individual VI PNR.
example: 14.56
itinerary_index:
type:
- int
- 'null'
description: 'Position of the virtual interlining option in itinerary(PNR). Starts from 0
'
example: 0
vi_position:
type:
- integer
- 'null'
description: 'Position of the virtual interlining option in itinerary. Starts from 0
'
example: 1
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'
plating_carrier:
type: string
description: Plating carrier for segment
example: SK
fare_info_ref:
type: string
description: Flight identifier required to make a Travelport fare rule request. *Travelport Only*
example: ZNqWNiVqWDKAyf27CAAAAA==
fare_basis_code:
type: string
description: Fare Basis Code for the segment.
example: OEOGHT
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-eJxNjrEOwyAMRD8mut2mQFaokyZSVRiaDln6/5/RAxSpluw7eGA7peTE3SRKTP8x4Tu9nygfAwoc85WpwQcoDydENKCuddsPjA5OCEqHQ7U/W6I5CkxtHqgFzl4fVsmk96Uq2lw0yx+4zLrTlrwc9Z43Ee+VlwPJDK75AwvZKug=
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
priced_passengers_standard_code:
type: array
example:
- ADT
- INF
price_breakdown_with_passenger_type_code:
$ref: '#/components/schemas/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
minLength: 1
maxLength: 1
example: B
fare_type:
type: string
example: Published fare
cabin_class:
type: string
example: Economic Standard
brands:
type: array
description: list of branded fares for the current segment
source:
type: string
description: Data source of the segment
example: travelport
travel_mode:
type: string
description: Travel mode of the segment (air, ground, etc.)
example: air
availability_source:
type: string
example: S
webbeds_room_obj:
description: The guest info required for WebBeds hotel search requests. *WebBeds only*
type: object
required:
- num_adults
- num_children
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
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: CO
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
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
HotelSearchRequest:
required:
- check_in_date
- check_out_date
- hotel_itinerary_reference
- credential_info
- traveller_total
- rooms_total
- hotel_location
- currency
properties:
super_trip_id:
type: string
example: bdf876sf6sfsdf87sdf
description: id of the super trip, may not be present in the initial search.
hotel_location:
type: object
description: location (city, airport, or reference point) to search for hotels in.
required:
- type
- IATA
properties:
type:
type: string
description: Defines whether it's a city ('C'), airport ('A'), or reference point ('R')
example: R
IATA:
type: string
description: The IATA code for the city/airport, or nearest IATA for the reference point
example: PAR
name:
type: string
description: The IATA code for the city/airport, or nearest IATA for the reference point. Required for reference point.
example: Eiffel Tower
region:
type: string
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.
example: NS
country:
type: string
description: The 2-letter country code for the reference point. Required for reference point.
example: FR
country_name:
type: string
description: The full name of the country.
example: France
city_name:
type: string
description: The full name of the city.
example: Paris
check_in_date:
type: string
format: date
description: 'Date of check-in. format: YYYY-MM-DD.'
check_out_date:
type: string
format: date
description: 'Date to checkout from the hotel. format: YYYY-MM-DD.'
currency:
type: string
example: CAD
description: Currency to make the search in.
traveller_total:
type: int
example: 3
description: Number of people that will be staying at the hotel.
rooms_total:
type: int
example: 2
description: The number of rooms required for the above travellers.
rooms:
type: array
example:
- num_adults: 2
num_children: 3
nationality: CO
country_of_residence: CA
children_age_list:
- 1
- 5
- 8
- num_adults: 1
num_children: 0
description: List of guest info per room required to make WebBeds hotel search requests. *WebBeds Only*
items:
$ref: '#/components/schemas/webbeds_room_obj'
credential_info:
$ref: '#/components/schemas/credential_info'
next_result_reference:
type: array
description: The reference object with the reference and the provider map.
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
type: string
example: 1V
hotel_itinerary_reference:
type: string
example: '1'
description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0.
endpoint:
type: string
example: preprod
description: The endpoint for this search.
webbeds_country_code:
type: string
example: null
description: The country code used by WebBeds (WebBeds only).
webbeds_city_code:
type: string
example: null
description: The city code used by WebBeds (WebBeds only).
load_geocode_data:
type: boolean
example: false
description: If true, load the geocode data.
HotelSearchResponse:
properties:
hotel_trace_id:
type: string
example: ndsf6sjf6sdf7sdf6
description: An identifier to refer to the hotel for searching room availability
hotels:
type: array
description: A list of hotels available based on the search request details.
items:
type: object
properties:
location_iata:
type: string
description: The location of the hotel.
example: LON
location_full:
type: string
description: The full location name as provided by the GDS.
example: London, England
rating:
type: object
properties:
rating:
type: int
description: The hotel rating
example: 4
rating_provider:
type: string
description: The provider of the rating.
example: Giata
rating_maximum:
type: int
description: The best possible rating.
example: 10
rating_minimum:
type: int
description: The worst possible rating.
example: 0
hotel_chain:
type: string
description: The refence for the hotel chain.
example: GI
hotel_code:
type: string
description: The reference for the hotel code
example: '35573'
hotel_name:
type: string
description: The name of the hotel
example: Cambridge Suites Hotel Halifax
minimum_charge:
type: float
description: The minimun total for the requested search available (in the currency provided in the search request)
example: 400.32
maximum_charge:
type: float
description: The maximum total priced room option available (in the currency provided in the search request)
example: 780.65
address:
type: object
properties:
street_address:
type: string
description: The street address of the hotel. This is more details than the one returned at search.
example: 1583 Brunswick St, Halifax, NS B3J 3P5
city:
type: string
description: References the city of the hotel.
example: Halifax
region:
type: string
description: References the region of the hotel.
example: ''
country:
type: string
description: The 2-letter code that represents the country of the hotel.
example: FR
longitude:
type: float
description: The longitude of the hotel.
example: 44.64511447836071
lattitude:
type: float
description: The lattitude of the hotel.
example: -63.575245615440565
distance_from_reference_point_km:
type: float
description: The distance that the hotel is from the reference submitted in the search.
example: 7.5
phone_number:
type: str
description: The contact phone number for the hotel.
example: +1 902-420-0555
amenities:
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:
type: object
properties:
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.
type: string
example: 2G3C
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus
required: true
type: string
example: 1V
pcc_currency:
description: The currency that is associated with the PCC. This will be the currency that any bookings are made and charged in.
type: string
example: CAD
queue:
type: number
example: 1
conversion_rate:
type: float
description: The conversion rate to get the price in the currency requested.
example: 0.45
neighbourhood:
type: string
description: The neighbourhood or locality of the hotel.
example: Saint Boniface
hotel_chain_code:
type: string
description: The hotel chain code used by WebBeds.
example: '-1'
has_free_cancellation:
type: boolean
description: Returns true if the hotel result has free cancellation.
example: false
hotel_itinerary_reference:
type: string
example: '1'
description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0.
next_result_reference:
type: array
description: The reference object with the reference and the provider map.
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
type: string
example: 1V
hotels_media:
description: A list of media items for all the hotels returned in the search.
type: array
items:
type: object
properties:
hotel_chain:
type: string
description: The refence for the hotel chain.
example: GI
hotel_code:
type: string
description: The reference for the hotel code
example: '35573'
hotel_media_items:
description: A selection of media items for the above referenced hotel.
type: array
items:
type: object
properties:
title:
type: string
description: The title / descriptor of the photos contained in this media item.
example: Front desk.
large:
type: string
description: The url for the image of the above titled part of the hotel of size large.
example: https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/45/0b/f8/lobby.jpg
thumbnail:
type: string
description: The url for the image of the above titled part of the hotel of size thumbnail.
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
search_request:
$ref: '#/components/schemas/HotelSearchRequest'
credential_info:
description: The credential info that will be used to make the request.
type: object
required:
- pcc
- provider
- data_source
properties:
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.
type: string
example: 2G3C
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus
type: string
example: 1V
data_source:
description: The datasource that is associated with the PCC.
type: string
enum:
- travelport
- travelport_student
- travelport_itx
- amadeus
- tripstack
- mystifly
queue:
type: number
example: 1
FlightSearchResponse:
allOf:
- $ref: tn_api_spec.yml#/components/schemas/FareStructureRequest
properties:
super_trip_id:
type: string
example: bdf876sf6sfsdf87sdf
FlightSearchRequest_2:
allOf:
- $ref: tn_api_spec.yml#/components/schemas/FareStructureRequest
properties:
super_trip_id:
type: string
example: bdf876sf6sfsdf87sdf
x-refined-from:
- webjet-tripninja-flights-core-openapi.yml
- webjet-tripninja-hotels-openapi.yml
- webjet-tripninja-v2-booking-openapi.yml