openapi: 3.0.1
info:
  title: LTL Shipment APIs
  description: >
    LTL Shipment APIs provide capabilities to rate, create, and reprint
    less-than-truckload (LTL) freight shipments. These APIs support shipment
    processing for freight carriers by allowing you to retrieve available rates,
    create domestic and international LTL shipments, and generate or reprint
    shipment documents such as shipping labels and Bills of Lading (BOL).


    The APIs support key LTL shipment details such as:


    - shipper and recipient addresses

    - handling unit and parcel details

    - freight class

    - carrier and service selection

    - shipment references and options

    - customs details for international shipments

    - shipment documents such as shipping labels and BOL


    Use these APIs to support freight shipment workflows that require carrier
    rate shopping, shipment creation, and document generation for LTL
    transportation.
  version: 1.0.0
  license:
    name: PB Software License Agreement
    url: >-
      https://www.pitneybowes.com/us/support/account/pitney-bowes-terms-and-conditions.html
servers:
  - url: https://api-sandbox.sendpro360.pitneybowes.com/shipping
    description: Sandbox Server
  - url: https://api.sendpro360.pitneybowes.com/shipping
    description: Production Server (uses live data)
  - url: https://api-ppd.shipping360.pitneybowes.com/ca/shipping
    description: Sandbox Server for Canada
  - url: https://api.shipping360.pitneybowes.com/ca/shipping
    description: Production Server for Canada
tags:
  - name: LTLShipment
    description: >-
      Provides APIs to rate, create, and reprint less-than-truckload (LTL)
      freight shipments, including shipment documents such as shipping labels
      and Bills of Lading.
