Kuehne+Nagel Booking API

The booking API from Kuehne+Nagel — 2 operation(s) for booking.

Operations 4

PUT /bookings Update an air booking
POST /bookings Create air booking
DELETE /bookings Delete air booking
PUT /bookings/{shippersReference} Update an existing booking #

Documentation

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/kuehne-nagel-booking-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

kuehne-nagel-booking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kuehne Nagel Booking API
  x-refined-note:
  - x-api-guideline-version differs across the merged source definitions and was not carried
  - x-api-id differs across the merged source definitions and was not carried
  - x-api-version differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged booking across 2 of this provider''s published API definitions: kuehne-nagel-booking-air-v2-openapi.json, kuehne-nagel-order-booking-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://gateway.api.kuehne-nagel.com/booking/air/v2
- url: https://internal.api.kuehne-nagel.com/order-management/order-booking/v1
security:
- default: []
tags:
- name: booking
paths:
  /bookings:
    put:
      tags:
      - booking
      summary: Update an air booking
      description: Update air booking
      parameters:
      - $ref: '#/components/parameters/trackingNumberParam'
      - $ref: '#/components/parameters/uniqueReferenceParam'
      requestBody:
        description: The request containing booking details for a new booking to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Booking'
            examples:
              requestExample1:
                $ref: '#/components/examples/BookingRequestExampleDD'
              requestExample2:
                $ref: '#/components/examples/BookingRequestExampleAA'
              requestExample3:
                $ref: '#/components/examples/BookingRequestExampleAAWithPriceReference'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        default:
          description: Default error sample response
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                errorExample1:
                  $ref: '#/components/examples/Error400Example1'
                errorExample2:
                  $ref: '#/components/examples/Error400Example2'
                errorExample3:
                  $ref: '#/components/examples/Error401Example'
                errorExample4:
                  $ref: '#/components/examples/Error500Example'
                errorExample5:
                  $ref: '#/components/examples/Error503Example'
      security:
      - default: []
      x-codegen-request-body-name: body
      x-auth-type: Application & Application User
      x-throttling-tier: 10KPerMin
    post:
      tags:
      - booking
      summary: Create air booking
      description: Create air booking
      requestBody:
        description: The request containing booking details for a new booking to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Booking'
            examples:
              requestExample1:
                $ref: '#/components/examples/BookingRequestExampleDD'
              requestExample2:
                $ref: '#/components/examples/BookingRequestExampleAA'
              requestExample3:
                $ref: '#/components/examples/BookingRequestExampleAAWithPriceReference'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        default:
          description: Default error sample response
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                errorExample1:
                  $ref: '#/components/examples/Error400Example1'
                errorExample2:
                  $ref: '#/components/examples/Error400Example2'
                errorExample3:
                  $ref: '#/components/examples/Error401Example'
                errorExample4:
                  $ref: '#/components/examples/Error500Example'
                errorExample5:
                  $ref: '#/components/examples/Error503Example'
      security:
      - default: []
      x-codegen-request-body-name: body
      x-auth-type: Application & Application User
      x-throttling-tier: 10KPerMin
    delete:
      tags:
      - booking
      summary: Delete air booking
      description: Delete air booking
      parameters:
      - $ref: '#/components/parameters/trackingNumberParam'
      - $ref: '#/components/parameters/uniqueReferenceParam'
      responses:
        '204':
          description: No Content
        default:
          description: Default error sample response
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                errorExample1:
                  $ref: '#/components/examples/Error401Example'
                errorExample2:
                  $ref: '#/components/examples/Error404Example'
                errorExample3:
                  $ref: '#/components/examples/Error500Example'
                errorExample4:
                  $ref: '#/components/examples/Error503Example'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: 10KPerMin
    servers:
    - url: https://gateway.api.kuehne-nagel.com/booking/air/v2
  /bookings/{shippersReference}:
    put:
      tags:
      - booking
      summary: Update an existing booking
      description: 'After finding the existing booking by its `shippersReference` the

        authenticated API Client updates the booking. The eSOP configuration

        defines the permission for the business party''s role to update a booking.

        '
      operationId: updateBooking
      parameters:
      - $ref: '#/components/parameters/ShippersReferenceParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Booking_2'
        required: true
      responses:
        '202':
          description: Update of booking successfully ordered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingAccepted'
        default:
          $ref: '#/components/responses/default'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: 10KPerMin
    servers:
    - url: https://internal.api.kuehne-nagel.com/order-management/order-booking/v1
