openapi: 3.2.0 info: title: Meta Partner & Flights Packages API description: "The Meta Partner Packages & Flights provides a suite of RESTful endpoints that enable meta partners to search \nfor and retrieve up-to-date information on flights and travel packages.\nIt allows clients to integrate real-time availability and pricing into their applications." version: 1.0.0 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 tags: - name: Packages paths: /{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. 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])$ components: schemas: 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 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 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 - 'null' 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 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 - 'null' campaignName: type: - string - 'null' boardIncluded: type: string required: - priceOriginal - currentPrice - currency - flightClassName - urlToBooking - roomTypeCode - roomTypeName - boardIncluded 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