TUI Partner Live Search API
Real-time package search for meta partners in the Nordic region, returning live pricing and availability over REST with OAuth 2.0 client credentials.
Real-time package search for meta partners in the Nordic region, returning live pricing and availability over REST with OAuth 2.0 client credentials.
openapi: 3.0.0
components:
examples: {}
headers: {}
parameters: {}
requestBodies: {}
responses: {}
schemas:
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
ApiAccommodation:
properties:
id:
type: string
name:
type: string
href:
type: string
imagesHref:
type: string
allInclusive:
type: boolean
required:
- id
- name
- href
- imagesHref
- allInclusive
type: object
additionalProperties: false
ApiFlightLeg:
properties:
typeOfFlightName:
type: string
typeOfFlightCode:
type: string
airlineCode:
type: string
flightCode:
type: string
arrivalTime:
type: string
arrivalDate:
type: string
arrivalCode:
type: string
departureTime:
type: string
departureDate:
type: string
departureCode:
type: string
legNumber:
type: number
format: double
required:
- typeOfFlightName
- typeOfFlightCode
- 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
flightClassName:
type: string
urlToBooking:
type: string
roomTypeCode:
type: string
roomTypeName:
type: string
boardIncluded:
type: string
required:
- priceOriginal
- currentPrice
- currency
- flightClassName
- urlToBooking
- roomTypeCode
- roomTypeName
- boardIncluded
type: object
additionalProperties: false
ApiPackage:
properties:
departureCode:
type: string
departureDate:
type: string
departureTime:
type: string
returnDate:
type: string
duration:
type: string
destinationCode:
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
outboundFlightLegs:
items:
$ref: "#/components/schemas/ApiFlightLeg"
type: array
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
AccommodationModel:
properties:
id:
type: string
name:
type: string
locations:
type: string
tags:
type: string
required:
- id
- name
- locations
- tags
type: object
additionalProperties: false
AccommodationResponseModel:
properties:
total:
type: number
format: double
items:
items:
$ref: "#/components/schemas/AccommodationModel"
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 Package Live Search
description: The Partner Live Search API allows partners to access real-time
travel packages, including live pricing and availability, through a set of
RESTful endpoints.
version: v1-beta
paths:
/{market}/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}/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
/{market}/packages/{agent}/accommodations:
get:
operationId: GetAccommodations
responses:
"200":
description: Ok
content:
application/json:
schema:
$ref: "#/components/schemas/AccommodationResponseModel"
description: Get all Accommodations 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+$
servers:
- url: https://prod.api.tui/sales/pip-package/live-search/v1-beta
description: Prod Server
- url: https://pre-prod.api.tui/sales/pip-package/live-search/v1-beta
description: Pre-prod Server