TUI Group Meta Partner Packages & Flights
TUI Group Meta Partner Packages & Flights from TUI Group — 5 path(s) described in OpenAPI.
TUI Group Meta Partner Packages & Flights from TUI Group — 5 path(s) described in OpenAPI.
openapi: 3.0.0
components:
examples: {}
headers: {}
parameters: {}
requestBodies: {}
responses: {}
schemas:
FlightsRoute:
properties:
origin:
type: string
destination:
type: string
days_of_week:
type: string
effective_start:
type: string
effective_end:
type: string
required:
- origin
- destination
- days_of_week
- effective_start
- effective_end
type: object
additionalProperties: false
ApiAccommodation:
properties:
id:
type: string
configurationId:
type: string
name:
type: string
href:
type: string
imagesHref:
type: string
allInclusive:
type: boolean
destinationName:
type: string
climateCompensated:
type: boolean
required:
- id
- name
- href
- imagesHref
- allInclusive
type: object
additionalProperties: false
ApiFlightLeg:
properties:
typeOfFlightName:
type: string
typeOfFlightCode:
type: string
airlineName:
type: string
airlineCode:
type: string
flightCode:
type: string
flightNumber:
type: string
arrivalTime:
type: string
arrivalDate:
type: string
arrivalName:
type: string
arrivalCode:
type: string
departureTime:
type: string
departureDate:
type: string
departureName:
type: string
departureCode:
type: string
legNumber:
type: number
format: double
required:
- airlineCode
- flightCode
- arrivalTime
- arrivalDate
- arrivalCode
- departureTime
- departureDate
- departureCode
- legNumber
type: object
ApiPrice:
properties:
priceOriginal:
type: number
format: double
currentPrice:
type: number
format: double
currency:
type: string
available:
type: number
format: double
seatsAvailable:
type: number
format: double
flightClassName:
type: string
urlToBooking:
type: string
roomTags:
items:
type: string
type: array
roomGroupCode:
type: string
roomTypeCode:
type: string
roomTypeName:
type: string
numberOfOrdinaryBeds:
type: number
format: double
numberOfExtraBeds:
type: number
format: double
campaignCode:
type: string
nullable: true
campaignName:
type: string
nullable: true
boardIncluded:
type: string
required:
- priceOriginal
- currentPrice
- currency
- flightClassName
- urlToBooking
- roomTypeCode
- roomTypeName
- boardIncluded
type: object
additionalProperties: false
ApiPackage:
properties:
id:
type: string
name:
type: string
departureCode:
type: string
departureName:
type: string
departureDate:
type: string
departureTime:
type: string
returnDate:
type: string
duration:
type: string
countryName:
type: string
destinationCode:
type: string
destinationName:
type: string
adults:
type: number
format: double
youths:
type: number
format: double
children:
type: number
format: double
infants:
type: number
format: double
accommodation:
$ref: "#/components/schemas/ApiAccommodation"
priority:
type: number
format: double
flightClimateCompensated:
type: boolean
charterFlight:
type: boolean
outboundTravelTime:
type: string
outboundFlightLegs:
items:
$ref: "#/components/schemas/ApiFlightLeg"
type: array
homeboundTravelTime:
type: string
homeboundFlightLegs:
items:
$ref: "#/components/schemas/ApiFlightLeg"
type: array
prices:
items:
$ref: "#/components/schemas/ApiPrice"
type: array
required:
- departureCode
- departureDate
- departureTime
- returnDate
- duration
- destinationCode
- adults
- youths
- children
- infants
- accommodation
- priority
- flightClimateCompensated
- charterFlight
- outboundFlightLegs
- homeboundFlightLegs
- prices
type: object
additionalProperties: false
ApiPackages:
properties:
next:
type: string
nullable: true
totalNumberOfItems:
type: number
format: double
version:
type: string
items:
items:
$ref: "#/components/schemas/ApiPackage"
type: array
required:
- next
- totalNumberOfItems
- version
- items
type: object
additionalProperties: false
ApiFlightPrice:
properties:
priceOriginal:
type: number
format: double
currentPrice:
type: number
format: double
priceReduced:
type: number
format: double
currency:
type: string
available:
type: number
format: double
seatsAvailable:
type: number
format: double
flightClassCode:
type: string
flightClassName:
type: string
urlToBooking:
type: string
campaignName:
type: string
nullable: true
required:
- priceOriginal
- currentPrice
- priceReduced
- currency
- available
- seatsAvailable
- flightClassCode
- flightClassName
- urlToBooking
- campaignName
type: object
additionalProperties: false
ApiFlightOnly:
properties:
id:
type: string
name:
type: string
href:
type: string
departureCode:
type: string
departureName:
type: string
departureDate:
type: string
departureTime:
type: string
returnDate:
type: string
duration:
type: number
format: double
destinationCode:
type: string
destinationName:
type: string
isOneWay:
type: boolean
adults:
type: number
format: double
youths:
type: number
format: double
children:
type: number
format: double
infants:
type: number
format: double
flightClimateCompensated:
type: boolean
outboundTravelTime:
type: string
outboundFlightLegs:
items:
$ref: "#/components/schemas/ApiFlightLeg"
type: array
homeboundTravelTime:
type: string
homeboundFlightLegs:
items:
$ref: "#/components/schemas/ApiFlightLeg"
type: array
prices:
items:
$ref: "#/components/schemas/ApiFlightPrice"
type: array
required:
- id
- name
- href
- departureCode
- departureDate
- departureTime
- duration
- destinationCode
- isOneWay
- adults
- youths
- children
- infants
- flightClimateCompensated
- outboundFlightLegs
- homeboundFlightLegs
- prices
type: object
additionalProperties: false
ApiFlightsOnly:
properties:
last:
type: number
enum:
- null
nullable: true
previous:
type: number
enum:
- null
nullable: true
totalNumberOfItems:
type: number
format: double
first:
type: string
next:
type: string
nullable: true
items:
items:
$ref: "#/components/schemas/ApiFlightOnly"
type: array
required:
- last
- previous
- totalNumberOfItems
- first
- next
- items
type: object
additionalProperties: false
LocationModel:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
additionalProperties: false
LocationResponseModel:
properties:
total:
type: number
format: double
items:
items:
$ref: "#/components/schemas/LocationModel"
type: array
required:
- total
- items
type: object
additionalProperties: false
securitySchemes:
tsoa_auth_prod:
type: oauth2
description: Production OAuth2
flows:
clientCredentials:
tokenUrl: https://prod.api.tui/oauth2/token
scopes:
read:sales-meta-package: Read access
tsoa_auth_preprod:
type: oauth2
description: Pre-production OAuth2
flows:
clientCredentials:
tokenUrl: https://pre-prod.api.tui/oauth2/token
scopes:
read:sales-meta-package: Read access
info:
title: Meta Partner Packages & Flights
description: >-
The Meta Partner Packages & Flights provides a suite of RESTful endpoints that enable meta
partners to search
for and retrieve up-to-date information on flights and travel packages.
It allows clients to integrate real-time availability and pricing into their
applications.
version: 1.0.0
paths:
/{market}/flights/{agent}/route-feed:
get:
operationId: GetFlightsRouteFeed
responses:
"200":
description: Ok
content:
application/json:
schema:
items:
$ref: "#/components/schemas/FlightsRoute"
type: array
description: This endpoint returns the current flights route feed.
tags:
- Route Feed
security:
- tsoa_auth_prod: []
- tsoa_auth_preprod: []
parameters:
- description: "The source market code. Accepted values: dk, fi, no, se."
in: path
name: market
required: true
schema:
type: string
pattern: ^dk$|^fi$|^no$|^se$
- description: Your agent code. This will be used for monitoring purposes.
in: path
name: agent
required: true
schema:
type: string
pattern: ^\w+$
/{market}/packages/{pax}:
get:
operationId: GetPackages
responses:
"200":
description: Ok
content:
application/json:
schema:
$ref: "#/components/schemas/ApiPackages"
description: "This endpoint returns all available packages.\r
Very important! Remember to add your own agent string
{&agent=youragentstring} to the urlToBooking link in each package."
tags:
- Packages
security:
- tsoa_auth_prod: []
- tsoa_auth_preprod: []
parameters:
- description: "The source market code. Accepted values: dk, fi, no, se."
in: path
name: market
required: true
schema:
type: string
pattern: ^dk$|^fi$|^no$|^se$
- description: "The pax configuration. Accepted values: 2000 for two adults, 2010
for two adults and one child, 2020 for two adults and two children."
in: path
name: pax
required: true
schema:
type: string
pattern: ^2.[0-2].$
- description: Your agent code. Use the same for every request made.
in: query
name: agent
required: true
schema:
type: string
pattern: ^\w+$
- description: The package id to start from. Items retrieved will have an id that
comes after the given value when sorted in ascending order.
in: query
name: fromid
required: false
schema:
default: ""
type: string
- description: "The number of items to return. Default: 100, maximum: 1000."
in: query
name: limit
required: false
schema:
default: 100
format: int32
type: integer
maximum: 1000
- description: Used for pagination. For performance reasons, do not use without
adding other query parameters.
in: query
name: offset
required: false
schema:
default: 0
format: int32
type: integer
- description: Code of the departure airport. Any valid IATA airport code.
in: query
name: departurecode
required: false
schema:
type: string
- description: "Date of departure. Date must be compatible with ISO 8601. Example:
departuredate=2035-01-31"
in: query
name: departuredate
required: false
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
- description: Code of the destination airport. Any valid IATA airport code.
in: query
name: destinationcode
required: false
schema:
type: string
- description: Number of nights in the accommodation.
in: query
name: duration
required: false
schema:
format: int32
type: integer
- description: The id of the accommodation to retrieve.
in: query
name: accommodationid
required: false
schema:
type: string
- description: Maximum number of days to departure. Items returned will have a
departure date that is equal or fewer days away from today.
in: query
name: maxdaystodeparture
required: false
schema:
format: int32
type: integer
- description: "Date of departure. Date must be compatible with ISO 8601. Example:
departuredatefrom=2035-01-31"
in: query
name: departuredatefrom
required: false
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
- description: "Date of departure. Date must be compatible with ISO 8601. Example:
departuredatetill=2035-01-31"
in: query
name: departuredatetill
required: false
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
/{market}/flights/search/{agent}:
get:
operationId: GetFlights
responses:
"200":
description: Ok
content:
application/json:
schema:
$ref: "#/components/schemas/ApiFlightsOnly"
description: This endpoint returns available flights.
tags:
- Flights
security:
- tsoa_auth_prod: []
- tsoa_auth_preprod: []
parameters:
- description: "The source market code. Accepted values: dk, fi, no, se."
in: path
name: market
required: true
schema:
type: string
pattern: ^dk$|^fi$|^no$|^se$
- description: Your agent code. This will be used for generating the url for the
next request.
in: path
name: agent
required: true
schema:
type: string
pattern: ^\w+$
- description: Mandatory. Number of adults. Any integer between 1 and 6.
in: query
name: adults
required: true
schema:
format: double
type: number
minimum: 1
maximum: 6
- description: "A comma separated string with child ages. No space after comma.
Example: childAges=0,5,14. Age ranges are, infant: 0-1, child: 2-12,
youth: 13-17, adults: 18+."
in: query
name: childAges
required: false
schema:
type: string
pattern: ^\d+(,\d+)*$
- description: Code of the departure airport. Any valid IATA airport code.
in: query
name: departureCode
required: false
schema:
type: string
- description: "Date of departure. Date must be compatible with ISO 8601. Example:
departuredate=2035-01-31."
in: query
name: departureDate
required: false
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
- description: Code of the destination airport. Any valid IATA airport code.
in: query
name: destinationCode
required: false
schema:
type: string
- description: "Date of return. Date must be compatible with ISO 8601. Example:
returnDate=2035-01-31."
in: query
name: returnDate
required: false
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
- description: Number of nights between departure date and return date.
in: query
name: duration
required: false
schema:
format: int32
type: integer
- description: If true then only one way flights are returned, if false then one
way flights are not returned. If omitted then all flights are
returned.
in: query
name: oneWay
required: false
schema:
type: boolean
- description: "The number of items to return. Default: 100, maximum: 1000."
in: query
name: limit
required: false
schema:
default: 100
format: int32
type: integer
maximum: 1000
- description: Used for pagination. For performance reasons, do not use without
adding other query parameters.
in: query
name: offset
required: false
schema:
default: 0
format: int32
type: integer
- description: If true returns flights from TUIfly Nordic and TUI Airways. If
false or omitted returns all airlines.
in: query
name: tuiOnly
required: false
schema:
type: boolean
/{market}/live-search/packages/{agent}/locations:
get:
operationId: GetLocations
responses:
"200":
description: Ok
content:
application/json:
schema:
$ref: "#/components/schemas/LocationResponseModel"
description: Get all locations for a specific market
tags:
- Live Search Packages (Beta)
security:
- tsoa_auth_prod: []
- tsoa_auth_preprod: []
parameters:
- description: "The source market code. Accepted values: dk, fi, no, se."
in: path
name: market
required: true
schema:
type: string
pattern: ^dk$|^fi$|^no$|^se$
- description: Your agent code. Use the same for every request made.
in: path
name: agent
required: true
schema:
type: string
pattern: ^\w+$
/{market}/live-search/packages/{agent}:
get:
operationId: GetLiveSearch
responses:
"200":
description: Ok
content:
application/json:
schema:
$ref: "#/components/schemas/ApiPackages"
description: This endpoint returns available packages.
tags:
- Live Search Packages (Beta)
security:
- tsoa_auth_prod: []
- tsoa_auth_preprod: []
parameters:
- description: "Your agent code. Use the same for every request made.\r
\r
Example - tui"
in: path
name: agent
required: true
schema:
type: string
pattern: ^\w+$
- description: "The source market code.\r
\r
Accepted values: dk, fi, no, se."
in: path
name: market
required: true
schema:
type: string
pattern: ^dk$|^fi$|^no$|^se$
- description: "Number of Adults in the request.\r
\r
Accepted Values - 1 to 6"
in: query
name: adults
required: true
schema:
format: int32
type: integer
minimum: 1
maximum: 6
- description: "Ages of Children in the request separated by comma. If no children
are sent in the request, this parameter should not be sent (or sent
as ?childAges=).\r
\r
For 2 children with age 5 and 7, the value should be 5,7.\r
Age ranges are, infant: 0-1, child: 2-12, youth: 13-17."
in: query
name: childages
required: false
schema:
default: ""
type: string
pattern: ^$|^(1[0-7]|[0-9])(,(1[0-7]|[0-9]))*$
- description: "The G- code value for each destination that is mapped through the
locations endpoint.\r
Multiple destinations can be sent in the request separated by
comma.\r
\r
Example: G-000000234,G-000000256,G-000000293,G-000000293"
in: query
name: destinations
required: true
schema:
type: string
- description: "Date of arrival from. Date must be compatible with ISO 8601.
Example: arrivaldatefrom=2035-01-31"
in: query
name: arrivaldatefrom
required: true
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
- description: "Date of arrival to.\r
Date must be compatible with ISO 8601.\r
\r
Example: arrivaldateto=2035-01-31"
in: query
name: arrivaldateto
required: true
schema:
type: string
pattern: ^\d{4}\-(0[1-9]|(1[0-2]))\-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$
- description: "A list of one or more stay durations. Example: 3,5,7,14"
in: query
name: durations
required: true
schema:
type: string
pattern: ^\d+(,\d+)*$
- description: "A list of airportcodes separated by comma that are requested by
user as Departure locations.\r
\r
Example: ARN,GOT,CPH"
in: query
name: airportcodes
required: false
schema:
default: ""
type: string
- description: "The number of items to return. Maximum: 100."
in: query
name: limit
required: false
schema:
default: 20
format: int32
type: integer
maximum: 100
servers:
- url: https://prod.api.tui/sales/pip-package/partner
description: Prod Server
- url: https://pre-prod.api.tui/sales/pip-package/partner
description: Pre-prod Server