TUI Group Booking/addons API

The booking/addons API from TUI Group — 3 operation(s) for booking/addons.

Operations 4

GET /api/nsk/v1/booking/addons/{addOnKey}/payments Gets a specific add-on's allowed payment methods. #
POST /api/nsk/v1/booking/addons/{addOnKey}/payments Adds a payment to a specific add-on on the booking. #
GET /api/nsk/v1/booking/addons/payments Gets all the available add-ons allowed payment methods for all the add-ons on the booking in state. #
PUT /api/nsk/v1/booking/addons/sync Syncs the prices of the Travel Commerce addons. #

Documentation

📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/get-started
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/simple-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/advanced-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/creditcard-payments
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/backwards-compatibility
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/get-started
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/check-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/backwards-compatibility
📖
Documentation
https://developer.tui/api-catalog/newskies-payment-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-payment-api/booking-flow
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/description
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/api-details
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/code-examples
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/api-onepager
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/description
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/data-format
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/api-description
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/api-details
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/tui-flight-ota-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/technical-details
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-description
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-details
📖
Documentation
https://developer.tui/api-catalog/walldy-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-onepager
📖
Documentation
https://developer.tui/api-catalog/walldy-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/api-description
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/meta-search-generic-api/api-description
📖
Documentation
https://developer.tui/api-catalog/partner-content-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ship-content-api/api-description

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tui-group-booking-addons-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tui-group-booking-addons-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewSkies-Digital-Api Booking/addons API
  version: 4.8.6.23
  description: Navitaire Digital Api
servers:
- url: https://prod.api.tui/flight/newskies/rest
  description: TUI Prod
- url: https://playground.api.tui/flight/newskies/rest
  description: TUI Playground
security:
- JWT: []
tags:
- name: booking/addons
paths:
  /api/nsk/v1/booking/addons/{addOnKey}/payments:
    get:
      tags:
      - booking/addons
      summary: Gets a specific add-on's allowed payment methods.
      description: 'If the add on''s payment required flag is set to true, this endpoint

        will return the allowed payment options for the add on.  If set to

        false, null will be returned.


        GraphQL endpoint: addOnPaymentAllowed'
      operationId: nsk_v1_booking_addons_addOnKey_payments_get
      parameters:
      - name: addOnKey
        in: path
        required: true
        description: The unique add on key.
        schema:
          type: string
        x-position: 1
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfAddOnAllowedPayments'
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
    post:
      tags:
      - booking/addons
      summary: Adds a payment to a specific add-on on the booking.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: addOnPaymentAdd'
      operationId: nsk_v1_booking_addons_addOnKey_payments_post
      parameters:
      - name: addOnKey
        in: path
        required: true
        description: The unique add on key.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
        description: The order payment to be added.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderPaymentBase'
        required: true
        x-position: 2
      responses:
        '201':
          description: The item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '409':
          description: Concurrent changes were being made in the same session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/booking/addons/payments:
    get:
      tags:
      - booking/addons
      summary: Gets all the available add-ons allowed payment methods for all the add-ons on the booking in state.
      description: 'GraphQL endpoint: addOnPayment'
      operationId: nsk_v1_booking_addons_payments_get
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIDictionaryOfStringAndAddOnAllowedPayments'
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/booking/addons/sync:
    put:
      tags:
      - booking/addons
      summary: Syncs the prices of the Travel Commerce addons.
      description: 'This endpoint should be called prior to displaying the total booking cost and collecting

        payment for Travel Commerce items. It will trigger New Skies to query Travel Commerce for

        the items in the cart.

        IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.


        GraphQL endpoint: addOnSyncPriceSet'
      operationId: nsk_v1_booking_addons_sync_put
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '500':
          description: A server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '409':
          description: Concurrent changes were being made in the same session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
