TUI Group Booking/segments API

The booking/segments API from TUI Group — 7 operation(s) for booking/segments.

Operations 9

DELETE /api/nsk/v1/booking/segments/{segmentKey} Cancels the specific segment from the booking in state. #
DELETE /api/nsk/v1/booking/segments/{segmentKey}/classOfService Restores a segment to the class of service prior to an upgrade or downgrade. #
GET /api/nsk/v1/booking/segments/{segmentKey}/passengers/{passengerKey} Gets a specific passenger segment from the booking in state. #
POST /api/nsk/v1/booking/segments/{segmentKey}/passengers/{passengerKey}/infant Creates an infant on a passenger in the specified segment. #
DELETE /api/nsk/v1/booking/segments/{segmentKey}/passengers/{passengerKey}/infant Deletes an infant from a passenger in the specified segment. #
POST /api/nsk/v1/booking/segments/{segmentKey}/passengers/{passengerKey}/tickets Creates a ticket on a passenger segment on the booking in state. #
PUT /api/nsk/v1/booking/segments/{segmentKey}/passengers/{passengerKey}/tickets Updates a ticket on a passenger segment on the booking in state. #
PUT /api/nsk/v1/booking/segments/classOfService/{classModifyKey} Modifies the class of service for the current booking in state to effect a segment upgrade or downgrade. #
GET /api/nsk/v1/booking/segments/classOfService/availability Gets class of service availability for the booking in state. #

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-segments-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-segments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewSkies-Digital-Api Booking/segments 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/segments
paths:
  /api/nsk/v1/booking/segments/{segmentKey}:
    delete:
      tags:
      - booking/segments
      summary: Cancels the specific segment from the booking in state.
      description: 'Calling this method will alter the existing journeyKey. If you are cancelling the only segment in a journey,

        this method will behave the same as calling DELETE on /api/nsk/v1/booking/journeys/{journeyKey}.

        If there are segments remaining after the delete, the Location response header will be set with

        the location of the modified journey with its new key.

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

        problems.


        GraphQL endpoint: segmentDelete'
      operationId: nsk_v1_booking_segments_segmentKey_delete
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The key of the specific segment to be canceled.
        schema:
          type: string
        x-position: 1
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '403':
          description: Role permissions are not met.
          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/segments/{segmentKey}/classOfService:
    delete:
      tags:
      - booking/segments
      summary: Restores a segment to the class of service prior to an upgrade or downgrade.
      description: 'This does not truly delete the old class of service. Instead, it restores the original class of service before

        an upgrade or downgrade occurred.

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

        problems.


        GraphQL endpoint: classOfServiceResetv2'
      operationId: nsk_v1_booking_segments_segmentKey_classOfService_delete
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The segment key.
        schema:
          type: string
        x-position: 1
      - name: overSell
        in: query
        description: Indicates the intent to restore the class of service even if there are no available AUs.
        schema:
          type:
          - boolean
          - 'null'
        x-position: 2
      responses:
        '200':
          description: OK. Request completed 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/segments/{segmentKey}/passengers/{passengerKey}:
    get:
      tags:
      - booking/segments
      summary: Gets a specific passenger segment from the booking in state.
      description: 'GraphQL endpoint: passengerSegment'
      operationId: nsk_v1_booking_segments_segmentKey_passengers_passengerKey_get
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The segment key.
        schema:
          type: string
        x-position: 1
      - name: passengerKey
        in: path
        required: true
        description: The passenger key.
        schema:
          type: string
        x-position: 2
      responses:
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfPassengerSegment'
  /api/nsk/v1/booking/segments/{segmentKey}/passengers/{passengerKey}/infant:
    post:
      tags:
      - booking/segments
      summary: Creates an infant on a passenger in the specified segment.
      description: 'If the booking in state contains a passive segment, an infant will not be

        created on the passive segment for the passenger.

        If the passenger on the specified segment already has an infant, an exception

        will be thrown.

        If any other segment in the booking already has an infant, the infant details from

        the request will be ignored and the infant details from the existing infant will

        be retained.

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

        problems.


        GraphQL endpoint: passengerInfantSegmentAdd'
      operationId: nsk_v1_booking_segments_segmentKey_passengers_passengerKey_infant_post
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The unique segment key.
        schema:
          type: string
        x-position: 1
      - name: passengerKey
        in: path
        required: true
        description: The unique passenger key.
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: request
        description: The new infant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PassengerInfantCreateRequest'
        required: true
        x-position: 3
      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'
    delete:
      tags:
      - booking/segments
      summary: Deletes an infant from a passenger in the specified segment.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: passengerInfantSegmentDelete'
      operationId: nsk_v1_booking_segments_segmentKey_passengers_passengerKey_infant_delete
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The unique identifier of the segment to remove infants from.
        schema:
          type: string
        x-position: 1
      - name: passengerKey
        in: path
        required: true
        description: The unique passenger key.
        schema:
          type: string
        x-position: 2
      responses:
        '200':
          description: OK. Request completed 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/segments/{segmentKey}/passengers/{passengerKey}/tickets:
    post:
      tags:
      - booking/segments
      summary: Creates a ticket on a passenger segment on the booking in state.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: ticketAdd'
      operationId: nsk_v1_booking_segments_segmentKey_passengers_passengerKey_tickets_post
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The segment key.
        schema:
          type: string
        x-position: 1
      - name: passengerKey
        in: path
        required: true
        description: The passenger key.
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: request
        description: Details to create the ticket.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketRequest'
        required: true
        x-position: 3
      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'
    put:
      tags:
      - booking/segments
      summary: Updates a ticket on a passenger segment on the booking in state.
      description: 'If you attempt to update the passenger number and set the ticket indicator code to ''X'' (TicketRequired)

        you will encounter an error. If you need to update both please do so separately.

        This endpoint cannot be used to remove a ticket number,

        but can be used to update to a different ticket number.

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

        problems.


        GraphQL endpoint: ticketSet'
      operationId: nsk_v1_booking_segments_segmentKey_passengers_passengerKey_tickets_put
      parameters:
      - name: segmentKey
        in: path
        required: true
        description: The segment key.
        schema:
          type: string
        x-position: 1
      - name: passengerKey
        in: path
        required: true
        description: The passenger key.
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: request
        description: Details to update the ticket.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketRequest'
        required: true
        x-position: 3
      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'
  /api/nsk/v1/booking/segments/classOfService/{classModifyKey}:
    put:
      tags:
      - booking/segments
      summary: Modifies the class of service for the current booking in state to effect a segment upgrade or downgrade.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: classOfServiceModify'
      operationId: nsk_v1_booking_segments_classOfService_classModifyKey_put
      parameters:
      - name: classModifyKey
        in: path
        required: true
        description: The class modify key from class of service availability.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
        description: The class modify request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassModifyBaseRequest'
        required: true
        x-position: 2
      responses:
        '200':
          description: OK. Request completed 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/segments/classOfService/availability:
    get:
      tags:
      - booking/segments
      summary: Gets class of service availability for the booking in state.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: classOfServiceAvailabilityv2'
      operationId: nsk_v1_booking_segments_classOfService_availability_get
      parameters:
      - name: isUpgrade
        in: query
        description: "Indicates an upgrade class of service request.\nWhen set to false, indicates a downgrade class of service request.\n            "
        schema:
          type: boolean
        x-position: 1
      - name: collectedCurrencyCode
        in: query
        description: Collected currency code.
        schema:
          type:
          - string
          - 'null'
        x-position: 2
      - name: feePricingMode
        in: query
        description: "Fee pricing mode. \nEnumeration values: 0 = MonetaryOnly, 1 = PointsOnly"
        schema:
          $ref: '#/components/schemas/FeePricingMode'
        x-position: 3
      - name: includeUnavailable
        in: query
        description: Indicates that classes of service with no availability should be returned.
        schema:
          type:
          - boolean
          - 'null'
        x-position: 4
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIListOfClassAvailability'
        '404':
          description: The item was not found.
          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:
    TransportationIdentifier:
      type: object
      description: "Represents the transportation identifier model data.\n            "
      additionalProperties: false
      required:
      - identifier
      - carrierCode
      properties:
        identifier:
          type: string
          description: "The unique transportation identifier.\n            "
          maxLength: 4
          minLength: 0
        carrierCode:
          type: string
          description: "The carrier code.\n            "
          maxLength: 3
          minLength: 2
        opSuffix:
          type:
          - string
          - 'null'
          description: "The op suffix.\nPlease note that this should be a char and not a string.\n            "
          maxLength: 1
    WeightType:
      type: integer
      description: "Weight Type enumeration.\n            \n\n0 = Default\n1 = Pounds\n2 = Kilograms"
      x-enumNames:
      - Default
      - Pounds
      - Kilograms
      enum:
      - 0
      - 1
      - 2
    PassengerInfantCreateRequest:
      type: object
      description: "Model representing infant data that can be set.\n            "
      additionalProperties: false
      properties:
        nationality:
          type:
          - string
          - 'null'
          description: "The nationality of the passenger.\n            "
          maxLength: 2
          minLength: 0
        residentCountry:
          type:
          - string
          - 'null'
          description: "The residentCountry of the passenger.\n            "
          maxLength: 2
          minLength: 0
        dateOfBirth:
          type:
          - string
          - 'null'
          description: "The date of birth of the infant.\n            "
          format: date-time
        gender:
          description: "The gender of the passenger.\n            "
          $ref: '#/components/schemas/Gender'
        name:
          description: "The name of the passenger.\n            "
          $ref: '#/components/schemas/Name'
        declaredGender:
          type:
          - string
          - 'null'
          description: "The infant's declared gender. A value of \"F\" is mapped to a female binary gender. All other values will be\nmapped to a male binary gender.\n            "
          maxLength: 2
          minLength: 0
        travelDocuments:
          type:
          - array
          - 'null'
          description: "Travel Documents.\n            "
          items:
            $ref: '#/components/schemas/PassengerTravelDocument'
    InventoryControlType:
      type: integer
      description: "Defines the different ways inventory is held at the time of sell.\n            \n\n0 = HoldSpace\n1 = SoftHoldSpace\n2 = ClaimSpace\n3 = OversellSpace\n4 = StandBy"
      x-enumNames:
      - HoldSpace
      - SoftHoldSpace
      - ClaimSpace
      - OversellSpace
      - StandBy
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
    SsrDurationType:
      type: integer
      description: "Ssr duration type.\n            \n\n0 = Segment\n1 = Journey\n2 = Leg"
      x-enumNames:
      - Segment
      - Journey
      - Leg
      enum:
      - 0
      - 1
      - 2
    LiftStatus:
      type: integer
      description: "Lift status enumeration.\n            \n\n0 = Default\n1 = CheckedIn\n2 = Boarded\n3 = NoShow"
      x-enumNames:
      - Default
      - CheckedIn
      - Boarded
      - NoShow
      enum:
      - 0
      - 1
      - 2
      - 3
    BaggageStatus:
      type: integer
      description: "Baggage Status enumeration.\n            \n\n0 = Default\n1 = Checked\n2 = Removed\n3 = Added\n4 = AddedPrinted"
      x-enumNames:
      - Default
      - Checked
      - Removed
      - Added
      - AddedPrinted
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
    TicketStatusCode:
      type: integer
      description: "This enumeration defines the ticket availability status.\n            \n\n0 = Unknown\n1 = TicketAvailableForUse\n2 = TicketUnavailableForUse\n3 = TicketReissueRequiredForPassenger\n4 = TicketReissueRequiredForInfant\n5 = TicketReissueRequiredForBoth\n6 = TicketReValidationRequired"
      x-enumNames:
      - Unknown
      - TicketAvailableForUse
      - TicketUnavailableForUse
      - TicketReissueRequiredForPassenger
      - TicketReissueRequiredForInfant
      - TicketReissueRequiredForBoth
      - TicketReValidationRequired
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
    TravelClassSeatPreference:
      type: integer
      description: "Represents a travel class seating preference.\n            \n\n0 = None\n1 = Business\n2 = Economy\n3 = FirstClass"
      x-enumNames:
      - None
      - Business
      - Economy
      - FirstClass
      enum:
      - 0
      - 1
      - 2
      - 3
    PassengerSeat:
      type: object
      description: "Model for a passenger seat for a segment.\n            "
      additionalProperties: false
      properties:
        compartmentDesignator:
          type:
          - string
          - 'null'
          description: "The passenger seat compartment designator.\n            "
          maxLength: 2
          minLength: 0
        penalty:
          type: integer
          description: "The passenger seat penalty.\n            "
          format: int32
          maximum: 2147483647.0
          minimum: 0.0
        unitDesignator:
          type:
          - string
          - 'null'
          description: "The passenger seat unit designator.\n            "
        seatInformation:
          description: "The passenger seat seat information.\n            "
          $ref: '#/components/schemas/SeatInfo'
        arrivalStation:
          type:
          - string
          - 'null'
          description: "The leg arrival station.\n            "
          maxLength: 3
          minLength: 3
        departureStation:
          type:
          - string
          - 'null'
          description: "The leg departure station.\n            "
          maxLength: 3
          minLength: 3
        passengerKey:
          type:
          - string
          - 'null'
          description: "The passenger key associated with the seat.\n            "
        unitKey:
          type:
          - string
          - 'null'
          description: "The seat's unique unit key.\n            "
        crossReferenceSeatingPreference:
          type:
          - string
          - 'null'
          description: "The seating preference for non-hosted flight seating assignments.\nCould be either one of the following values:\nnull = seating preference is not applicable (usual value for hosted flights)\nN = no requested seating preference\nA = aisle\nW = window\nF = front seating location\nR = rear seating location\nAF = front seating location, on aisle\nAR = rear seating location, on aisle\nWF = front seating location, on window\nWR = rear seating location, on window\n            "
        isPending:
          type: boolean
          description: "Determines whether or not the seat is pending request.\n            "
        seatmapReference:
          type:
          - string
          - 'null'
          description: "The reference identifying what seat map the passenger seat is associated to.\n            "
    Ticket:
      type: object
      description: "Model for a ticket applied to a passenger.\n            "
      additionalProperties: false
      properties:
        ticketNumber:
          type:
          - string
          - 'null'
          description: "The ticket number.\n            "
          maxLength: 14
          minLength: 0
        infantTicketNumber:
          type:
          - string
          - 'null'
          description: "The infant ticket number.\n            "
          maxLength: 14
          minLength: 0
        ticketIndicator:
          description: "The ticket indicator.\n            "
          $ref: '#/components/schemas/TicketIndicatorCode'
        ticketStatus:
          description: "The ticket status.\n            "
          $ref: '#/components/schemas/TicketStatusCode'
        passengerKey:
          type:
          - string
          - 'null'
          description: "The passenger key the ticket is associated with.\n            "
    PassengerSsr:
      type: object
      description: "The model for a passengers Ssr details.\n            "
      additionalProperties: false
      properties:
        note:
          type:
          - string
          - 'null'
          description: "The passenger SSR note.\n            "
          maxLength: 128
          minLength: 0
        count:
          type: integer
          description: "The passenger SSR unit value.\n            "
          maximum: 32767.0
          minimum: 1.0
        inBundle:
          type: boolean
          description: "Indicates if the SSR is part of a bundle.\n            "
        ssrDuration:
          description: "The length of the Ssr duration.\n            "
          $ref: '#/components/schemas/SsrDurationType'
        ssrCode:
          type:
          - string
          - 'null'
          description: "The passenger SSR code.\n            "
          maxLength: 4
          minLength: 0
        passengerKey:
          type:
          - string
          - 'null'
          description: "The unique passenger key.\n            "
        ssrNumber:
          type:
          - integer
          - 'null'
          description: "The passenger SSR number.\n            "
          maximum: 32767.0
          minimum: 0.0
        market:
          description: "The market for either the leg or segment depending on the Ssr type.\n            "
          $ref: '#/components/schemas/MarketInformation'
        isConfirmed:
          type: boolean
          description: "A status flag to indicate if the ssr has been confirmed or not.\n            "
        isConfirmingUnheld:
          type: boolean
          description: "A status flag to indicate if the ssr is in a confirming unheld state.\n            "
        ssrKey:
          type:
          - string
          - 'null'
          description: "The key that uniquely identifies the Ssr, passenger, and leg or segment.\n            "
        feeCode:
          type:
          - string
          - 'null'
          description: "The SSR fee code.\n            "
          maxLength: 6
          minLength: 0
        ssrDetail:
          type:
          - string
          - 'null'
          description: "The passenger SSR detail.\n            "
          maxLength: 20
          minLength: 0
    PassengerSegmentBag:
      type: object
      description: "Model information about the baggage a passenger has on a segment.\n            "
      additionalProperties: false
      required:
      - passengerKey
      - arrivalStation
      - departureStation
      properties:
        baggageKey:
          type:
          - string
          - 'null'
          description: "Unique key for the baggage.\n            "
        passengerKey:
          type: string
          description: "The passenger key associated to this bag.\n            "
          minLength: 1
        arrivalStation:
          type: string
          description: "The bag segment arrival station.\n            "
          maxLength: 3
          minLength: 3
        status:
          description: "The bag status.\n            "
          $ref: '#/components/schemas/BaggageStatus'
        departureStation:
          type: string
          description: "The bag segment departure station.\n            "
          maxLength: 3
          minLength: 3
        osTag:
          type:
          - string
          - 'null'
          description: "The bag OS tag.\n            "
          maxLength: 32
          minLength: 0
    IJsonResponseOfPassengerSegment:
      type: object
      description: "Defines the JSON response contract.\n            "
      additionalProperties: false
      properties:
        data:
          description: "The payload data.\n            "
          $ref: '#/components/schemas/PassengerSegment'
        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'
    Exception:
      type: object
      additionalProperties: false
      properties:
        Message:
          type: string
        InnerException:
          $ref: '#/components/schemas/Exception'
        Source:
          type:
          - string
          - 'null'
        StackTrace:
          type:
          - string
          - 'null'
    GssStayType:
      type: integer
      description: "The type of stay type.\n            \n\n0 = None\n1 = Vacation\n2 = Business\n3 = Duty"
      x-enumNames:
      - None
      - Vacation
      - Business
      - Duty
      enum:
      - 0
      - 1
      - 2
      - 3
    SimpleSeatPreference:
      type: integer
      description: "Represents a simple seating preference.\n            \n\n0 = None\n1 = Window\n2 = Aisle\n3 = Other"
      x-enumNames:
      - None
      - Window
      - Aisle
      - Other
      enum:
      - 0
      - 1
      - 2
      - 3
    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
    Gender:
      type: integer
      description: "Defines the different binary gender types.\n            \n\n0 = XX\n1 = Male\n2 = Female"
      x-enumNames:
      - XX
      - Male
      - Female
      enum:
      - 0
      - 1
      - 2
    SeatPreference:
      type: object
      description: "Represents a single seat preference.\n            "
      additionalProperties: false
      required:
      - seatMapCode
      - value
      properties:
        seatMapCode:
          type: string
          description: "The seat map code (ex. 'SMOKING').\n            "
          maxLength: 8
          minLength: 0
        value:
          type: string
          description: "The seat map value (ex. 'TRUE').\n            "
          maxLength: 8
          minLength: 0
        status:
          description: "Defines if the seat preference is met, not met or unknown.\n            "
          $ref: '#/components/schemas/SeatPreferenceStatus'
    PassengerTravelDocument:
      type: object
      description: "Model representing a passenger travel document.\n            "
      additionalProperties: false
      required:
      - documentTypeCode
      properties:
        documentTypeCode:
          type: string
          description: "The unique travel document type code.\n            "
          maxLength: 4
          minLength: 0
        issuedByCode:
          type:
          - string
          - 'null'
          description: "The issuer code for the travel document (country code).\n            "
          maxLength: 3
          minLength: 0
        birthCountry:
          type:
          - string
          - 'null'
          description: "The BirthCountry property.\n            "
        name:
          description: "The Name property.\n            "
          $ref: '#/components/schemas/Name'
        nationality:
          type:
          - string
          - 'null'
          description: "The Nationality property.\n            "
          maxLength: 2
          minLength: 0
        expirationDate:
          type:
          - string
          - 'null'
          description: "The date when this travel document expires.\n            "
          format: date-time
        number:
          type:
          - string
          - 'null'
          description: "The travel document number.\n            "
          maxLength: 35
          minLength: 0
        issuedDate:
          type:
          - string
          - 'null'
          description: "The date this travel document was issued.\n            "
          format: date-time
        gender:
          description: "The travel document holder's gender.\n            "
          $ref: '#/components/schemas/Gender'
        dateOfBirth:
          type:
          - string
          - 'null'
          description: "The person's date of birth.\n            "
          format: date-time
        declaredGender:
          type:
          - string
          - 'null'
          description: "The travel document holder's declared gender.\nThis will override the gender field on passenger or person POST, PUT, and PATCH requests.\nNote: Any value other than \"F\" will cause gender to be updated to Male by default to support compatibility with\nother systems.\nAdditionally you cannot change the declared gender and gender fields at the same time as declared gender\nwill override any gender field value regardless of the value passed in.\n            "
          maxLength: 2
          minLength: 0
        placeOfBirth:
          type:
          - string
          - 'null'
          description: "Represents the place of birth. Only used on the following document type groups: TravelVisa (9), RedressNumber (20),\nand KnownTravelerId (21).\nOnly allows alpha characters, please do not use spaces, numbers, or special characters.\nNote: If unsure which travel document types fall into these groups please use `/api/nsk/v1/resources/DocumentTypes`\nor `/api/nsk/v1/resources/DocumentTypes/{documentTypeCode}`\n            "
          maxLength: 35
          minLength: 0
          pattern: ^[A-Za

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tui-group/refs/heads/main/openapi/tui-group-booking-segments-api-openapi.yml