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