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))