Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/webjet-generate-solutions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Webjet Generate Solutions API
x-refined-note:
- x-logo differs across the merged source definitions and was not carried
version: '1.0'
description: 'Operations tagged Generate Solutions across 4 of this provider''s published API definitions: webjet-tripninja-farestructure-generate-solutions-openapi.yml, webjet-tripninja-smartflights-generate-solutions-openapi.yml, webjet-tripninja-v2-core-openapi.yml, webjet-tripninja-virtual-interlining-generate-solutions-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sandbox.tripninja.io
description: Sandbox server for development and testing
- url: https://preprodapi.tripninja.io
description: Pre-Production server for development and testing
tags:
- name: Generate Solutions
paths:
/v2/generate-solutions/:
post:
summary: Generate Solutions
description: ''
operationId: ''
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FullGenerateSolutionsRequest'
examples:
oneWayGenerateSolutionRequest:
$ref: '#/components/examples/OneWayGenerateSolutionRequest'
twoWayGenerateSolutionRequest:
$ref: '#/components/examples/TwoWayGenerateSolutionRequest'
threeWayGenerateSolutionRequest:
$ref: '#/components/examples/ThreeWayGenerateSolutionRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateSolutionsResponseTwo'
examples:
oneWayGenerateSolutionResponse:
$ref: '#/components/examples/OneWayGenerateSolutionResponse'
twoWayGenerateSolutionResponse:
$ref: '#/components/examples/TwoWayGenerateSolutionResponse'
threeWayGenerateSolutionResponse:
$ref: '#/components/examples/ThreeWayGenerateSolutionResponse'
'400':
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: IE38
message:
type: string
description: Contains the error message
example: Trip ID not found
examples:
IE52ErrorCode:
$ref: '#/components/examples/IE52ErrorCode'
IE08ErrorCode:
$ref: '#/components/examples/IE08ErrorCode'
'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:
- Generate Solutions
servers:
- url: https://sandbox.tripninja.io
description: Sandbox server for development and testing
/v3/generate-solutions/:
post:
summary: Generate Solutions
description: ''
operationId: ''
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FullGenerateSolutionsRequest_2'
examples:
oneWayGenerateSolutionRequest:
$ref: '#/components/examples/OneWayGenerateSolutionRequest_2'
twoWayGenerateSolutionRequest:
$ref: '#/components/examples/TwoWayGenerateSolutionRequest_2'
threeWayGenerateSolutionRequest:
$ref: '#/components/examples/ThreeWayGenerateSolutionRequest_2'
fourWayGenerateSolutionRequest:
$ref: '#/components/examples/FourWayGenerateSolutionRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateSolutionsResponseTwo_2'
examples:
oneWayGenerateSolutionResponse:
$ref: '#/components/examples/OneWayGenerateSolutionResponse_2'
twoWayGenerateSolutionResponse:
$ref: '#/components/examples/TwoWayGenerateSolutionResponse_2'
threeWayGenerateSolutionResponse:
$ref: '#/components/examples/ThreeWayGenerateSolutionResponse_2'
fourWayGenerateSolutionResponse:
$ref: '#/components/examples/FourWayGenerateSolutionResponse'
'400':
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: A human-readable error code. (e.g., <code>IE13</code>).
example: IE38
message:
type: string
description: A human-readable message providing more details about the error. (e.g., <code>Currency is required</code>).
example: Trip ID not found
examples:
IE52ErrorCode:
$ref: '#/components/examples/IE52ErrorCode'
IE08ErrorCode:
$ref: '#/components/examples/IE08ErrorCode'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: A human-readable error code. (e.g., <code>IE13</code>).
example: IE44
message:
type: string
description: A human-readable message providing more details about the error. (e.g., <code>Currency is required</code>).
example: User is not authorized
'500':
description: Server Error
tags:
- Generate Solutions
servers:
- url: https://sandbox.tripninja.io
description: Sandbox server for development and testing.
/generate-solutions/:
post:
summary: Generate Solutions
description: ' There are two ways to approach this endpoint. For each search the OTA performed, we have provided a optional metadata field per pricing solution. This allows the customer to pass in any metadata (branded fares, tax info, ect) regarding that specific pricing solution. When we have finished generating the itineraries for the search, we will pass these values in a list inside the corresponding itinerary.<br/> This will allow the response from the generate-solutions endpoint to be totally FE ready, in whatever format the OTA decides. The downside of this approach is this will inflate the request/response size considerably.<br/> An alternative is to simply ignore the metadata field. Using this minimal approach the OTA simply sends all the required fields listed in our docs. This will result in a much smaller request/response, however it will be up to the OTA to process the data on their end and add any additional metadata to the itineraries returned. '
operationId: GenerateSolutionsRequest
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FullGenerateSolutionsRequest_3'
responses:
200:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateSolutionsResponse'
400:
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: IE38
message:
type: string
description: Contains the error message
example: Trip ID not found
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
500:
description: Server Error
tags:
- Generate Solutions
servers:
- url: https://preprodapi.tripninja.io
description: Pre-Production server for development and testing
components:
schemas:
MinimalDatasourceLegDetails:
description: A list of required info for each leg of this segment.
type: object
required:
- departure_time
- departure_timestamp
- arrival_time
- arrival_timestamp
- flight_number
- operating_carrier
- transportation_type
- fare_type
- cabin_class
- from_iata
- to_iata
properties:
departure_time:
type: string
description: Departure time written in the ISO 8601 datetime format (e.g. 2023-03-15T08:00:00-04:00).
example: '2023-03-15T08:00:00'
departure_timestamp:
type: int
description: Departure timestamp written in epoch time, in seconds (e.g. 1678892400).
example: 1678892400
arrival_time:
type: string
description: Arrival time written in the ISO 8601 datetime format (e.g. 2023-03-15T10:29:00-04:00).
example: '2023-03-15T10:29:00'
arrival_timestamp:
type: int
description: Arrival timestamp written in epoch time, in seconds (e.g. 1678901340).
example: 1678901340
flight_number:
type: string
description: Flight number.
example: '391'
operating_carrier:
type: string
description: Operating carrier.
example: WS
transportation_type:
type: string
description: Transportation vehicle used for this segment.
example: flight
fare_type:
type: string
description: Fare Type of the segment
example: Published
cabin_class:
type: string
description: The cabin class of the leg. Accepted values are E - Economy, PE - Premium Economy, BC - Business Class, FC - First Class, PFC - Premium First Class.
example: BC
enum:
- E
- PE
- BC
- FC
- PFC
from_iata:
type: string
description: IATA of departure airport for leg.
example: YWG
to_iata:
type: string
description: IATA of arrival airport for leg.
example: FCO
marketing_carrier:
type: string
description: Marketing carrier
example: AC
MinimalMetadataRequest:
type: object
description: Any data can be provided to this optional field. We will not alter the data within this field.
properties:
OriginName:
type: string
example: Halifax, NS, Canada (YHZ)
Origin:
type: string
example: YHZ
DestinationName:
type: string
example: Ottawa, ON, Canada (YOW)
Destination:
type: string
example: YOW
DepartureTime:
type: string
example: '2023-03-15T08:00:00'
DepartureTimestamp:
type: number
example: 1678892400
ArrivalTime:
type: string
example: '2023-03-15T10:29:00'
ArrivalTimestamp:
type: number
example: 1678901340
FlightNumber:
type: string
example: '391'
Carrier:
type: string
example: PD
CarrierFullName:
type: string
example: Porter Airlines, Inc.
FlightTime:
type: number
example: 138
AircraftType:
type: string
example: DH4
AvailabilitySource:
type: string
example: A
Key:
type: string
example: oMrDKtSqWDKAFrUOpAAAAA==
BookingCode:
type: string
example: W
cabin_class:
type: string
example: Business Class
FullDatasourceResponse:
type: object
properties:
4f499298b303c55a1ee522118afce28abe2f68e4:
description: The datasource_request_id of a datasource request returned from the first get-searches call after the OTA has performed the flight searches requested. The value of this id will be the formatted results from that search.
type: array
items:
$ref: '#/components/schemas/FullGenerateDatasourceRequest'
DatasourceLegDetailsResponse:
allOf:
- $ref: '#/components/schemas/MinimalDatasourceLegDetails'
properties:
segment_leg_position:
type: number
description: Indicates the segment position of this specific leg.
example: 0
GenerateSolutionsResponseTwo:
title: 'Generate Solutions Request #2'
type: object
properties:
trip_id:
type: string
description: A unique key used for identification and when booking a trip.
example: gAAAAABlSXcLA0ChTKO9-iZT-sveIYqZ4tEluxEBAnSupx0rIBvx1NI4_7apGXoe8iTtZ4iytATGyURN7IGDUnWmSKXMYhQfA7DhlPOY4SidBcigPAKWH7k=
currency:
type: string
description: Currency that was passed in get-searches
example: MXN
itineraries:
$ref: '#/components/schemas/DatasourceItineraryInfoWithMarkup'
FullGenerateSolutionsRequest:
type: object
title: Generate Solutions Request
properties:
trip_id:
description: The trip id of the search. This will be used in all future requests relating to this search.
type: string
example: gAAAAABlSXcLA0ChTKO9-iZT-sveIYqZ4tEluxEBAnSupx0rIBvx1NI4_7apGXoe8iTtZ4iytATGyURN7IGDUnWmSKXMYhQfA7DhlPOY4SidBcigPAKWH7k=
datasource_responses:
description: The list of datasource responses to be used to generate solutions.
type: object
allOf:
- $ref: '#/components/schemas/FullDatasourceResponse'
DatasourceItineraryInfoWithMarkup:
type: array
description: Array of itineraries sorted by weight.
items:
properties:
itinerary_id:
type: string
description: Unique identifier for the itinerary
example: f557310419e4c08a6ba40cc2785447970e7aea4c
total_price:
type: number
description: Price of the itinerary (fare and tax included).
example: 197.1
weight:
type: number
description: Weight of the segment (time-value considered).
example: 239
refundable:
type: boolean
description: Denotes whether the booking will be refundable.
example: true
transportation_time:
type: integer
description: Total transportation time for the itinerary.
example: 425
is_virtual_interline:
type: boolean
description: Denotes whether the itinerary contains virtual interline.
example: false
structure:
type: array
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 bookings. One openjaw for segments ”0 and 1”, \none for segments ”3 and 4” and a one-way for segment ‘2”.\"\n"
example: '[(0, 1), 2]'
flight_numbers:
type: array
description: Array of strings listing the flight numbers in this itinerary.
items:
type: string
example: AC135
segments:
type: array
description: Array of strings listing the flight numbers in this itinerary.
items:
type: object
properties:
pricing_solution_id:
type: string
description: A unique identifier that matches objects within metadata_details
example: c2f59ef0eeec039233d60e694fed09edc4dfa954
is_vi_segment:
type: boolean
description: Denotes whether the segment is a virtual interline segment.
example: false
price:
type: number
description: Price of the segment (fare and tax included)
example: 671.88
weight:
type: number
description: Weight of the segment (time-value considered).
example: 716
segment_position:
type: number or array of number
description: Position of the segment in the itinerary. For example, `[0, 2]` means the combined segment is an open-jaw segment and it represents the **first** segment of the itinerary and the **third** segment of the itinerary.
example: 0
is_private_fare:
type: boolean
description: Indicates whether or not this segment is a private fare. If this value is false, it is considered to be a public fare.
example: true
baggage:
type: string
description: A string value representing the baggage for this itinerary. Will be a string value if baggage is present, otherwise will be `null`.
example: 2pc
legs:
type: array
description: A list of required legs information for this segment
items:
$ref: '#/components/schemas/DatasourceLegDetailsResponse'
metadata:
type: array
description: This field is completely optional and we will not alter the data within this object. Whatever passed within this object will be returned as-is back to the OTA.<br/> This array contains all the metadata that correlates with the related itineraries. This will not be populated if no metadata is passed in the generate solutions request.
items:
$ref: '#/components/schemas/MinimalMetadataRequest'
markup:
type: number
description: Markup amount determined by Trip Ninja's revenue management system.
example: 20
FullGenerateDatasourceRequest:
allOf:
- $ref: '#/components/schemas/BasicGenerateDatasourceRequest'
BasicGenerateDatasourceRequest:
type: object
description: blah
required:
- pricing_solution_id
- total_price
- segment_source
- is_private_fare
- segments
properties:
pricing_solution_id:
type: string
description: A unique identifier that represents the itinerary details.
example: 40495f0f293b54ffe64c833d987cd80ecdb5aca5
total_price:
type: number
description: Total price of the segment (fare and tax included).
example: 197.1
segment_source:
type: string
description: GDS or LCC provider source for the segment. Please see all supported content sources in the Admin Panel.
example: travelport
is_private_fare:
type: boolean
description: Indicates whether or not this segment is a private fare. If this value is false, it is considered to be a public fare.
example: true
segments:
type: array
description: A list of segments for this itinerary
items:
type: array
description: A list of required legs information for this segment
items:
$ref: '#/components/schemas/MinimalDatasourceLegDetails'
baggage:
type: string
description: A string value representing the baggage allowance per segment. Itineraries are built and returned based on their baggage allowances. (Eg. segments with a `null` baggage allowance will be grouped together, while segments with a baggage allowance will be grouped together.)
example: 2pc
metadata:
$ref: '#/components/schemas/MinimalMetadataRequest'
refundable:
type: boolean
description: Explains whether the booking will be refundable.
example: true
GenerateSolutionsResponseTwo_2:
title: 'Generate Solutions Request #2'
type: object
properties:
trip_id:
type: string
description: Unique identifier for this search. Used in all subsequent requests related to this trip.
example: gAAAAABlSXcLA0ChTKO9-iZT-sveIYqZ4tEluxEBAnSupx0rIBvx1NI4_7apGXoe8iTtZ4iytATGyURN7IGDUnWmSKXMYhQfA7DhlPOY4SidBcigPAKWH7k=
currency:
type: string
description: Three-letter currency code (e.g., <code>"USD"</code>, <code>"CAD"</code>) for provider queries and price calculations.
example: MXN
itineraries:
$ref: '#/components/schemas/DatasourceItineraryInfoWithMarkup_2'
BasicGenerateDatasourceRequest_2:
type: object
description: blah
required:
- pricing_solution_id
- total_price
- segment_source
- is_private_fare
- segments
properties:
pricing_solution_id:
type: string
description: Unique identifier for each itinerary in your datasource response. Generate a unique ID (e.g., truncated 40-character hash) for every <code>datasource_response</code> item.
example: 40495f0f293b54ffe64c833d987cd80ecdb5aca5
total_price:
type: number
description: Total price of the segment including fare and taxes.
example: 197.1
segment_source:
type: string
description: Content provider for this segment. Configure available sources in your Trip Ninja Admin Panel.
example: travelport
is_private_fare:
type: boolean
description: Indicates if segment uses a private fare. <code>is_private_fare</code> = <code>false</code> indicates public fare.
example: true
segments:
type: array
description: A list of segments for the itinerary. Responses containing more than two segments are formatted in a nested list. (e.g., <code>[[segment_1_legs]</code>, <code>[segment_2_legs]]</code>).
items:
type: array
description: Array of leg-specific flight details returned from your content source searches. Include all leg-level information provided by your datasources.
items:
$ref: '#/components/schemas/MinimalDatasourceLegDetailsRequest'
baggage:
type: string
description: Baggage allowance per segment. Itineraries are grouped by baggage policy (<code>null</code> allowances are grouped separately from defined allowances).
example: 2pc
metadata:
$ref: '#/components/schemas/MinimalMetadataRequest_2'
refundable:
type: boolean
description: Indicates whether the booking is refundable.
example: true
MinimalDatasourceLegDetailsRequest:
description: A list of required info for each leg of this segment.
type: object
required:
- departure_time
- departure_timestamp
- arrival_time
- arrival_timestamp
- flight_number
- operating_carrier
- transportation_type
- fare_type
- cabin_class
- from_iata
- to_iata
properties:
departure_time:
type: string
description: Departure time written in the ISO 8601 datetime format (e.g., <code>2023-03-15T08:00:00-04:00</code>).
example: '2023-03-15T08:00:00'
departure_timestamp:
type: int
description: Departure timestamp written in EPOCH time, in seconds (e.g., <code>1678892400</code>).
arrival_time:
type: string
description: Arrival time written in the ISO 8601 datetime format (e.g., <code>2023-03-15T10:29:00-04:00</code>).
example: '2023-03-15T10:29:00'
arrival_timestamp:
type: int
description: Arrival timestamp written in EPOCH time, in seconds (e.g., <code>1678901340</code>).
flight_number:
type: string
description: Flight number for the leg.
example: '391'
operating_carrier:
type: string
description: Two-letter code for the airline operating the flight.
example: WS
cabin_class:
type: string
description: Requested cabin class for the query. Can be set globally or per segment. <b>Values:</b> <code>"E"</code> (Economy), <code>"PE"</code> (Premium Economy), <code>"BC"</code> (Business Class), <code>"FC"</code> (First Class), <code>"PFC"</code> (Premium First Class).
example: BC
from_iata:
type: string
description: Three-digit IATA code representing the departure city / airport of the leg.
example: YWG
to_iata:
type: string
description: Three-digit IATA code representing the arrival city / airport of the leg.
example: FCO
marketing_carrier:
type: string
description: Two-letter code for the carrier selling the flight tickets.
example: AC
FullDatasourceResponse_2:
type: object
properties:
1578b29999fc8f5cb0008df53679b10ea0856e16:
description: Example <code>datasource_request_id</code> from <code>get-searches</code>. Use this ID as the key with your formatted search results as the value to map responses back to their original requests for itinerary generation.
type: array
items:
$ref: '#/components/schemas/FullGenerateDatasourceRequest'
DatasourceLegDetailsResponse_2:
allOf:
- $ref: '#/components/schemas/MinimalDatasourceLegDetailsResponse'
- properties:
segment_leg_position:
type: number
description: Position of the leg within its segment.
example: 0
FullGenerateSolutionsRequest_2:
type: object
title: Generate Solutions Request
properties:
trip_id:
description: Unique identifier for this search. Used in all subsequent requests related to this trip.
type: string
example: gAAAAABoD8kRt_phvyNxhfNxfWow40S4Tzlyte5Y-s85Rl4mMeCm7HADsOORIS8ib6hChNixixkBesrAKKf9DUMTr_-V0F-rT-m03k-LcGS9kD6gP_25-zkNVExb1fWzySyxUKEIHWMl3q7wcJQg4I9JT9tC81C6RWrBhaIVYTJfrF2S3xOXWZc2VANvMSoBWVWIPK_fU1BUvVGAeYwIdJPvY-9SHRJ9_mRzPhgfmvjDsNRzRDmACwMSC8FhBE3PdKS9l3ZfTCMB3zVjuL01ZkU0P5knyKMSHRr-cNNyVKA3VFPYIMb6v0tUroWdLzl9AxY2TDIl7Krtwrgg8UvyCVrCjfYAIYSP93WqeDvAGR2nFVfHF-wODtdglQOT5BRXAPgIn_k0v6WNMB5NNSOhewK6pKIos0_rxqjst60PjjQAqJ4Zm4hav7d2ln8xiKOWOU1FNyOt1RQdnmYxlrEOqi1FYmfGGyCEYtyCwyUttaTf67xruWPnQzb6YKeBBrCkXNWBfVbE-qxVkzF2ekxrE9-5DJhfgrqv6y08xkOt0s4MF_iO71_lwSJyU0fBmvX7SEuCTc3J96BQure4VBdfZtjwepSv_I5ooCF7cfnzg9boEAp_Pru3TlYXMxgxvN7DVBWVOg3r3BZmxC34S4m8t0dFhSc2P1Pxwdgz-Czl0XPKiz5cekEao3OhEHXoSay4-c6cfmTZaA-u1Q1dtJm9mX25uImYDXWlaL5uDFxRqPiYxtnRjjoWXj0qe2KhCA5L0ExWq-DIU1BePS53YHT8uH3otU0K0KN9dFC2w1A8dSrQFmoM9ytLZwz6ZbzJ0lnZgyn0Kgf9LJxLdzUOj3INt5Zj8ye9hnwuxqw6jxzGvcapr3Zb-G0N-Sr8Lrd-5qOzhv0OFBntwHPdWUcrgqsyLtErffVjlt0PheBLjqG4MacMogPV994zAjGH1ccNUE6DRHMDhtyxD11hZi8LhDhMuffQJ7bc6cVFuQ2ESmelQno-qbKTDMARvqXGqqlgL3OIbA-7o9ALQS7c9XML-sNDsT8niGCuYNQVPRJ08xhsGQcW2e2Rg-thwCq-egDfgZy4fqQYgzcNPQ_dgPMsHMfyE82425ykOquSq8HENPDKr-czRcYSZdbwIuLmNrUfPFmbHdCy5ZIBy2DjeLadJfHlwPAtkw0NTd8o8On3eYqjXgcHesqjZayI-yYMonujtJYGS4eZzmpKhXSdPoYitYhJ1nx81AHGjQ_HjJ7gyUy-MH132dxYj1E6lgUsuq_TToOYzhQkxy_9vMShvT1swTHC5261SKiv0VlkDGxo0UJv9Cz263OJvbUNbtOnm054kBAm8tacnhEZZztqs39ZyGHBasC0k6cbqbbtaeNOIxU_MzHuI1JaISrnTP3lfzXVtWZvk0jojyeROaJr1q3AbYUJP1xR1f4cWwUDE8WMbAbdXaKmhxOjzrxMdoqXR0eLQNR6OxCtK3B8tsntnhKTV-Yn80RxCVWCMz_6cuTFuuacml8U4ZPtJ7-2ydO18hRetyNcdGoOOnYqOJ6FoxgPXqWwxv2VADSH3hmqXsi1HOgxioxe0NqMuyksV_y7tZd2FxU0iHfhbmSUJEExCUIgCoRGz4kZ1ZrBtJM-w6Q3CRzRqtwQbKWMkTN9IQ6NIbDefuSOmgJVnGY3s-FY
datasource_responses:
description: List of datasource responses used to generate itinerary solutions.
type: object
allOf:
- $ref: '#/components/schemas/FullDatasourceResponse_2'
MinimalMetadataRequest_2:
type: object
description: Optional field for custom data. Values passed through remain unchanged. When segments are mixed and matched to create itineraries, the metadata from each constituent segment is included in the response with its associated details.
properties:
OriginName:
type: string
example: Halifax, NS, Canada (YHZ)
Origin:
type: string
example: YHZ
DestinationName:
type: string
example: Ottawa, ON, Canada (YOW)
Destination:
type: string
example: YOW
DepartureTime:
type: string
example: '2023-03-15T08:00:00'
DepartureTimestamp:
type: number
example: 1678892400
ArrivalTime:
type: string
example: '2023-03-15T10:29:00'
ArrivalTimestamp:
type: number
example: 1678901340
FlightNumber:
type: string
example: '391'
Carrier:
type: string
example: PD
CarrierFullName:
type: string
example: Porter Airlines, Inc.
FlightTime:
type: number
example: 138
AircraftType:
type: string
example: DH4
AvailabilitySource:
type: string
example: A
Key:
type: string
example: oMrDKtSqWDKAFrUOpAAAAA==
BookingCode:
type: string
example: W
cabin_class:
type: string
example: Business Class
DatasourceItineraryInfoWithMarkup_2:
type: array
description: Array of itineraries sorted by the weight parameter
items:
properties:
itinerary_id:
type: string
description: Unique identifier for the itinerary. Used in all subsequent requests related to this trip.
example: f557310419e4c08a6ba40cc2785447970e7aea4c
total_price:
type: number
description: Total price of the itinerary including fare and taxes.
example: 197.1
weight:
type: number
description: The calculated True Cost of Flight value (Flight Price + time penalty) used for sorting itineraries. This parameter shows the result of the time_value calculation, allowing you to see exactly how each itinerary was ranked. If <code>time_value</code> = 0 or is <code>null</code>, the itinerary will be sorted by price.
example: 239
is_private_fare:
type: boolean
description: Indicates if segment uses a private fare. <code>is_private_fare</code> = <code>false</code> indicates public fare.
example: false
is_virtual_interline:
type: boolean
description: Indicates whether the itinerary includes virtual interlining segments.
example: false
structure:
type: array
description: 'Defines how segments are grouped and booked. Each number represents a segment (starting from 0); parentheses indicate segments booked
# --- truncated at 32 KB (2074 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webjet/refs/heads/main/openapi/webjet-generate-solutions-api-openapi.yml