components:
  schemas:
    ComponentPaymentType:
      type: object
      description: "Defines a component allowed payment type.\n            "
      additionalProperties: false
      properties:
        type:
          type:
          - string
          - 'null'
          description: "The payment method type code.\n            "
        description:
          type:
          - string
          - 'null'
          description: "The payment description.\n            "
        modType:
          description: "The modulus check to perform.\n            "
          $ref: '#/components/schemas/PaymentModType'
        expiration:
          description: "The field usage for expiration date.\n            "
          $ref: '#/components/schemas/FieldUsage'
        cvv:
          description: "The field usage for CVV.\n            "
          $ref: '#/components/schemas/FieldUsage'
        name:
          description: "The field usage for card holder name.\n            "
          $ref: '#/components/schemas/FieldUsage'
        issueNumber:
          description: "The field usage for issue number.\n            "
          $ref: '#/components/schemas/FieldUsage'
    Exception:
      type: object
      additionalProperties: false
      properties:
        Message:
          type: string
        InnerException:
          $ref: '#/components/schemas/Exception'
        Source:
          type:
          - string
          - 'null'
        StackTrace:
          type:
          - string
          - 'null'
    IJsonResponseOfIDictionaryOfStringAndAddOnAllowedPayments:
      type: object
      description: "Defines the JSON response contract.\n            "
      additionalProperties: false
      properties:
        data:
          type:
          - object
          - 'null'
          description: "The payload data.\n            "
          additionalProperties:
            $ref: '#/components/schemas/AddOnAllowedPayments'
        errors:
          type:
          - array
          - 'null'
          description: "The collection of errors being thrown.\n            "
          items:
            $ref: '#/components/schemas/ErrorResponse'
        messages:
          type:
          - array
          - 'null'
          description: "The collection of informational messages.\n            "
          items:
            $ref: '#/components/schemas/Message'
    OrderPaymentBase:
      type: object
      description: "Defines the order payment base details.\n            "
      additionalProperties: false
      required:
      - type
      properties:
        type:
          type: string
          description: "The payment type.\n            "
          minLength: 1
        name:
          description: "The name on the payment.\n            "
          $ref: '#/components/schemas/Name'
        number:
          type:
          - string
          - 'null'
          description: "The number on the payment.\n            "
        expiration:
          type:
          - string
          - 'null'
          description: "The expiration date.\n            "
          format: date-time
        cvv:
          type:
          - string
          - 'null'
          description: "The CVV on the payment.\n            "
        amount:
          type: number
          description: "The applied payment amount.\n            "
          format: decimal
        description:
          type:
          - string
          - 'null'
          description: "The payment description.\n            "
        issueNumber:
          type:
          - string
          - 'null'
          description: "The payment issue number.\n            "
        address:
          description: "The payments address.\n            "
          $ref: '#/components/schemas/Address'
        emailAddress:
          type:
          - string
          - 'null'
          description: "The provided email address.\n            "
          format: email
        phoneNumbers:
          type:
          - array
          - 'null'
          description: "The collection of phone numbers.\n            "
          items:
            $ref: '#/components/schemas/PhoneNumber'
    Address:
      type: object
      description: "Defines a common address.\n            "
      additionalProperties: false
      properties:
        lineOne:
          type:
          - string
          - 'null'
          description: "The address line one.\n            "
          maxLength: 128
          minLength: 0
        lineTwo:
          type:
          - string
          - 'null'
          description: "The address line two.\n            "
          maxLength: 128
          minLength: 0
        lineThree:
          type:
          - string
          - 'null'
          description: "The address line 3.\n            "
          maxLength: 128
          minLength: 0
        countryCode:
          type:
          - string
          - 'null'
          description: "The country code.\n            "
          maxLength: 2
          minLength: 0
        provinceState:
          type:
          - string
          - 'null'
          description: "The province state.\n            "
          maxLength: 3
          minLength: 0
        city:
          type:
          - string
          - 'null'
          description: "The city.\n            "
          maxLength: 32
          minLength: 0
        postalCode:
          type:
          - string
          - 'null'
          description: "The postal code.\n            "
          maxLength: 10
          minLength: 0
    MessageStatus:
      type: integer
      description: "Defines the message status.\n            \n\n0 = General\n1 = Warning\n2 = Critical"
      x-enumNames:
      - General
      - Warning
      - Critical
      enum:
      - 0
      - 1
      - 2
    Name:
      type: object
      description: "Defines a common name.\n            "
      additionalProperties: false
      properties:
        first:
          type:
          - string
          - 'null'
          description: "The given first name.\n            "
          maxLength: 32
          minLength: 0
        middle:
          type:
          - string
          - 'null'
          description: "The given middle name.\n            "
          maxLength: 32
          minLength: 0
        last:
          type:
          - string
          - 'null'
          description: "The given last name.\n            "
          maxLength: 32
          minLength: 0
        title:
          type:
          - string
          - 'null'
          description: "The title.\n            "
          maxLength: 6
          minLength: 0
        suffix:
          type:
          - string
          - 'null'
          description: "The suffix.\n            "
          maxLength: 6
          minLength: 0
    IJsonResponse:
      type: object
      description: "Defines the JSON response contract for a not content type response.\n            "
      additionalProperties: false
      properties:
        data:
          description: "The payload data, this will always be null for errors responses and no content responses.\n            "
        errors:
          type:
          - array
          - 'null'
          description: "The collection of errors being thrown.\n            "
          items:
            $ref: '#/components/schemas/ErrorResponse'
        messages:
          type:
          - array
          - 'null'
          description: "The collection of informational messages.\n            "
          items:
            $ref: '#/components/schemas/Message'
    IJsonResponseOfAddOnAllowedPayments:
      type: object
      description: "Defines the JSON response contract.\n            "
      additionalProperties: false
      properties:
        data:
          description: "The payload data.\n            "
          $ref: '#/components/schemas/AddOnAllowedPayments'
        errors:
          type:
          - array
          - 'null'
          description: "The collection of errors being thrown.\n            "
          items:
            $ref: '#/components/schemas/ErrorResponse'
        messages:
          type:
          - array
          - 'null'
          description: "The collection of informational messages.\n            "
          items:
            $ref: '#/components/schemas/Message'
    PhoneNumber:
      type: object
      description: "Defines a common phone number.\n            "
      additionalProperties: false
      required:
      - number
      - type
      properties:
        number:
          type: string
          description: "The phone number without any formatting characters.\n            "
          maxLength: 20
          minLength: 0
        type:
          description: "The phone number type.\n            "
          $ref: '#/components/schemas/PhoneNumberType'
    PhoneNumberType:
      type: integer
      description: "Defines the types of phone numbers. Note: New Skies does not support Mobile for booking contacts.\n            \n\n0 = Other\n1 = Home\n2 = Work\n3 = Mobile\n4 = Fax"
      x-enumNames:
      - Other
      - Home
      - Work
      - Mobile
      - Fax
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
    FieldUsage:
      type: integer
      description: "Defines the field usage.\n            \n\n0 = Prompt\n1 = DoNotPrompt\n2 = Required"
      x-enumNames:
      - Prompt
      - DoNotPrompt
      - Required
      enum:
      - 0
      - 1
      - 2
    ErrorResponse:
      type: object
      description: "Defines a unique error response.\n            "
      additionalProperties: false
      properties:
        exception:
          description: "The original exception that was thrown and all the exception details.\n            "
          $ref: '#/components/schemas/Exception'
        rawMessage:
          type:
          - string
          - 'null'
          description: "The original raw message set (non-localized).\n            "
        code:
          type:
          - string
          - 'null'
          description: "The unique error code. The primary value used to match against a unique message localized for the end user in the\nchosen language.\n            "
        message:
          type:
          - string
          - 'null'
          description: "The error message. Deprecated: Please use the Code instead.\n            "
        type:
          type:
          - string
          - 'null'
          description: "The error type showing severity. Values: Critical, Error, Validation, Information.\n            "
        number:
          type:
          - integer
          - 'null'
          description: "A unique identifier in numeric form. This is required for Splunk logging. If none is provided a number will be\ngenerated based on code and type.\n            "
          format: int32
          maximum: 99999.0
          minimum: 0.0
        details:
          type:
          - object
          - 'null'
          description: "Dynamic detailed information about the error.\n            "
          additionalProperties:
            type: string
        ActivityId:
          type:
          - string
          - 'null'
          description: "The activity ID unique to the request. Useful for debugging purposes to uniquely look up what happened for this\nspecific request.\n            "
    AddOnAllowedPayments:
      type: object
      description: "Defines a components allowed payment types.\n            "
      additionalProperties: false
      properties:
        componentKey:
          type:
          - string
          - 'null'
          description: "The unique component key.\n            "
        payments:
          type:
          - array
          - 'null'
          description: "The collection of allowed payment types.\n            "
          items:
            $ref: '#/components/schemas/ComponentPaymentType'
    Message:
      type: object
      description: "Defines a unique informational message.\n            "
      additionalProperties: false
      properties:
        code:
          type:
          - string
          - 'null'
          description: "The unique message code.\n            "
        type:
          type:
          - string
          - 'null'
          description: "The message type.\n            "
        value:
          type:
          - string
          - 'null'
          description: "The message's value.\n            "
        status:
          description: "The message's status.\n            "
          $ref: '#/components/schemas/MessageStatus'
        details:
          type:
          - object
          - 'null'
          description: "Dynamic detailed information about the message.\n            "
          additionalProperties:
            type: string
    PaymentModType:
      type: integer
      description: "Defines the different payment modulus types.\n            \n\n0 = None\n10 = Mod10\n11 = Mod11"
      x-enumNames:
      - None
      - Mod10
      - Mod11
      enum:
      - 0
      - 10
      - 11
  securitySchemes:
    JWT:
      type: http
      description: Paste your JWT token from the token endpoint.
      scheme: bearer
      bearerFormat: jwt
x-generator: NSwag v14.6.3.0 (NJsonSchema v11.5.2.0 (Newtonsoft.Json v13.0.0.0))