openapi: 3.2.0 info: title: Tui Group Live Search Packages (Beta) API version: '1.0' description: 'Operations tagged Live Search Packages (Beta) across 2 of this provider''s published API definitions: tui-group-tui-meta-partner-package-live-search-openapi.yml, tui-group-tui-meta-partner-packages-flights-openapi.yml. Each path carries the servers of the definition it was published in.' 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 - 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: Live Search Packages (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+$ 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 /{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. Example - tui' in: path name: agent required: true schema: type: string pattern: ^\w+$ - 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: 'Number of Adults in the request. 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=). For 2 children with age 5 and 7, the value should be 5,7. 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. Multiple destinations can be sent in the request separated by comma. 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. Date must be compatible with ISO 8601. 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. 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/live-search/v1-beta description: Prod Server - url: https://pre-prod.api.tui/sales/pip-package/live-search/v1-beta description: Pre-prod Server /{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 /{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+$ 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 /{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. Example - tui' in: path name: agent required: true schema: type: string pattern: ^\w+$ - 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: 'Number of Adults in the request. 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=). For 2 children with age 5 and 7, the value should be 5,7. 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. Multiple destinations can be sent in the request separated by comma. 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. Date must be compatible with ISO 8601. 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. 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 components: schemas: 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 AccommodationResponseModel: properties: total: type: number format: double items: items: $ref: '#/components/schemas/AccommodationModel' 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 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 AccommodationModel: properties: id: type: string name: type: string locations: type: string tags: type: string required: - id - name - locations - tags 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 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 LocationModel: properties: id: type: string name: type: string required: - id - name type: object additionalProperties: false 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 ApiFlightLeg_2: 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_2: 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_2: 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_2' priority: type: number format: double flightClimateCompensated: type: boolean charterFlight: type: boolean outboundTravelTime: type: string outboundFlightLegs: items: $ref: '#/components/schemas/ApiFlightLeg_2' type: array homeboundTravelTime: type: string homeboundFlightLegs: items: $ref: '#/components/schemas/ApiFlightLeg_2' type: array prices: items: $ref: '#/components/schemas/ApiPrice_2' type: array required: - departureCode - departureDate - departureTime - returnDate - duration - destinationCode - adults - youths - children - infants - accommodation - priority - flightClimateCompensated - charterFlight - outboundFlightLegs - homeboundFlightLegs - prices type: object additionalProperties: false ApiPrice_2: 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 x-refined-from: - tui-group-tui-meta-partner-package-live-search-openapi.yml - tui-group-tui-meta-partner-packages-flights-openapi.yml x-header: 'This API returns the price and availability for TUI''s packages specifically for OTA''s according to the G7 standard. ' x-summary: "This API returns the price and availability for TUI's packages specifically for OTA's according to the G7 standard.\nThe Travelmessage API returns information on all the available tui.nl packages, along with other relevant details such as price, extras, etc. for this specified package. \nThis API also allows to start a bookingdialogue for these packages.\n"