paths:
  /api/v1/ltl/rates:
    post:
      tags:
        - LTLShipment
      summary: LTL RateShop
      description: |
        The LTL Rate Shop API is used to shop for rates for LTL shipments.
      operationId: ltlrateShop
      security:
        - bearerAuth: []
      parameters:
        - name: X-PB-Developer-Partner-Id
          description: >-
            The Developer Partner ID is assigned by PB to uniquely identify a
            Developer's strategic business partners. If the developer is the
            sole business partner, this field isn't required.
          required: false
          in: header
          schema:
            type: string
        - name: X-PB-TransactionId
          description: >-
            A unique Transaction ID provided by the partner, which is used to
            enable debugging and linking between the client's transaction and
            the system.
          in: header
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LTLRateShopRequest'
      responses:
        '200':
          description: Rate Shop has been generated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LTLRateShopResponse'
        '400':
          description: Invalid or Bad Request
          $ref: '#/components/responses/BadRequestError'
        '401':
          description: Unauthorized Error
          $ref: '#/components/responses/UnauthorizedError'
        '500':
          description: Internal Server Error
          $ref: '#/components/responses/InternalServerError'
  /api/v1/ltl/shipments:
    post:
      tags:
        - LTLShipment
      summary: LTL Create Shipment
      description: >
        The LTL Create Shipment API is used to create shipments and generate
        shipment labels. 

        **Key Considerations**

        - For freight carriers (Fedex Freight & Purolator Freight) label type
        `SHIPPING_LABEL` is required and label type `BOL` is optional.

        - For freight carriers (FedEx Freight and Purolator Freight), a Bill of
        Lading (BOL) cannot be passed independently and is only supported when a
        `SHIPPING_LABEL` is also provided

        - If `BOL` is provided with freight carriers, it must be provided along
        with `SHIPPING_LABEL` in the same labels array.

        - For custom carriers, the label type `BOL` can be generated
        individually.
      operationId: ltlcreateShipment
      parameters:
        - name: X-PB-Developer-Partner-Id
          description: >-
            The Developer Partner ID is assigned by PB to uniquely identify a
            Developer's strategic business partners. If the developer is the
            sole business partner, this field isn't required.
          required: false
          in: header
          schema:
            type: string
        - name: X-PB-LocationId
          description: >
            "This is the Location ID assigned as per the Developer's and
            Partner's parsed locations, to which all transactions will be
            billed.

            <br /> Partner's location will be used for billing if it is
            configured, however, in case Partner's location is not given, then
            the Developer's location will be taken.

            Developer's location will be the default value. <br /> Additionally,
            Developers and Partners can use carriers belong to this location
            only."
          required: false
          in: header
          schema:
            type: string
        - name: X-PB-TransactionId
          description: >-
            A unique Transaction ID provided by the partner, which is used to
            enable debugging and linking between the client's transaction and
            the system.
          in: header
          required: false
          schema:
            type: string
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/LTLCreateDomesticShipment'
                - $ref: '#/components/schemas/LTLCreateInternationalShipment'
      responses:
        '200':
          description: LTL Shipment has been created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LTLCreateShipmentResponse'
        '400':
          description: Invalid or Bad Request
          $ref: '#/components/responses/BadRequestError'
        '401':
          description: Unauthorized Error
          $ref: '#/components/responses/UnauthorizedError'
        '500':
          description: Internal Server Error
          $ref: '#/components/responses/InternalServerError'
  /api/v1/ltl/shipments/reprint:
    post:
      tags:
        - LTLShipment
      summary: LTL Reprint Shipment
      description: >
        The LTL Reprint Shipment API is used to reprint shipments and generate
        shipment labels. <br/>
      operationId: ltlreprintShipment
      parameters:
        - name: X-PB-Developer-Partner-Id
          description: >-
            The Developer Partner ID is assigned by PB to uniquely identify a
            Developer's strategic business partners. If the developer is the
            sole business partner, this field isn't required.
          required: false
          in: header
          schema:
            type: string
        - name: X-PB-LocationId
          description: >
            "This is the Location ID assigned as per the Developer's and
            Partner's parsed locations, to which all transactions will be
            billed.

            <br /> Partner's location will be used for billing if it is
            configured, however, in case Partner's location is not given, then
            the Developer's location will be taken.

            Developer's location will be the default value. <br /> Additionally,
            Developers and Partners can use carriers belong to this location
            only."
          required: false
          in: header
          schema:
            type: string
        - name: X-PB-TransactionId
          description: >-
            A unique Transaction ID provided by the partner, which is used to
            enable debugging and linking between the client's transaction and
            the system.
          in: header
          required: false
          schema:
            type: string
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LTLReprintRequest'
      responses:
        '200':
          description: Importer of Record successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LTLCreateShipmentResponse'
        '400':
          description: Invalid or Bad Request
          $ref: '#/components/responses/BadRequestError'
        '401':
          description: Unauthorized Error
          $ref: '#/components/responses/UnauthorizedError'
        '500':
          description: Internal Server Error
          $ref: '#/components/responses/InternalServerError'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
  responses:
    UnauthorizedError:
      description: The request could not be authorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    InternalServerError:
      description: The request could not be completed due to an internal error.
      content: {}
    BadRequestError:
      description: Invalid request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
  schemas:
    error:
      type: object
      properties:
        message:
          type: string
          description: >-
            This is HTTP 401 Unauthorized response status code, that indicates
            that the client request has not been completed because it lacks
            valid authentication credentials for the requested resource.
      required:
        - message
    Errors:
      type: object
      properties:
        errors:
          type: array
          description: List of errors.
          items:
            type: object
            properties:
              errorCode:
                type: string
                description: >-
                  This error can be validation_error or internal_error or
                  not_found or already_exists
                example: validation_error
              errorDescription:
                type: string
                description: >-
                  The HTTP 400 Bad Request response status code indicates that
                  the server cannot process the request due to something that is
                  perceived to be a client error (e.g., malformed request
                  syntax, invalid request message framing, or deceptive request
                  routing).
                example: Custom Fields not found
    LTLRateShopRequest:
      type: object
      required:
        - fromAddress
        - toAddress
        - parcels
        - rateShopBy
      properties:
        toAddress:
          $ref: '#/components/schemas/toAddressV2'
        fromAddress:
          $ref: '#/components/schemas/fromAddressV2'
        parcels:
          $ref: '#/components/schemas/Parcels'
        rateShopBy:
          type: string
          description: >
            RateShop is done through multiple approaches such as byCarrier, by
            RateGroup, or by RuleSet.  

            Use `carrier` to rate based on the carrier selection.
          enum:
            - carrier
          example: carrier
        byCarrier:
          type: object
          description: >
            Specifies the carrier and service configuration used for rate
            retrieval in Rate Shipment V2

            This object enables the following use cases:
              1. **Rate Shop for a Single Carrier**: Provide either `carrier` or `carrierAccountId` to retrieve all available rates from the specified carrier.
              2. **Single Rate Retrieval by Service ID**: Provide both `carrier` (or `carrierAccountId`) and `service` to retrieve a single rate corresponding to the specified service.
          properties:
            carrierAccountId:
              type: string
              description: >-
                This is a unique identifier associated with the specific
                sub-carrier account, which must be valid.<br /> This is used in
                the shipment creation (if this value is defined, Carrier
                properties will be skipped).
              example: zmOKKBAn0X1
            carrier:
              type: string
              description: >-
                A unique identifier associated with the specific carrier, i.e.
                CarrierID, which must be valid.
              example: FEDEXFREIGHT
            service:
              type: string
              description: >-
                Indicates a unique identifier associated with the carrier
                specific service, which is ServiceID, which must be valid.
              example: FEDEX_FREIGHT_ECONOMY
    LTLRateShopResponse:
      type: object
      description: >-
        LTL rate response that includes available carrier services, pricing,
        delivery commitment, and package-level freight details.
      properties:
        rates:
          type: array
          description: List of LTL rate options returned by the carrier.
          items:
            $ref: '#/components/schemas/LtlRate1'
        references:
          type: object
          description: Optional reference values returned with the response.
          additionalProperties: true
          example: {}
        fromAddress:
          $ref: '#/components/schemas/fromAddressV2'
        toAddress:
          $ref: '#/components/schemas/toAddressV2'
        shipmentOptions:
          type: object
          description: Shipment-level options returned in the response, if any.
          additionalProperties: true
          example: {}
    LTLCreateDomesticShipment:
      type: object
      description: >
        Request payload to create LTL shipments by carrier/service (for example,
        FedEx Freight), including LTL package details, label layout preferences,
        shipment options, references, and ship date.
      required:
        - fromAddress
        - toAddress
        - parcels
        - rateShopBy
      properties:
        documents:
          type: array
          description: >
            Optional label output configuration. Use this to request specific
            document types .
          items:
            $ref: '#/components/schemas/LabelLayoutItem'
          example:
            - contentType: URL
              labelFormat: PDF
              labelSize: DOC_8X11
              labelType: SHIPPING_LABEL
            - contentType: URL
              labelFormat: PDF
              labelSize: DOC_8X11
              labelType: BOL
        toAddress:
          $ref: '#/components/schemas/toAddressV2'
        fromAddress:
          $ref: '#/components/schemas/fromAddressV2'
        additionalAddresses:
          description: >
            Additional addresses associated with the LTL shipment.


            Supported address types:

            - FREIGHT_FORWARDER: Address of the freight forwarding company
            responsible for arranging transportation.

            - ULTIMATE_CONSIGNEE: Final recipient or end party receiving the
            goods.

            - THIRD_PARTY: Address of a third-party entity responsible for
            billing or payment.
          allOf:
            - $ref: '#/components/schemas/additionalAddresses'
            - example:
                - address:
                    addressLine1: 638 Manitoba Ave
                    cityTown: Winnipeg
                    countryCode: CA
                    name: billing name
                    phone: 203-555-1213
                    postalCode: R2W 2H2
                    company: Pitney Bowes Inc.
                    stateProvince: MB
                  addressType: FREIGHT_FORWARDER
                - address:
                    addressLine1: 947 Hammarskjold Dr1
                    cityTown: Burnaby
                    countryCode: CA
                    name: Paul Wright
                    company: QA & Company
                    phone: 604-320-7572
                    postalCode: V5B 3C9
                    stateProvince: BC
                  addressType: THIRD_PARTY
        parcels:
          $ref: '#/components/schemas/Parcels'
        rateShopBy:
          type: string
          description: |
            Defines the approach used to retrieve rates.
          enum:
            - carrier
          example: carrier
        byCarrier:
          $ref: '#/components/schemas/ByCarrierLtl'
        shipmentOptions:
          type: object
          description: Additional shipment options.
          properties:
            addToManifest:
              type: boolean
              description: >
                When set to true, the shipment is eligible to be added to a
                manifest (if supported by the carrier/account).
              example: true
          additionalProperties: true
        references:
          type: object
          description: Optional reference fields for customer/internal tracking.
          properties:
            reference1:
              type: string
              description: Reference value 1.
              example: ref1_123456
            reference2:
              type: string
              description: Reference value 2.
              example: ref2_SendTech
          additionalProperties: true
        dateOfShipment:
          type: string
          format: date
          description: Planned shipment (ship) date in `YYYY-MM-DD` format.
          example: '2026-02-11'
        specialServices:
          type: array
          description: >-
            Optional special services requested for rating/shipping, if
            supported for the carrier/service.
          items:
            $ref: '#/components/schemas/SpecialService'
        carrierPayments:
          type: array
          $ref: '#/components/schemas/carrierPayments'
    LTLCreateInternationalShipment:
      type: object
      description: >
        Request payload to create LTL shipments by carrier/service (for example,
        FedEx Freight or Purolator Freight), including LTL package details,
        label layout preferences, shipment options, references, and ship date.
      required:
        - fromAddress
        - toAddress
        - parcels
        - rateShopBy
      properties:
        documents:
          type: array
          description: >
            Optional label output configuration. Use this to request specific
            document types .
          items:
            $ref: '#/components/schemas/LabelLayoutItem'
          example:
            - contentType: URL
              labelFormat: PDF
              labelSize: DOC_8X11
              labelType: SHIPPING_LABEL
            - contentType: URL
              labelFormat: PDF
              labelSize: DOC_8X11
              labelType: BOL
        toAddress:
          $ref: '#/components/schemas/toAddressV2'
          example:
            addressLine1": 5985 EXPLORER DR
            addressLine2: ABC Street
            addressLine3: Near XYZ Station
            cityTown: Mississauga
            countryCode: CA
            name: Mara Graham
            company: PB
            phone: '9191919191'
            postalCode: L4W5K6
            stateProvince: 'ON'
            email: receiver@email.com
        fromAddress:
          $ref: '#/components/schemas/fromAddressV2'
          example:
            addressLine1: 1202 Chalet Ln
            addressLine2: ABC Street
            addressLine3: Near XYZ Station
            cityTown: Harrison
            countryCode: US
            name: Fedex freight 1
            phone: '2037963184'
            postalCode: 72601-6353
            stateProvince: AR
            company: Pintey Bowes
            email: sender@email.com
        additionalAddresses:
          description: >
            Additional addresses associated with the LTL shipment.


            Supported address types:

            - FREIGHT_FORWARDER: Address of the freight forwarding company
            responsible for arranging transportation.

            - ULTIMATE_CONSIGNEE: Final recipient or end party receiving the
            goods.

            - THIRD_PARTY: Address of a third-party entity responsible for
            billing or payment.
          allOf:
            - $ref: '#/components/schemas/additionalAddresses'
            - example:
                - address:
                    addressLine1: 638 Manitoba Ave
                    cityTown: Winnipeg
                    countryCode: CA
                    name: billing name
                    phone: 203-555-1213
                    postalCode: R2W 2H2
                    company: Pitney Bowes Inc.
                    stateProvince: MB
                  addressType: FREIGHT_FORWARDER
                - address:
                    addressLine1: 947 Hammarskjold Dr1
                    cityTown: Burnaby
                    countryCode: CA
                    name: Paul Wright
                    company: QA & Company
                    phone: 604-320-7572
                    postalCode: V5B 3C9
                    stateProvince: BC
                  addressType: THIRD_PARTY
        parcels:
          allOf:
            - $ref: '#/components/schemas/Parcels'
            - type: object
              properties:
                pieceCount:
                  type: integer
                  description: ''
                  example: 10
        rateShopBy:
          type: string
          description: |
            Defines the approach used to retrieve rates.
          enum:
            - carrier
          example: carrier
        byCarrier:
          $ref: '#/components/schemas/ByCarrierLtl'
        shipmentOptions:
          type: object
          description: Additional shipment options.
          properties:
            addToManifest:
              type: boolean
              description: >
                When set to true, the shipment is eligible to be added to a
                manifest (if supported by the carrier/account).
              example: true
          additionalProperties: true
        references:
          type: object
          description: Optional reference fields for customer/internal tracking.
          properties:
            reference1:
              type: string
              description: Reference value 1.
              example: ref1_123456
            reference2:
              type: string
              description: Reference value 2.
              example: ref2_SendTech
          additionalProperties: true
        customs:
          $ref: '#/components/schemas/Customs'
        dateOfShipment:
          type: string
          format: date
          description: Planned shipment (ship) date in `YYYY-MM-DD` format.
          example: '2026-02-11'
        specialServices:
          type: array
          description: >-
            Optional special services requested for rating/shipping, if
            supported for the carrier/service.
          items:
            $ref: '#/components/schemas/SpecialService'
        carrierPayments:
          type: array
          $ref: '#/components/schemas/carrierPayments'
    Customs:
      type: object
      required:
        - customsInfo
        - customsItems
      description: >
        Customs declaration details for international or carrier-specific
        domestic shipments.<br/>

        - **Required only for RMG carrier** in domestic shipment requests.

        - Must include customsItems and customsInfo objects.

        - Other carriers do not require this object for domestic shipments.
      properties:
        customsItems:
          type: array
          items:
            type: object
            required:
              - description
              - quantity
              - unitPrice
              - weight
              - weightUnit
            properties:
              description:
                type: string
                description: >-
                  A detailed description of the commodity, up to 255 characters.
                  The description will appear on the customs form. If the
                  shipment has multiple types of items, create a separate
                  customsItems object for each. Each description will appear on
                  the form.
                example: T-shirt
              hSTariffCode:
                type: object
                description: >-
                  The destination country's tariff-classification number (HS
                  code) for the commodity. Most countries use the six-digit
                  Harmonized System (HS) as the basis for their tariff
                  classifications and then add digits for more detail. The
                  maximum length for an HS code is 14 characters. The HS code
                  will appear on the customs form. If the shipment has multiple
                  types of items, create a separate customsItems object for
                  each. </br> Required for RMG carrier.
                example: '610910'
              originCountryCode:
                type: string
                description: >-
                  The two-character ISO country code of the shipment’s origin
                  country. Use ISO 3166-1 Alpha-2 standard values.
                example: US
              quantity:
                type: number
                description: Enter the total number of items of this type of commodity.
                example: 1
              unitPrice:
                type: number
                description: The price of one item of this type of commodity.
                example: 10
              weightUnit:
                type: string
                enum:
                  - OZ
                description: >-
                  The unit of measurement. This field is required by the
                  unitWeight object.
                example: OZ
              weight:
                type: number
                description: The weight of the item.
                example: 1
        customsInfo:
          type: object
          description: >-
            This is additional customs information required along with item
            details.
          required:
            - reasonForExport
            - customsDeclaredValue
            - currencyCode
          properties:
            reasonForExport:
              type: string
              enum:
                - GIFT
                - COMMERCIAL_SAMPLE
                - MERCHANDISE
                - DOCUMENTS
                - RETURNED_GOODS
                - OTHER
              description: The reason the commodity is being exported.
              example: GIFT
            customsDeclaredValue:
              description: Item value in mentioned currencyCode
              type: number
              example: 10
            currencyCode:
              description: >-
                The currency used for declared value. Use three uppercase
                letters, per ISO 4217
              example: USD
              type: string
            EELPFC:
              type: string
              example: NOEEI 30.2D2
              description: >
                A number provided by the Automated Export System (AES). <br/>
                Required if the item is more than $2,500 USD, per Schedule B
                export codes. <br/> Required if EELPFC  is AES ITN.

                - AES ITN is a unique transaction number generated by the
                Automated Export System (AES) when export data is filed for
                international shipments from the U.S.

                - The ITN format is AES XYYYYMMDDNNNNNN, where X indicates the
                type, YYYYMMDD is the filing date, and NNNNNN is a 6-digit
                number. Example: `AES X20250327123456`

                - If the ITN is not available, an exemption format may be used:
                AESDOWN [Filer ID] [mm/dd/yyyy]. Example: `AESDOWN 12345678912
                03/27/2025`
            certificateNumber:
              type: string
              description: The certificate number associated with the commodity
              example: '123456'
            comments:
              type: string
              description: Free-form comments regarding the exported shipment.
              example: This is a sample comment
            fromCustomsReference:
              type: string
              description: >-
                Free-form reference information provided by the requestor of the
                shipment. Depending on the carrier this information may or may
                not be rendered on the customs documents.
              example: EFEFE4554545
            importerCustomsReference:
              type: string
              description: >-
                A reference number used by the importer, such as a VAT number,
                PO number, or insured number.
              example: dff3433
            invoiceNumber:
              type: string
              description: The commercial invoice number assigned by the exporter.
              example: '123456'
            licenseNumber:
              type: string
              description: The export license number associated with the commodity.
              example: '123456'
            sdrValue:
              type: number
              description: >-
                When an international parcel is insured, the insured value must
                be expressed in Special Drawing Rights values.
              example: 10
            termsOfSale:
              type: string
              description: >
                Defines the delivery and payment terms between the shipper and
                recipient.Currenty supported by carriers - UPS, FedEx and DHL. -
                Common values include:
                  - CIP: Carriage and Insurance Paid to
                  - CPT: Carriage Paid To
                  - DAP: Delivered at Place
                  - DAT: Delivered at Terminal
                  - DDP: Delivered Duty Paid
                  - EXW: Ex Works
                  - FCA: Free Carrier
              example: DDP
              enum:
                - CIP
                - CPT
                - DAP
                - DAT
                - DDP
                - EXW
                - FCA
    LabelLayoutItem:
      type: object
      description: Defines a single document output format for the shipment.
      required:
        - contentType
        - labelFormat
        - labelSize
        - labelType
      properties:
        contentType:
          type: string
          description: >-
            How the document is returned. URL is supported for `PDF`and BASE64
            is supported for `ZPL2`.
          enum:
            - URL
            - BASE64
          example: URL
        labelFormat:
          type: string
          description: >-
            Output file format. As of now, only shipment labels can be generated
            in ZPL2 format. For all other document types, only PDF is supported.
          enum:
            - PDF
            - ZPL2
          example: PDF
        labelSize:
          type: string
          description: >-
            Document size. As of now, ZPL2 supports only 4X6 shipping label
            size.
          example: DOC_8X11
        labelType:
          type: string
          description: Document type to generate.
          example: SHIPPING_LABEL
          enum:
            - SHIPPING_LABEL
            - BOL
    LtlDetailsRequest:
      type: object
      description: >-
        LTL-specific request details including packages and freight
        classifications.
      required:
        - packages
      properties:
        packages:
          type: array
          description: List of LTL packages (handling units) to rate.
          items:
            $ref: '#/components/schemas/LtlPackageRequest'
    LtlPackageRequest:
      type: object
      description: A single LTL package/handling unit.
      required:
        - parcelType
        - parcel
        - freightClass
      properties:
        parcelType:
          type: string
          description: >-
            Handling unit type for the LTL shipment (for example, CARTON,
            PALLET).
          example: CARTON
        parcel:
          $ref: '#/components/schemas/Parcel'
        freightClass:
          type: string
          description: Freight class used for LTL rating.
          example: CLASS200
          enum:
            - Class 50
            - Class 55
            - Class 60
            - Class 65
            - Class 70
            - Class 77.5
            - Class 85
            - Class 92.5
            - Class 100
            - Class 110
            - Class 125
            - Class 150
            - Class 175
            - Class 200
            - Class 250
            - Class 300
            - Class 400
            - Class 500
        pieceCount:
          type: string
          description: >-
            Number of pieces for the handling unit (as provided by the carrier
            integration).
          example: '2'
    Parcel:
      type: object
      description: Parcel dimensions and weight used for rating.
      properties:
        length:
          type: number
          description: Length of the package.
          example: 100
        width:
          type: number
          description: Width of the package.
          example: 10
        height:
          type: number
          description: Height of the package.
          example: 10
        dimUnit:
          type: string
          description: Unit for dimensions.
          enum:
            - IN
            - CM
          example: IN
        weightUnit:
          type: string
          description: Unit for weight.
          enum:
            - OZ
            - LB
            - GM
            - KG
          example: OZ
        weight:
          type: number
          description: Weight of the package.
          example: 1600
        packageValue:
          type: number
          description: Declared value of the package.
          example: 2
    ByCarrierLtl:
      type: object
      required:
        - service
      description: >-
        The shipment is grouped by Carrier and their Service. To create a
        shipment either `carrierAccountId` or `carrier` is required.
      properties:
        carrierAccountId:
          type: string
          description: >-
            This is a unique identifier associated with the specific sub-carrier
            account, which must be valid.<br /> This is used in the shipment
            creation (if this value is defined, Carrier properties will be
            skipped).
          example: 6wR7pC1qrfZFylN
        carrier:
          type: string
          description: >-
            A unique identifier associated with the specific carrier, i.e.
            CarrierID, which must be valid.
          example: FEDEXFREIGHT
        service:
          type: string
          description: >
            Carrier service identifier. Provide this when you want a specific
            service rate; omit to fetch all available services for the carrier.
          example: FEDEX_FREIGHT_ECONOMY
    SpecialService:
      type: object
      description: A special service requested for rating or shipping.
      properties:
        specialServiceId:
          type: string
          description: Identifier of the special service.
          example: BROKER_SELECT_OPTION
        inputParameters:
          type: array
          description: Optional input parameters required by some special services.
          items:
            type: object
            properties:
              name:
                type: string
                description: Parameter name.
                example: INPUT_VALUE
              value:
                type: string
                description: Parameter value.
                example: '200.00'
    carrierPayments:
      type: array
      description: >
        Defines how carrier charges are billed to different parties. Use this
        field to specify

        account and charge type details for transportation and/or duties and
        taxes. This

        field is optional.


        - If no `party` is explicitly specified, charges default to the sender
        (shipper).

        - To direct charges to a different party, provide the appropriate
        bill-to details in the request.

        - If the carrier supports third-party billing, you can specify a
        third-party account number and address. 

        - For Puralator Freight carrier if the `party` is set to
        `BILL_THIRD_PARTY`, then additionalAddress with addressType
        `THIRD_PARTY` is required.
      items:
        type: object
        properties:
          accountNumber:
            type: string
            description: Account number of the party to be billed.
            example: '602684342'
          countryCode:
            type: string
            description: Two-letter ISO country code of the party to be billed.
            example: US
          postalCode:
            type: string
            description: Postal code of the party to be billed.
            example: '30305'
          party:
            type: string
            description: Billing party for the shipment charges.
            enum:
              - BILL_RECEIVER
              - BILL_SENDER
              - BILL_THIRD_PARTY
              - BILL_RECEIVER_CONTRACT
            example: BILL_RECEIVER
          typeOfCharge:
            type: string
            description: The type of charge billed to the specified party.
            enum:
              - TRANSPORTATION_CHARGES
              - DUTIES_AND_TAXES
              - ALL_CHARGES
            example: TRANSPORTATION_CHARGES
      example:
        - accountNumber: '602684342'
          countryCode: US
          postalCode: '30305'
          party: BILL_RECEIVER
          typeOfCharge: TRANSPORTATION_CHARGES
    LTLCreateShipmentResponse:
      type: object
      description: Response returned after creating an LTL shipment.
      properties:
        shipmentId:
          type: string
          description: Unique identifier of the shipment.
          example: '794987622191'
        masterTrackingNumber:
          type: string
          description: >-
            This is a master tracking number assigned to the LTL shipment,
            representing the entire shipment across all parcels or handling
            units. This number can be used to track the overall shipment status.
          example: '794987622191'
        bolNumber:
          type: string
          description: Bill of Lading (BOL) number assigned to the shipment.
          example: '794987622191'
        labelLayout:
          type: array
          description: >
            Documents generated at the shipment level (for example, BOL,
            MERGED_LABEL).

            Each entry contains the content location/encoding and document
            attributes.
          items:
            $ref: '#/components/schemas/Document'
          example:
            - contentType: URL
              contents: >-
                https://225934331380-sending-service-dev.s3-fips.us-east-1.amazonaws.com/fedex-ltl/BOL_794998063229_1773817724491588264.pdf?..................
              fileFormat: PDF
              size: DOC_8X11
              type: BOL
            - contentType: URL
              contents: >-
                https://225934331380-sending-service-dev.s3-fips.us-east-1.amazonaws.com/fedex-ltl/MERGED_LABEL_794998063229_1773817724760108179.pdf?..................
              fileFormat: PDF
              size: DOC_8X11
              type: MERGED_LABEL
        rates:
          type: array
          description: Rate details returned for the shipment.
          items:
            $ref: '#/components/schemas/LtlRate2'
        references:
          type: object
          description: Optional reference fields for customer/internal tracking.
          properties:
            reference1:
              type: string
              description: Reference value 1.
              example: ref1_123456
            reference2:
              type: string
              description: Reference value 2.
              example: ref2_SendTech
        fromAddress:
          $ref: '#/components/schemas/fromAddressV2'
        toAddress:
          $ref: '#/components/schemas/toAddressV2'
        shipmentOptions:
          type: object
          description: Shipment options applied to the shipment.
          additionalProperties: true
          example: {}
    LtlDetailsShipmentResponse:
      type: object
      description: LTL-specific shipment details.
      properties:
        masterTrackingNumber:
          type: string
          description: Master tracking number assigned for the LTL shipment.
          example: '794987622191'
        bolNumber:
          type: string
          description: Bill of Lading (BOL) number for the shipment.
          example: '794987622191'
        rates:
          type: array
          description: Rate details returned for the shipment.
          items:
            $ref: '#/components/schemas/LtlRate2'
    LtlSpecialServiceResponse:
      type: object
      description: Special service details returned in the response.
      properties:
        specialServiceId:
          type: string
          description: Identifier of the special service.
          example: BROKER_SELECT_OPTION
        fee:
          type: number
          description: Fee for the special service, if applicable.
          example: 0
    LTLReprintRequest:
      type: object
      required:
        - shipmentId
        - printerAliasName
      properties:
        shipmentId:
          type: string
          description: >
            Unique identifier of the shipment for which the label or document
            needs to be reprinted.
          example: '794987603748'
        printerAliasName:
          type: string
          description: >
            Alias name of the printer configured in the system where the
            reprinted label or document will be sent.
          example: ZPLtoSheltonTest
    LtlPackageResponse:
      type: object
      description: LTL package details returned for the shipment.
      properties:
        pieceCount:
          type: string
          description: Number of pieces for this package line item.
          example: '2'
        parcelType:
          type: string
          description: Package/handling type for LTL.
          example: CARTON
        parcel:
          $ref: '#/components/schemas/Parcel'
        proNumber:
          type: string
          description: Pro number assigned for this package (carrier-specific).
          example: '794987622191'
        documents:
          $ref: '#/components/schemas/Document'
        freightClass:
          type: string
          description: Freight class for LTL rating.
          example: CLASS200
          enum:
            - Class 50
            - Class 55
            - Class 60
            - Class 65
            - Class 70
            - Class 77.5
            - Class 85
            - Class 92.5
            - Class 100
            - Class 110
            - Class 125
            - Class 150
            - Class 175
            - Class 200
            - Class 250
            - Class 300
            - Class 400
            - Class 500
    Document:
      type: object
      description: Document/label information for the shipment.
      properties:
        contentType:
          type: string
          description: >-
            How the document is returned. URL is supported for `PDF`and BASE64
            is supported for `ZPL2`.
          enum:
            - URL
            - BASE64
          example: URL
        fileFormat:
          type: string
          description: >-
            File format of the document. As of now, only shipment labels can be
            generated in ZPL2 format. For all other document types, only PDF is
            supported.
          enum:
            - PDF
            - ZPL2
          example: PDF
        size:
          type: string
          description: Document size/layout.
          example: DOC_8X11
        type:
          type: string
          description: Document type.
          example: SHIPPING_LABEL
    LtlDetailsResponse:
      type: object
      description: Contains LTL-specific rate details.
      properties:
        rates:
          type: array
          description: List of LTL rate options returned by the carrier.
          items:
            $ref: '#/components/schemas/LtlRate1'
    LtlRate1:
      type: object
      description: A single LTL rate option for a carrier service.
      properties:
        currencyCode:
          type: string
          description: Currency in which the charges are calculated.
          example: USD
        baseCharge:
          type: number
          description: Base transportation charge for the LTL shipment.
          example: 1600.1
        serviceId:
          type: string
          description: Carrier-specific LTL service identifier.
          example: FEDEX_FREIGHT_ECONOMY
        totalCarrierCharge:
          type: number
          description: Total amount payable to the carrier for this service.
          example: 1600.1
        deliveryCommitment:
          $ref: '#/components/schemas/DeliveryCommitment'
        publishedTotalCarrierCharge:
          type: number
          description: Published carrier charge, if applicable.
          example: 0
        handlingUnitCount:
          type: integer
          description: Number of handling units associated with the LTL shipment.
          example: 0
        parcels:
          type: array
          description: Packages included in the LTL shipment for this rate option.
          items:
            type: object
            description: Package details used for LTL rating.
            properties:
              parcelType:
                type: string
                description: >-
                  Type of handling unit used for the LTL package (for example,
                  CARTON, PALLET).
                example: CARTON
              parcel:
                $ref: '#/components/schemas/ParcelDimensions'
              freightClass:
                type: string
                description: Freight classification used for LTL rating.
                example: CLASS200
    LtlRate2:
      type: object
      description: A single LTL rate option for a carrier service.
      properties:
        currencyCode:
          type: string
          description: Currency in which the charges are calculated.
          example: USD
        baseCharge:
          type: number
          description: Base transportation charge for the LTL shipment.
          example: 1600.1
        serviceId:
          type: string
          description: Carrier-specific LTL service identifier.
          example: FEDEX_FREIGHT_ECONOMY
        totalCarrierCharge:
          type: number
          description: Total amount payable to the carrier for this service.
          example: 1600.1
        deliveryCommitment:
          $ref: '#/components/schemas/DeliveryCommitment'
        publishedTotalCarrierCharge:
          type: number
          description: Published carrier charge, if applicable.
          example: 0
        handlingUnitCount:
          type: integer
          description: Number of handling units associated with the LTL shipment.
          example: 0
        parcels:
          type: array
          description: Packages included in the LTL shipment for this rate option.
          items:
            $ref: '#/components/schemas/ParcelsResponse'
    DeliveryCommitment:
      type: object
      description: Estimated delivery information for the LTL service.
      properties:
        estimatedDeliveryDateTime:
          type: string
          format: date-time
          description: Estimated delivery date and time for the shipment.
          example: '2026-02-20T17:00:00Z'
        minEstimatedNumberOfDays:
          type: string
          description: Minimum estimated transit duration label returned by the carrier.
          example: THREE_DAYS
    ParcelsResponse:
      type: object
      description: Package details used for LTL rating.
      properties:
        parcelType:
          type: string
          description: >-
            Type of handling unit used for the LTL package (for example, CARTON,
            PALLET).
          example: CARTON
        parcel:
          $ref: '#/components/schemas/ParcelDimensions'
        freightClass:
          type: string
          description: Freight classification used for LTL rating.
          example: CLASS200
          enum:
            - Class 50
            - Class 55
            - Class 60
            - Class 65
            - Class 70
            - Class 77.5
            - Class 85
            - Class 92.5
            - Class 100
            - Class 110
            - Class 125
            - Class 150
            - Class 175
            - Class 200
            - Class 250
            - Class 300
            - Class 400
            - Class 500
        proNumber:
          type: string
          description: PRO Number
          example: '794987622191'
        documents:
          $ref: '#/components/schemas/Document'
    ParcelDimensions:
      type: object
      description: Package dimensions and weight used for rating.
      properties:
        length:
          type: number
          description: Length of the package.
          example: 100
        height:
          type: number
          description: Height of the package.
          example: 10
        width:
          type: number
          description: Width of the package.
          example: 10
        dimUnit:
          type: string
          description: Unit of measurement for dimensions.
          example: IN
        weightUnit:
          type: string
          description: Unit of measurement for weight.
          example: OZ
        weight:
          type: number
          description: Weight of the package.
          example: 1600
    fromAddressV2:
      type: object
      required:
        - name
        - addressLine1
        - cityTown
        - stateProvince
        - postalCode
        - countryCode
        - phone
      description: The complete address of the Sender.
      properties:
        name:
          type: string
          description: The name of the Sender to which this address points.
          example: Sender Name
        addressLine1:
          type: string
          description: >-
            The addressLine1 contains the Flat number, Building or Apartment
            Name/number (if any) or company name (if not residential) of the
            Sender. <br /> `Max length = 35`.
          example: 1600 Amphitheatre Parkway
        addressLine2:
          type: string
          description: The addressLine2 contains Street address or Landmark (if any).
          example: near abc street
        addressLine3:
          type: string
          description: The addressLine3 contains P.O. Box (if any) near the address.
          example: near xyz street
        company:
          type: string
          description: >-
            The name of the company, in case if the senders address is not
            residential.
          example: PB
        email:
          type: string
          description: >-
            This must be senders's valid email. Email is required if the
            customer is using GoFor Carrier. Sender email is required for RMG
            b2b shipment. <br /> `Max length = 50` 
          example: testuser@gmail.com
        phone:
          type: string
          description: >-
            This is sender's phone number. Enter the digits with or without
            spaces or hyphens. The maximum limit of characters for Phone number
            are 10 digits. 
          example: '6502530000'
        cityTown:
          type: string
          description: >-
            The name of the city or town the Sender's address belongs to. <br />
            `Max length = 30`.
          example: Mountain View
        stateProvince:
          type: string
          description: >
            "The name of the State or Province the Sender belongs to. It is the
            `2-letter` State or Province Code for US or Canadian address(es).

            <br /> Below is the hyperlink for CA country that will navigate to
            its Province/State Codes page. Similarly, respective country users
            can check for their country- State/Province codes.

            <br /> Please switch to the `Search` tab, select `Country codes`
            radio button, enter the required country name or country code, and
            then click `SEARCH` button. <br /> `Max length = 2`"
          externalDocs:
            url: https://www.iso.org/obp/ui/#iso:code:3166:CA
            description: List of Province with their Province/State Codes.
          example: CA
        postalCode:
          type: string
          description: >-
            The Postal Code or ZIP Code of the address. <br /> For CA addresses,
            use a `six-character` alphanumeric string Postal Code in this
            format: 'A1A 1A1'. <br /> While for US addresses, use either the
            `5-digit` or `9-digit` ZIP Code in one of the following formats:
            '12345' or '12345-6789'. <br /> `Max length = 10`
          example: '94043'
        inductionPostalCode:
          type: string
          description: >
            The postal code where the shipment is tendered to the carrier. If an
            induction postal code is specified in the "fromAddress", it will be
            used for rate calculations and determining manifest eligibility
            instead of the standard postal code. If not specified, the postal
            code from the "fromAddress" will be used.
          example: '06905'
        countryCode:
          type: string
          description: >
            "The country in which the sender's address is located. The value
            will be the two-character ISO Code of the country from the ISO
            country list. <br /> Use ISO 3166-1 Alpha-2 standard values. For
            best results this should be included, especially if the country name
            does not appear in any of the unparsedAddressLines.

            <br /> Below is the hyperlink, please select `Country codes` and
            then click `SEARCH` button. <br /> `Max length = 2`"
          externalDocs:
            url: https://www.iso.org/obp/ui/#search
            description: List of Countries with their ISO Codes
          example: US
        residential:
          type: boolean
          description: >-
            The specified address can be Residential or Official. In case if the
            address is Residential, the boolean value will be 'true', else it
            will take 'false'.
          example: true
    toAddressV2:
      type: object
      required:
        - name
        - addressLine1
        - cityTown
        - stateProvince
        - postalCode
        - countryCode
        - phone
      description: >-
        The complete address of the Recipient or Department (in case if the
        address is not pointed to any individual recipient).
      properties:
        name:
          type: string
          description: The name of the Recipient.
          example: Recipient Name
        addressLine1:
          type: string
          description: >-
            The addressLine1 contains the Flat number, Building or Apartment
            Name/number (if any) or company name (if not residential) of the
            Recipient. <br /> `Max length = 35`.
          example: 350 Fifth Avenue
        addressLine2:
          type: string
          description: The addressLine2 contains Street address or Landmark (if any).
          example: near abc street
        addressLine3:
          type: string
          description: The addressLine3 contains P.O. Box (if any) near the address.
          example: near xyz street
        cityTown:
          type: string
          description: >-
            The name of the city or town the Recipient belongs to. <br /> `Max
            length = 30`.
          example: New York
        stateProvince:
          type: string
          description: >
            "The name of the State or Province the Sender belongs to. It is the
            `2-letter` State or Province Code for US or Canadian address(es).

            <br /> Below is the hyperlink for CA country that will navigate to
            its Province/State Codes page. Similarly, respective country users
            can check for their country- State/Province codes.

            <br /> Please switch to the `Search` tab, select `Country codes`
            radio button, enter the required country name or country code, and
            then click `SEARCH` button . <br /> `Max length = 2`"
          externalDocs:
            url: https://www.iso.org/obp/ui/#iso:code:3166:CA
            description: List of Province with their Province/State Codes.
          example: NY
        postalCode:
          type: string
          description: >
            "The Postal Code or ZIP Code of the address.<br /> For CA addresses,
            use a `six-character` alphanumeric string Postal Code in this
            format: 'A1A 1A1'.<br /> While for US addresses, use either the
            `5-digit` or `9-digit` ZIP Code in one of the following formats:
            '12345' or '12345-6789'.<br /> `Max length = 30`"
          example: '10118'
        countryCode:
          type: string
          description: >
            "The country in which the recipient's address is located. The value
            will be the two-character ISO Code of the country from the ISO
            country list. <br /> Use ISO 3166-1 Alpha-2 standard values. For
            best results this should be included, especially if the country name
            does not appear in any of the unparsedAddressLines.

            <br /> Below is the hyperlink, please select `Country codes` and
            then click `SEARCH` button. <br /> `Max length = 10`"
          externalDocs:
            url: https://www.iso.org/obp/ui/#search
            description: List of Countries with their ISO Codes
          example: US
        company:
          type: string
          description: >-
            The name of the company, in case if the recipient address is not
            residential. Recipient company is required for RMG b2b shipment.
          example: PB
        phone:
          type: string
          description: >-
            This is Recipient's phone number. Enter the digits with or without
            spaces or hyphens. <br /> `Max length = 15`.
          example: '2127363100'
        email:
          type: string
          description: >-
            This must be recipient's valid email. Email is required if the
            customer is using GoFor Carrier. <br /> `Max length = 50` 
          example: recipient@gmail.com
        residential:
          type: boolean
          description: >-
            The specified address can be Residential or Official. In case if the
            address is Residential, the boolean value will be 'true', else it
            will take 'false'.
          example: true
        isPOBox:
          type: boolean
          description: >-
            Checks if the specified address has the PO Box. In case if Yes, the
            boolean value will be 'true', else it will take 'false'.
          example: true
    Parcels:
      type: array
      description: Parcel details specific to LTL (Less-Than-Truckload) shipments.
      items:
        type: object
        required:
          - parcelType
          - parcel
          - freightClass
        properties:
          parcelType:
            type: string
            description: |
              Parcel type for the LTL handling unit.
              Examples include CARTON, PALLET, CRATE, etc.
            example: CARTON
          parcel:
            type: object
            description: Parcel details, including dimensions and weight.
            required:
              - length
              - width
              - height
              - dimUnit
              - weightUnit
              - weight
            properties:
              length:
                type: number
                description: Length of the parcel. This is the greatest dimension.
                example: 100
              width:
                type: number
                description: >-
                  Width of the parcel. Conventionally the second largest
                  dimension.
                example: 10
              height:
                type: number
                description: Height of the parcel. Conventionally the smallest dimension.
                example: 10
              dimUnit:
                type: string
                description: Unit of measurement for dimensions.
                enum:
                  - IN
                  - CM
                example: IN
              weightUnit:
                type: string
                description: Unit of measurement for weight.
                enum:
                  - OZ
                  - GM
                example: OZ
              weight:
                type: number
                description: Weight of the parcel.
                example: 1600
              packageValue:
                type: number
                description: Declared value of the parcel.
                example: 2
          freightClass:
            type: string
            description: Freight class assigned to the LTL package.
            example: CLASS200
            enum:
              - Class 50
              - Class 55
              - Class 60
              - Class 65
              - Class 70
              - Class 77.5
              - Class 85
              - Class 92.5
              - Class 100
              - Class 110
              - Class 125
              - Class 150
              - Class 175
              - Class 200
              - Class 250
              - Class 300
              - Class 400
              - Class 500
          items:
            type: array
            description: >-
              List of items contained in the LTL handling unit. Provides
              item-level details such as description, quantity, unit price,
              weight, and origin, used for customs, invoicing, and freight
              documentation.
            items:
              type: object
              properties:
                itemId:
                  type: string
                  description: Unique identifier of the item within the parcel.
                  example: '1'
                orderNumber:
                  type: string
                  description: Order number associated with the item.
                  example: ORD-12345
                description:
                  type: string
                  description: Description of the item.
                  example: Package 2 Documents
                hSTariffCode:
                  type: string
                  description: >-
                    Harmonized System (HS) tariff code used to classify the item
                    for customs and duties.
                  example: AST559
                originCountryCode:
                  type: string
                  description: >-
                    ISO country code representing the country of origin where
                    the item was manufactured.
                  example: CA
                originStateProvince:
                  type: string
                  description: >-
                    State or province code representing the state/province of
                    origin where the item was manufactured.
                  example: MB
                quantity:
                  type: integer
                  description: Quantity of this item in the handling unit.
                  example: 1
                unitPrice:
                  type: number
                  description: Unit price of the item.
                  example: 101
                weightUnit:
                  type: string
                  description: Unit of measurement for the item weight.
                  enum:
                    - OZ
                    - LB
                    - GM
                    - KG
                  example: LB
                weight:
                  type: number
                  description: Weight of the item.
                  example: 100
    additionalAddresses:
      type: array
      description: |
        A list of additional addresses associated with the order.
      items:
        type: object
        properties:
          address:
            type: object
            description: The additional address details.
            properties:
              residential:
                type: boolean
                example: false
                description: If the address is residential.
              phone:
                type: string
                example: 732-443-1007
                description: Contact phone number for the address.
              countryCode:
                type: string
                example: US
                description: The ISO 2-letter country code.
              company:
                type: string
                example: ABC Company
                description: The name of the company associated with the address.
              postalCode:
                type: string
                example: 08810-1411
                description: ZIP or postal code.
              cityTown:
                type: string
                example: DAYTON
                description: Name of the city or town.
              name:
                type: string
                example: Warehouse Manager
                description: Name of the contact person.
              stateProvince:
                type: string
                example: NJ
                description: State or province code.
              addressLine1:
                type: string
                example: 2270 US HIGHWAY 130
                description: Primary street address line.
          addressType:
            type: string
            example: BILLING
            description: >-
              Type of the additional address (e.g., BILLING). This is required
              if passing `additionalAddresses`.
    LTLDetails:
      type: object
      description: Details specific to LTL (Less-Than-Truckload) shipments.
      required:
        - packages
      properties:
        packages:
          type: array
          minItems: 1
          description: List of LTL packages (handling units) included in the shipment.
          items:
            type: object
            required:
              - parcelType
              - parcel
              - freightClass
            properties:
              parcelType:
                type: string
                description: |
                  Parcel type for the LTL handling unit.
                  Examples include CARTON, PALLET, CRATE, etc.
                example: CARTON
              parcel:
                type: object
                description: Parcel details, including dimensions and weight.
                required:
                  - length
                  - width
                  - height
                  - dimUnit
                  - weightUnit
                  - weight
                properties:
                  length:
                    type: number
                    description: Length of the parcel. This is the greatest dimension.
                    example: 100
                  width:
                    type: number
                    description: >-
                      Width of the parcel. Conventionally the second largest
                      dimension.
                    example: 10
                  height:
                    type: number
                    description: >-
                      Height of the parcel. Conventionally the smallest
                      dimension.
                    example: 10
                  dimUnit:
                    type: string
                    description: Unit of measurement for dimensions.
                    enum:
                      - IN
                      - CM
                    example: IN
                  weightUnit:
                    type: string
                    description: Unit of measurement for weight.
                    enum:
                      - OZ
                      - GM
                    example: OZ
                  weight:
                    type: number
                    description: Weight of the parcel.
                    example: 1600
                  packageValue:
                    type: number
                    description: Declared value of the parcel.
                    example: 2
              freightClass:
                type: string
                description: Freight class assigned to the LTL package.
                example: CLASS200
                enum:
                  - Class 50
                  - Class 55
                  - Class 60
                  - Class 65
                  - Class 70
                  - Class 77.5
                  - Class 85
                  - Class 92.5
                  - Class 100
                  - Class 110
                  - Class 125
                  - Class 150
                  - Class 175
                  - Class 200
                  - Class 250
                  - Class 300
                  - Class 400
                  - Class 500
