Webjet Generate Solutions API

The Generate Solutions API from Webjet — 3 operation(s) for generate solutions.

Operations 3

POST /v2/generate-solutions/ Generate Solutions
POST /v3/generate-solutions/ Generate Solutions
POST /generate-solutions/ Generate Solutions #

Documentation

Specifications

SDKs

Other Resources

Work with this as data

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 Specification

webjet-generate-solutions-api-openapi.yml Raw ↑
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