components:
  schemas:
    BookingError:
      required:
      - detail
      - title
      type: object
      properties:
        type:
          type: string
          description: A URI-style unique identifier of the problem
          format: uri-reference
          example: /problem/connection-error
        title:
          maxLength: 32
          type: string
          description: Summary of the problem type
          example: Service Unavailable
        status:
          minimum: 100
          type: integer
          description: The HTTP status code of the problem
          format: int32
          example: 503
          exclusiveMaximum: 600
        detail:
          maxLength: 256
          type: string
          description: Detailed information of the problem
          example: Connection to database timed out
        instance:
          type: string
          description: URI reference that describes the specific occurrence of the problem
          format: uri-reference
          example: /problem/connection-error#token-info-read-timed-out
    DangerousGoodsDetail:
      required:
      - properShippingName
      - quantityUoM
      - unNumber
      type: object
      properties:
        properShippingName:
          maxLength: 512
          type: string
          description: Proper shipping name
          example: SAFETY DEVICES
        quantityUoM:
          maxLength: 2
          type: string
          description: Unit of measurement of specified quantity
          example: KG
          x-extensible-enum:
          - KG
          - L
        dgClass:
          maxLength: 4
          type: string
          description: DG class
          example: 1.4D
        extensionForMixtureOrSolution:
          maxLength: 256
          type: string
          description: Extension for mixture or solution
          example: PETROLEUM CRUDE OIL
        importantDgText:
          maxLength: 512
          type: string
          description: Important DG text
          example: Wooden boxes
        isEmpty:
          type: boolean
          description: Denotes if is empty
          example: false
          default: false
        isExceptedQuantity:
          type: boolean
          description: Denotes if is excepted quantity
          example: false
          default: false
        isHot:
          type: boolean
          description: Denotes if the good is hot
          example: false
          default: false
        isLimitedQuantity:
          type: boolean
          description: Denotes if the quantity is limited
          example: false
          default: false
        isSalvagePackaging:
          type: boolean
          description: Denotes if salvage packaging
          example: false
          default: false
        isWaste:
          type: boolean
          description: Denotes if the good is waste
          example: false
          default: false
        isLithiumBattery:
          type: boolean
          description: Denotes if this is a lithium battery according to Section II of the IATA Regulation, for which special regulations exist.
          example: false
          default: false
        isId8000:
          type: boolean
          description: Denotes if this is a consumer commodity.
          example: false
          default: false
        isDryIceWithoutDg:
          type: boolean
          description: Indicates if this is dry ice, for which no dangerous goods details exist.
          example: false
          default: false
        netExplosiveQuantityInKg:
          type: number
          description: Net explosive quantity in KG
          format: double
          example: 42.5
        packingGroup:
          maxLength: 1
          type: string
          description: Packing group
          example: '1'
          x-extensible-enum:
          - '1'
          - '2'
          - '3'
        packingInstruction:
          maxLength: 10
          type: string
          description: Packing instruction
          example: '967'
        quantityPerPackage:
          type: number
          description: Quantity per package
          format: double
          example: 42
        subsidiaryRisks:
          maxItems: 4
          minItems: 0
          type: array
          description: Subsidiary risks. Max 4 strings, max 4 chars long
          example:
          - 1.4D
          items:
            maxLength: 4
            type: string
        unNumber:
          maxLength: 4
          type: string
          description: Four-digit number assigned by the United Nations Committee of Experts on the Transport of Dangerous Goods to identify a substance or a particular group of substances
          example: '0001'
        radioactiveDetails:
          $ref: '#/components/schemas/RadioactiveDetails'
    Cargo:
      required:
      - description
      - isDangerousGoods
      - weightInKilogram
      type: object
      properties:
        description:
          maxLength: 256
          type: string
          description: Description of cargo
          example: A lot of chairs
        numberOfPieces:
          type: integer
          description: Number of pieces
          format: int32
          example: 42
        shippersLoadAndCount:
          type: integer
          description: Shippers load and count
          format: int32
          example: 42
        dimensions:
          minItems: 1
          type: array
          description: Dimensions of transported goods
          items:
            $ref: '#/components/schemas/Dimensions'
        hsCodes:
          minItems: 0
          type: array
          description: Collection of HSCodes
          items:
            $ref: '#/components/schemas/HSCode'
        generalHandlingText:
          maxLength: 1000
          minLength: 1
          type: string
          description: General handling text
          example: This is a general handling text example
        weightInKilogram:
          type: number
          description: Weight of cargo in kilograms
          format: double
          example: 42.5
        volumeInCubicMeter:
          type: number
          description: Volume of cargo in cubic meters
          format: double
          example: 42.5
        isDangerousGoods:
          type: boolean
          description: Identifies whether the booking is applicable for dangerous goods
          example: false
        dangerousGoodsPositions:
          minItems: 0
          type: array
          description: Collection of Dangerous goods positions
          items:
            $ref: '#/components/schemas/DangerousGoodsPosition'
    Booking:
      required:
      - cargo
      - customsClearanceByKn
      - destination
      - incoterm
      - origin
      type: object
      properties:
        uniqueReference:
          maxLength: 35
          minLength: 1
          type: string
          description: The unique reference to identify the shipment
          example: ABCD12345678
        priceReference:
          type: string
          description: Unique price reference number of a previously provided pricing
          format: uuid
          example: 4396495d-3329-476b-8693-99869f715ba1
        houseAirWaybillNumber:
          maxLength: 35
          minLength: 1
          type: string
          description: HAWB Number of the shipment
          example: 123-12345675
        customerRequiredAirWaybillText:
          maxLength: 500
          minLength: 1
          type: string
          description: Customer required AWB Text
          example: This is a Customer required AWB Text example
        origin:
          $ref: '#/components/schemas/Origin'
        destination:
          $ref: '#/components/schemas/Destination'
        cargo:
          $ref: '#/components/schemas/Cargo'
        commercialInvoiceAmount:
          $ref: '#/components/schemas/Amount'
        notifyAddress:
          $ref: '#/components/schemas/Address'
        notifyContact:
          $ref: '#/components/schemas/Contact'
        isLetterOfCredit:
          type: boolean
          description: Denotes usage of letter of credit
          example: false
          default: false
        letterOfCreditLatestDepartureDate:
          type: string
          description: Latest departure date of letter of credit
          format: date-time
          example: '2024-05-02T07:55:53.356Z'
        letterOfCreditExpiryDate:
          type: string
          description: Expiry date of letter of credit
          format: date-time
          example: '2024-05-04T07:55:53.356Z'
        letterOfCreditNumber:
          maxLength: 35
          type: string
          description: Letter of credit number
          example: 20200101ABCDE
        incoterm:
          maxLength: 3
          type: string
          description: Defines the commercial terms for the transaction. The validation depends on the routing.
          example: EXW
          x-extensible-enum:
          - EXW
          - FCA
          - FOB
          - CIF
          - CFR
          - CPT
          - CIP
          - DAT
          - DDU
          - DDP
          - DAP
        incotermPlace:
          maxLength: 35
          minLength: 1
          type: string
          description: IncoTerm place
          example: Hamburg
        freightPayerAddress:
          $ref: '#/components/schemas/Address'
        exportQuotationNumber:
          maxLength: 64
          type: string
          description: The number of the quotation that has been requested by KN Freight Net
          example: '123654789'
        customerSpecificAgreementName:
          maxLength: 35
          minLength: 1
          type: string
          description: Customer Specific Agreement Name
          example: PX-TA
        customerReferences:
          minItems: 0
          type: array
          description: Collection of customer references
          items:
            $ref: '#/components/schemas/Reference'
        insuranceAmount:
          $ref: '#/components/schemas/Amount'
        customsClearanceByKn:
          type: boolean
          description: Denotes if customs clearance should be arranged by KN
          example: false
        includesDefenceCommodity:
          type: boolean
          description: Indicates if the shipment contains defence commodities
          example: false
        isImportBooking:
          type: boolean
          description: Denotes if requested import booking.
          example: false
        knOfficeCode:
          maxLength: 9
          type: string
          description: Logical address or Company.code+Branch.code
          example: HKKNHKHKG
        product:
          maxLength: 35
          minLength: 1
          type: string
          description: KN product
          example: GEN-PX
        serviceType:
          maxLength: 8
          type: string
          description: Service type of the shipment
          example: HAWB
          x-extensible-enum:
          - HAWB
          - IATA
          - COURIER
          - SEAAIR
          - AIRSEA
          - MISC
        tradeControlDetails:
          $ref: '#/components/schemas/TradeControlDetails'
    ErrorResponse:
      allOf:
      - $ref: '#/components/schemas/BookingError'
      - type: object
        properties:
          errors:
            minItems: 0
            type: array
            items:
              $ref: '#/components/schemas/BookingError'
    DangerousGoodsPosition:
      required:
      - numberOfPackages
      - packageType
      type: object
      properties:
        numberOfPackages:
          type: number
          description: Number of packages
          format: double
          example: 42
        packageType:
          maxLength: 3
          type: string
          description: Package type
          example: PCS
        overpackNumber:
          maxLength: 64
          type: string
          description: Overpack Number
          example: '#A01'
        limitedQuantityGrossWeightInKg:
          type: number
          description: Limited Quatity Gross Weight in KG.
          format: double
          example: 3.2
        dangerousGoodsDetails:
          minItems: 0
          type: array
          description: List of dangerous goods details
          items:
            $ref: '#/components/schemas/DangerousGoodsDetail'
    Address:
      required:
      - city
      - countryCode
      - name
      type: object
      properties:
        name:
          maxLength: 35
          minLength: 1
          type: string
          description: Name of the customer
          example: Dummy customer Inc.
        name2:
          maxLength: 35
          minLength: 1
          type: string
          description: Name of the customer - 2nd part
          example: Further name of Dummy customer Inc
        street:
          maxLength: 35
          minLength: 1
          type: string
          description: Street name
          example: Dummy street name
        street2:
          maxLength: 35
          minLength: 1
          type: string
          description: Street name - 2nd part
          example: Other part of street name
        city:
          maxLength: 35
          minLength: 1
          type: string
          description: City name
          example: London
        countryCode:
          type: string
          description: Country code
          format: iso-3166
          example: GB
        stateCode:
          maxLength: 3
          minLength: 1
          type: string
          description: State code
          example: LXE
        poBox:
          maxLength: 10
          minLength: 1
          type: string
          description: PO Box
          example: '52011'
        postalCode:
          maxLength: 35
          minLength: 1
          type: string
          description: Postal code
          example: 5201AX
        customerReferences:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/Reference'
    HSCode:
      required:
      - code
      type: object
      properties:
        code:
          maxLength: 18
          minLength: 1
          type: string
          description: Single HS code
          example: '870899'
        notes:
          maxLength: 512
          minLength: 1
          type: string
          description: Detailed description of the HS Code
          example: Civil aircraft parts
    Origin:
      required:
      - exportAvailabilityTime
      - sellerAddress
      type: object
      properties:
        sellerAddress:
          $ref: '#/components/schemas/Address'
        airWaybillShipperAddress:
          $ref: '#/components/schemas/Address'
        pickupContact:
          $ref: '#/components/schemas/Contact'
        pickupAddress:
          $ref: '#/components/schemas/Address'
        pickupByKn:
          type: boolean
          description: Denotes if pickup should be arranged by KN
          example: false
        pickupHandlingText:
          maxLength: 1000
          minLength: 1
          type: string
          description: Pickup handling text
          example: Example pickup handling text
        exportAvailabilityTime:
          type: string
          description: Export availability time
          format: date-time
          example: '2024-05-02T07:55:53.356Z'
        airportCode:
          pattern: ^[A-Z]{3}$
          type: string
          description: The IATA airport code
          example: FRA
    Contact:
      required:
      - lastName
      type: object
      properties:
        email:
          maxLength: 256
          minLength: 1
          type: string
          description: E-mail address
          format: email
          example: donotreply@kuehne-nagel.com
        firstName:
          maxLength: 35
          minLength: 1
          type: string
          description: First name
          example: John
        lastName:
          maxLength: 35
          minLength: 1
          type: string
          description: Last name
          example: Smith
        phone:
          maxLength: 256
          minLength: 1
          type: string
          description: Contact phone number
          example: '123456789'
    TradeControlDetails:
      required:
      - exportControl
      - exportCustomsClearance
      - importControl
      - importCustomsClearance
      - military
      - sanctions
      - transitControl
      type: object
      properties:
        sanctions:
          type: boolean
          description: Indicates whether the shipment is subject to sanctions or embargoes
          example: true
        exportControl:
          type: boolean
          description: Indicates whether the shipment is subject to export control
          example: true
        importControl:
          type: boolean
          description: Indicates whether the shipment is subject to import control
          example: true
        transitControl:
          type: boolean
          description: Indicates whether the shipment is subject to transit control
          example: true
        military:
          type: boolean
          description: Indicates whether the shipment is related to defense or the military
          example: true
        exportCustomsClearance:
          type: boolean
          description: Indicates whether the shipment is subject to export customs clearance
          example: true
        exportCustomsClearanceDocuments:
          maxLength: 500
          type: string
          description: Indicates which documents will be provided with HS Code, Country of Origin, Country of Ultimate Destination, and Value of Goods for export customs clearance
          example: Commercial Invoice
        importCustomsClearance:
          type: boolean
          description: Indicates whether the shipment is subject to import customs clearance
          example: true
        importCustomsClearanceDocuments:
          maxLength: 500
          type: string
          description: Indicates which documents will be provided with HS Code, Country of Origin, Country of Ultimate Destination, and Value of Goods for import customs clearance
          example: Commercial Invoice
      description: To indicate if the shipment contains defence commodities the new includesDefenceCommodity field should be used.
      deprecated: true
    Amount:
      required:
      - amount
      - currency
      type: object
      properties:
        amount:
          type: number
          description: Value of the price
          format: double
          example: 10.5
        currency:
          type: string
          description: The ISO 4217 standard three-letter code of a currency.
          format: iso-4217
          example: EUR
    Reference:
      required:
      - code
      - value
      type: object
      properties:
        code:
          maxLength: 3
          minLength: 1
          type: string
          description: Reference code
          example: INN
        value:
          maxLength: 35
          minLength: 1
          type: string
          description: Reference value
          example: ABCD1234567890
    Dimensions:
      required:
      - heightInCentimeter
      - lengthInCentimeter
      - numberOfPieces
      - widthInCentimeter
      type: object
      properties:
        numberOfPieces:
          type: integer
          description: Number of pieces
          format: int32
          example: 42
        heightInCentimeter:
          type: integer
          description: Height in centimeter
          format: int32
          example: 12
        lengthInCentimeter:
          type: integer
          description: Length in centimeter
          format: int32
          example: 12
        widthInCentimeter:
          type: integer
          description: Width in centimeter
          format: int32
          example: 12
    BookingResponse:
      required:
      - trackingNumber
      type: object
      properties:
        trackingNumber:
          type: integer
          description: Tracking number of the shipment
          format: int64
          example: 1000100123
    RadioactiveDetails:
      type: object
      properties:
        packageCategory:
          maxLength: 20
          type: string
          description: Radioactive package category
          example: I-White
        transportIndex:
          maxLength: 20
          type: string
          description: Radioactive transport index
          example: '0'
        typeOfPackage:
          maxLength: 20
          type: string
          description: Radioactive type of package
          example: LIQ
        contents:
          maxLength: 35
          type: string
          description: Radioactive contents
          example: Th-227
        maximumActivity:
          maxLength: 20
          type: string
          description: Radioactive maximum activity
          example: '3'
        unitOfMeasure:
          maxLength: 20
          type: string
          description: Unit of measure
          example: MBQ
    Destination:
      required:
      - buyerAddress
      type: object
      properties:
        deliveryByKn:
          type: boolean
          description: Denotes if delivery should be arranged by KN
          example: false
        buyerAddress:
          $ref: '#/components/schemas/Address'
        airWaybillConsigneeAddress:
          $ref: '#/components/schemas/Address'
        deliveryContact:
          $ref: '#/components/schemas/Contact'
        deliveryAddress:
          $ref: '#/components/schemas/Address'
        importAvailabilityTime:
          type: string
          description: Import availability time
          format: date-time
          example: '2024-05-03T07:55:53.356Z'
        deliveryHandlingText:
          maxLength: 1000
          minLength: 1
          type: string
          description: Delivery handling text
          example: Example delivery handling text
        airportCode:
          pattern: ^[A-Z]{3}$
          type: string
          description: The IATA airport code
          example: JFK
    CargoInformation:
      type: object
      properties:
        dangerousGoods:
          type: boolean
          description: Indicates if the freight contains dangerous goods
        batteries:
          type: boolean
          description: Indicates if the freight contains batteries
        batteriesRemarks:
          maxLength: 1024
          minLength: 1
          type: string
          description: Further details for the contained batteries
        woodenPackagingMaterial:
          type: boolean
          description: Indicates if the freight contains wooden packaging material
    Width:
      description: Width in centimeter with up to 1 decimal place
      allOf:
      - $ref: '#/components/schemas/Dimension'
    Money:
      required:
      - amount
      type: object
      properties:
        amount:
          minimum: 0
          type: number
          format: decimal
        currency:
          pattern: '[A-Z]{3}'
          type: string
          format: iso-4217
    Weight:
      required:
      - amountInKilogram
      type: object
      properties:
        amountInKilogram:
          multipleOf: 0.01
          maximum: 999999
          minimum: 0.01
          type: number
          format: decimal
      description: Weight in kilogram
    ItemIdentificationAttributes:
      type: object
      properties:
        europeanArticleNumber:
          $ref: '#/components/schemas/NonEmptyString'
        lotNumber:
          $ref: '#/components/schemas/NonEmptyString'
        catalogueNumber:
          $ref: '#/components/schemas/NonEmptyString'
        partNumber:
          $ref: '#/components/schemas/NonEmptyString'
        packUniversalProductCode:
          $ref: '#/components/schemas/NonEmptyString'
        materialNumber:
          $ref: '#/components/schemas/NonEmptyString'
        productNumber:
          $ref: '#/components/schemas/NonEmptyString'
        lineNumber:
          $ref: '#/components/schemas/NonEmptyString'
        itemNumber:
          $ref: '#/components/schemas/NonEmptyString'
        factoryItemNumber:
          $ref: '#/components/schemas/NonEmptyString'
        supplierItemNumber:
          $ref: '#/components/schemas/NonEmptyString'
        articleNumber:
          $ref: '#/components/schemas/NonEmptyString'
        barcode:
          $ref: '#/components/schemas/NonEmptyString'
        stockKeepingUnitNumber:
          $ref: '#/components/schemas/NonEmptyString'
        globalLocationNumber:
          $ref: '#/components/schemas/NonEmptyString'
        batchNumber:
          $ref: '#/components/schemas/NonEmptyString'
        universalProductCode:
          $ref: '#/components/schemas/NonEmptyString'
    FactoryCode:
      maxLength: 255
      minLength: 1
      type: string
      description: Unique identifier assigned to a factory
    ContainerNumber:
      maxLength: 11
      minLength: 1
      pattern: ^[A-Za-z]{3}[A-Za-z][0-9]{7}$|^[0-9]{1,3}$
      type: string
      example: ABCU1234567
    Booking_2:
      required:
      - bookingType
      - customerCode
      - shippersReference
      - supplierCode
      type: object
      properties:
        bookingType:
          type: string
          x-extensible-enum:
          - AIR
          - FCL
          - LCL
        shippersReference:
          $ref: '#/components/schemas/ShippersReference'
        customerCode:
          $ref: '#/components/schemas/CustomerCode'
        supplierCode:
          $ref: '#/components/schemas/SupplierCode'
        factoryCode:
          $ref: '#/components/schemas/FactoryCode'
        cargoInformation:
          $ref: '#/components/schemas/CargoInformation'
        termsOfTrade:
          $ref: '#/components/schemas/TermsOfTrade'
        insuranceByKn:
          type: boolean
          description: Indicates whether insurance coverage is in place through KN
        letterOfCredit:
          $ref: '#/components/schemas/LetterOfCredit'
        remarks:
          maxLength: 1024


# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kuehne-nagel/refs/heads/main/openapi/kuehne-nagel-booking-api-openapi.yml