Cedarai WorkOrderService API

The WorkOrderService API from Cedarai — 10 operation(s) for workorderservice.

OpenAPI Specification

cedarai-workorderservice-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: protobuf/arms/charge.proto ChargeService WorkOrderService API
  version: version not set
servers:
- description: Production (US)
  url: https://api-lg-k-h1.arms.cedarai.com
- description: Production (EU)
  url: https://api-lg-k-h1.arms.cedarai.se
security:
- ApiKeyAuth: []
  AssumeUserAuth: []
tags:
- name: WorkOrderService
paths:
  /t/v1/list-train-reason-codes:
    post:
      tags:
      - WorkOrderService
      summary: List Train Reason Codes
      description: Returns the carrier's train reason codes grouped by category.
      operationId: ListTrainReasonCodes
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsListTrainReasonCodesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsListTrainReasonCodesResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/resequence-train:
    post:
      tags:
      - WorkOrderService
      summary: Resequence a train
      description: Used for resequence of active trains. For editing the consist of Pending trains, use UpdateWorkOrder.
      operationId: ReSequenceTrain
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsReSequenceTrainRequest'
        description: Request message for resequencing a train's consist order. Used when the actual train consist order differs from the planned order, such as after an EDI scanner detects changes.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/setout-cars:
    post:
      tags:
      - WorkOrderService
      summary: Setout Cars
      description: Setout cars. On success, completes the Setout tasks.
      operationId: SetoutCars
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsSetoutCarsRequest'
        description: Request message for completing setout tasks.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/pickup-cars:
    post:
      tags:
      - WorkOrderService
      summary: Pickup cars
      description: Pickup cars. On success, completes the Pickup tasks.
      operationId: PickupCars
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsPickupCarsRequest'
        description: Request message for completing Pickup tasks.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/list-work-orders:
    post:
      tags:
      - WorkOrderService
      summary: List Work Orders
      description: Returns list of Work Orders
      operationId: ListWorkOrders
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsListWorkOrdersRequest'
        description: Request message for listing work orders with optional filtering and pagination. Used to search and retrieve work orders based on various criteria such as status, equipment, locations, and dates.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsListWorkOrdersResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/depart-train:
    post:
      tags:
      - WorkOrderService
      summary: Depart train
      description: Depart a train from a station.
      operationId: DepartTrain
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsDepartTrainRequest'
        description: Request message for recording a train departure from a station or location. Used when a train leaves to begin its journey or move to the next location.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/update-work-order:
    post:
      tags:
      - WorkOrderService
      summary: Update a Work Order
      description: Update a Work Order. Used for editing consist of a pending train.
      operationId: UpdateWorkOrder
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsUpdateWorkOrderRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsWorkOrder'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/list-work-order-tasks:
    post:
      tags:
      - WorkOrderService
      summary: List Work Order Tasks
      description: Returns a list of tasks for a given work order.
      operationId: ListWorkOrderTasks
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsListWorkOrderTasksRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsListWorkOrderTasksResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/arrive-train:
    post:
      tags:
      - WorkOrderService
      summary: Arrive train
      description: Arrive a train to a customer or serving location.
      operationId: ArriveTrain
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsArriveTrainRequest'
        description: Request message for recording a train arrival at a specific track. Used when a train arrives at a station or location to begin operations.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/record-train-event:
    post:
      tags:
      - WorkOrderService
      summary: Record Train Event
      description: Record a train event.
      operationId: RecordTrainEvent
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsRecordTrainEventRequest'
        description: Request message for recording a train event.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
components:
  schemas:
    cedaraiarmsTimeRange:
      properties:
        endTime:
          format: date-time
          type: string
        startTime:
          format: date-time
          type: string
      type: object
    armsSetoutCarsRequest:
      description: Request message for completing setout tasks.
      example:
        exceptions: []
        items:
        - position: 1
          setout_task_id: task_001
          track_id: 67890
        - equipment_id: 55555
          position: 2
          track_id: 67890
        work_order_id: '12345'
      properties:
        exceptions:
          items:
            $ref: '#/components/schemas/armsSetoutCarsRequestException'
          type: array
        isLostConsist:
          type: boolean
        items:
          description: List of items to Setout. The associated Setout tasks will be closed on success.
          items:
            $ref: '#/components/schemas/armsSetoutCarsRequestItem'
          type: array
        timestamp:
          format: date-time
          type: string
        workOrderId:
          type: string
      required:
      - exceptions
      - items
      - workOrderId
      title: Setout Cars Request
      type: object
    armsWaybillRevisionSourceType:
      default: WAYBILL_REVISION_SOURCE_TYPE_UNSPECIFIED
      enum:
      - WAYBILL_REVISION_SOURCE_TYPE_UNSPECIFIED
      - WAYBILL
      - CONSIST
      - BILL_OF_LADING
      - ADVANCE_CAR_DISPOSITION
      - LOAD
      - EMPTY
      - REBILL
      - DERAMP
      type: string
    armsEquipmentFilter:
      properties:
        departureTrainId:
          type: string
        intersectedGroupFilters:
          items:
            $ref: '#/components/schemas/armsGroupFilter'
          type: array
        priority:
          format: int64
          type: integer
        timeFilter:
          $ref: '#/components/schemas/EquipmentFilterNestedTimeFilter'
        wantDateDaysFromNow:
          format: int64
          type: integer
        wantDateOffsetEnd:
          format: int64
          type: integer
        wantDateOffsetStart:
          format: int64
          type: integer
      type: object
    armsPartyIdentificationCodeQualifier:
      default: PARTY_IDENTIFICATION_CODE_QUALIFIER_UNSPECIFIED
      enum:
      - PARTY_IDENTIFICATION_CODE_QUALIFIER_UNSPECIFIED
      - DUNS
      - DUNS_PLUS_4
      - TELEPHONE_NUMBER
      - ABI_ROUTING_CODE
      - SPLC
      - CBSA_AUTOMOTIVE_ID
      - BROKER_FILER_ID
      - CRA_BUSINESS_NUMBER
      - CIF_NUMBER
      - FEDERAL_TAXPAYER_ID
      - JURISDICTION_CODE
      - ORIGIN_ASSIGNED_CODE
      - MUTUALLY_DEFINED
      type: string
    armsWorkOrderScheduledStop:
      properties:
        activityCode:
          type: string
        arrivalTime:
          format: date-time
          type: string
        cancelled:
          type: boolean
        customerLocationId:
          format: int64
          type: string
        departureTime:
          format: date-time
          type: string
        servingLocationId:
          format: int64
          type: string
        workDefinitionId:
          type: string
      type: object
    GroupingGroupingStatus:
      default: ACTIVE
      enum:
      - ACTIVE
      - ARCHIVED
      type: string
    armsWeightType:
      default: WT_ESTIMATED
      enum:
      - WT_ESTIMATED
      - WT_ACTUAL
      type: string
    armsEquipmentDetails:
      properties:
        aarCarType:
          type: string
        carrierCode:
          type: string
        chassisInitial:
          type: string
        chassisNumber:
          format: uint64
          type: string
        checkDigit:
          format: int64
          type: integer
        descriptionCode:
          type: string
        dunnage:
          format: int64
          type: integer
        dunnageMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        equipmentInitial:
          type: string
        equipmentName:
          type: string
        equipmentNumber:
          format: uint64
          type: string
        equipmentOrdered:
          $ref: '#/components/schemas/armsEquipmentOrdered'
        grossWeightLbs:
          format: int64
          type: integer
        grossWeightMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        heightIn:
          format: int64
          type: integer
        heightMeasure:
          $ref: '#/components/schemas/cedaraiIntLengthMeasurement'
        interchangeMoveAuthorities:
          items:
            $ref: '#/components/schemas/armsInterchangeMoveAuthority'
          type: array
        isoContainerCode:
          type: string
        lengthIn:
          format: int64
          type: integer
        lengthMeasure:
          $ref: '#/components/schemas/cedaraiIntLengthMeasurement'
        netWeightLbs:
          format: int64
          type: integer
        netWeightMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        ownershipCode:
          type: string
        owningCarrierCode:
          type: string
        position:
          type: string
        sealNumbers:
          items:
            type: string
          type: array
        shipmentInfo:
          items:
            $ref: '#/components/schemas/armsEquipmentShipmentInformation'
          type: array
        tareQualifierCode:
          type: string
        tareWeightLbs:
          format: int64
          type: integer
        tareWeightMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        terminals:
          items:
            $ref: '#/components/schemas/armsTerminal'
          type: array
        weightAllowance:
          format: int64
          type: integer
        weightAllowanceMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        weightType:
          $ref: '#/components/schemas/armsWeightType'
        widthIn:
          format: int64
          type: integer
        widthMeasure:
          $ref: '#/components/schemas/cedaraiIntLengthMeasurement'
      type: object
    armsReferenceInfo:
      properties:
        description:
          type: string
        referenceId:
          type: string
        referenceIdQualifier:
          type: string
      type: object
    armsTrack:
      properties:
        name:
          type: string
        trackId:
          format: int64
          type: string
      type: object
    armsWaybill:
      properties:
        armsTrackingId:
          type: string
        billOfLadingNumber:
          type: string
        capacityLoadCode:
          $ref: '#/components/schemas/armsCapacityLoadCode'
        crossReferenceEquipment:
          items:
            $ref: '#/components/schemas/armsCrossReferenceEquipment'
          type: array
        defaultReceiver:
          type: string
        destinationJunction:
          $ref: '#/components/schemas/armsWaybillStation'
        destinationStation:
          $ref: '#/components/schemas/armsWaybillStation'
        equipmentDetails:
          items:
            $ref: '#/components/schemas/armsEquipmentDetails'
          type: array
        extendedReferenceInfo:
          items:
            $ref: '#/components/schemas/armsExtendedReferenceInformation'
          type: array
        lineItems:
          items:
            $ref: '#/components/schemas/armsLineItem'
          type: array
        originCarrierCode:
          type: string
        originJunction:
          $ref: '#/components/schemas/armsWaybillStation'
        originStation:
          $ref: '#/components/schemas/armsWaybillStation'
        originSystem:
          $ref: '#/components/schemas/armsWaybillOriginSystem'
        parties:
          items:
            $ref: '#/components/schemas/cedaraiarmsParty'
          type: array
        revisionNumber:
          format: int64
          type: integer
        revisionSourceType:
          $ref: '#/components/schemas/armsWaybillRevisionSourceType'
        revisionTime:
          format: date-time
          type: string
        route:
          items:
            $ref: '#/components/schemas/cedaraiarmsRouteEntry'
          type: array
        shipmentId:
          type: string
        shipmentPaymentMethod:
          $ref: '#/components/schemas/armsShipmentPaymentMethod'
        shipmentQualifier:
          $ref: '#/components/schemas/armsShipmentQualifier'
        specialHandlingCodes:
          items:
            type: string
          type: array
        transportationMethod:
          $ref: '#/components/schemas/armsTransportationMethod'
        waybillDate:
          format: date-time
          type: string
        waybillId:
          format: int64
          type: integer
        waybillNumber:
          format: int64
          type: integer
        waybillStatus:
          $ref: '#/components/schemas/armsWaybillStatus'
        weightUnitCode:
          $ref: '#/components/schemas/armsWeightUnitCode'
      type: object
    armsDepartTrainRequest:
      description: Request message for recording a train departure from a station or location. Used when a train leaves to begin its journey or move to the next location.
      example:
        auto_uncomplete_tasks: true
        exception: Departure delayed due to equipment issue
        station_id: 11111
        timestamp: '2024-01-15T14:30:00Z'
        work_order_id: '12345'
      properties:
        autoCloseTasks:
          description: Automatically close open tasks as INCOMPLETE.
          type: boolean
        exception:
          type: string
        stationId:
          format: int64
          type: string
        timestamp:
          format: date-time
          type: string
        workOrderId:
          type: string
      required:
      - workOrderId
      title: Depart Train Request
      type: object
    cedaraiarmsParty:
      properties:
        additionalNames:
          items:
            type: string
          type: array
        address:
          items:
            type: string
          type: array
        administrativeContacts:
          items:
            $ref: '#/components/schemas/armsAdministrativeContact'
          type: array
        billingInfo:
          items:
            $ref: '#/components/schemas/armsBillingInformation'
          type: array
        cityName:
          type: string
        countryCode:
          type: string
        countrySubdivisionCode:
          type: string
        entitySubIdentifierCode:
          type: string
        entitySubIdentifierRelationshipCode:
          type: string
        idCode:
          type: string
        idCodeQualifier:
          $ref: '#/components/schemas/armsPartyIdentificationCodeQualifier'
        locationIdentifier:
          type: string
        locationQualifier:
          type: string
        locationUuid:
          type: string
        name:
          type: string
        partyType:
          $ref: '#/components/schemas/armsPartyEntityIdentifierCode'
        postalCode:
          type: string
        referenceInfo:
          items:
            $ref: '#/components/schemas/armsReferenceInfo'
          type: array
        stateOrProvince:
          type: string
      type: object
    armsWaybillStatus:
      default: WAYBILL_STATUS_UNSPECIFIED
      enum:
      - WAYBILL_STATUS_UNSPECIFIED
      - PENDING
      - ACTIVE
      - ARCHIVED
      type: string
    armsRebillReasonCode:
      default: REBILL_REASON_CODE_UNSPECIFIED
      enum:
      - REBILL_REASON_CODE_UNSPECIFIED
      - RRC_COLLECT
      - RRC_PREPAID
      type: string
    armsTerminal:
      properties:
        locationIdentifier:
          type: string
        locationQualifier:
          type: string
        portName:
          type: string
        terminalFunctionCode:
          type: string
      type: object
    armsInterchangeMoveAuthority:
      properties:
        carrierCode:
          type: string
        movementAuthorityCode:
          type: string
        rejectReasonCode:
          type: string
        stateTariffApplicationCode:
          type: string
        terminalTariffApplicationCode:
          type: string
      type: object
    armsListWorkOrdersRequest:
      description: Request message for listing work orders with optional filtering and pagination. Used to search and retrieve work orders based on various criteria such as status, equipment, locations, and dates.
      example:
        attributes:
          priority: high
          shift: day
        customer_location_ids:
        - '33333'
        designated_date_range:
          end: '2024-01-31T23:59:59Z'
          start: '2024-01-01T00:00:00Z'
        destination_location_ids:
        - '22222'
        equipment_name: BNSF 123456
        include_tasks: true
        name: Daily Switch Job
        origin_location_ids:
        - '11111'
        page_next_token: eyJwYWdlIjogMiwgImxhc3RfaWQiOiAiMTIzNDUifQ==
        page_size: 50
        serving_location_ids:
        - '44444'
        statuses:
        - ACTIVE
        - PENDING
        work_order_ids:
        - '12345'
        - '67890'
      properties:
        attributes:
          additionalProperties:
            type: string
          type: object
        customerLocationIds:
          items:
            type: string
          type: array
        designatedDateRange:
          $ref: '#/components/schemas/cedaraiarmsTimeRange'
        destinationLocationIds:
          items:
            type: string
          type: array
        directionFilter:
          $ref: '#/components/schemas/armsWorkOrderDirectionFilter'
        equipmentName:
          type: string
        inTransit:
          type: boolean
        includeScheduledStops:
          description: Whether to include scheduled stop arrival/departure times, activity codes, and cancellation info in the response.
          type: boolean
        includeTasks:
          description: Whether to include task details in the response.
          type: boolean
        name:
          type: string
        originLocationIds:
          items:
            type: string
          type: array
        pageNextToken:
          type: string
        pagePreviousToken:
          type: string
        pageSize:
          format: int64
          type: integer
        servingLocationIds:
          items:
            type: string
          type: array
        statuses:
          items:
            $ref: '#/components/schemas/armsWorkOrderStatus'
          type: array
        taskLocationIds:
          items:
            type: string
          type: array
        workOrderIds:
          description: Optional list of work order ids to fetch. When provided these are the only work orders returned.
          items:
            type: string
          type: array
      title: List Work Orders Request
      type: object
    armsWorkOrderTaskType:
      default: PICKUP
      enum:
      - PICKUP
      - SETOUT
      type: string
    cedaraiarmsRouteEntry:
      properties:
        additionalSwitchCarrierCodes:
          items:
            type: string
          type: array
        carrierCode:
          type: string
        intermodalServiceCode:
          type: string
        isBreakpoint:
          type: boolean
        junctionCode:
          type: string
        rebillReasonCode:
          type: string
        routingSequenceCode:
          $ref: '#/components/schemas/cedaraiRoutingSequenceCode'
        rule11PartyId:
          type: string
        splc:
          type: string
      type: object
    cedaraiIntLengthMeasurement:
      properties:
        unit:
          type: string
        value:
          format: int32
          type: integer
      type: object
    armsAddressType:
      default: AT_UNKNOWN
      enum:
      - AT_UNKNOWN
      - AT_CARRIER
      - AT_CUSTOMER
      - AT_PORT
      - AT_CONTRACTUAL_PORT
      - AT_PARTIAL
      type: string
    RecordTrainEventRequestSafetyCheckEventDetailsStatus:
      default: PASSED
      enum:
      - PASSED
      - FAILED
      type: string
    cedaraiRoutingSequenceCode:
      default: ROUTING_SEQUENCE_CODE_UNSPECIFIED
      enum:
      - ROUTING_SEQUENCE_CODE_UNSPECIFIED
      - INTERMEDIATE_CARRIER_1
      - INTERMEDIATE_CARRIER_2
      - INTERMEDIATE_CARRIER_3
      - INTERMEDIATE_CARRIER_4
      - INTERMEDIATE_CARRIER_5
      - INTERMEDIATE_CARRIER_6
      - INTERMEDIATE_CARRIER_7
      - INTERMEDIATE_CARRIER_8
      - INTERMEDIATE_CARRIER_9
      - ORIGIN_CARRIER_AGENT_ROUTING
      - DELIVERY_SWITCH_CARRIER
      - HAULAGE_RIGHTS_CARRIER
      - ORIGIN_SWITCH_CARRIER
      - JUNCTION_SETTLEMENT_CARRIER_FOLLOWING
      - JUNCTION_SETTLEMENT_CARRIER_INTERMEDIATE
      - JUNCTION_SETTLEMENT_CARRIER_PREDECESSOR
      - HAULAGE_MOVEMENT_CARRIER
      - ORIGIN_CARRIER_RULE_11
      - ORIGIN_CARRIER_SHIPPER_ROUTING
      - INTERMEDIATE_SWITCH_CARRIER
      type: string
    armsArrivalState:
      default: AS_INBOUND
      enum:
      - AS_INBOUND
      - AS_ONLINE
      - AS_OUTBOUND
      type: string
    EquipmentFilterTimeFilter:
      properties:
        absoluteTimeFilter:
          $ref: '#/components/schemas/EquipmentFilterAbsoluteTimeFilter'
        dwellFilter:
          $ref: '#/components/schemas/EquipmentFilterDwellFilter'
        nestedTimeFilter:
          $ref: '#/components/schemas/EquipmentFilterNestedTimeFilter'
        relativeTimeFilter:
          $ref: '#/components/schemas/EquipmentFilterRelativeTimeFilter'
      type: object
    armsCustomer:
      properties:
        customerId:
          format: int64
          type: string
        customerUuid:
          type: string
        locations:
          items:
            $ref: '#/components/schemas/armsCustomerLocation'
          type: array
        name:
          type: string
      type: object
    armsWaybillOriginSystem:
      default: WAYBILL_ORIGIN_SYSTEM_UNSPECIFIED
      enum:
      - WAYBILL_ORIGIN_SYSTEM_UNSPECIFIED
      - ARMS
      - EDI
      - BRAVO
      type: string
    armsGrouping:
      properties:
        attributes:
          properties: {}
          type: object
        customerLocation:
          $ref: '#/components/schemas/armsCustomerLocation'
        equipmentIndexEnabled:
          type: boolean
        frozen:
          type: boolean
        groupingId:
          format: int64
          type: string
        groupingType:
          type: string
        name:
          type: string
        sortOrder:
          format: int32
          type: integer
        status:
          $ref: '#/components/schemas/GroupingGroupingStatus'
      type: object
    armsArriveTrainRequest:
      description: Request message for recording a train arrival at a specific track. Used when a train arrives at a station or location to begin operations.
      example:
        exception: Delayed arrival due to weather
        is_front: true
        serving_location_id: 11111
        timestamp: '2024-01-15T10:30:00Z'
        track_id: 67890
        work_order_id: '12345'
      properties:
        customerLocationId:
          format: int64
          type: string
        exception:
          type: string
        isFront:
          type: boolean
        servingLocationId:
          format: int64
          type: string
        timestamp:
          format: date-time
          type: string
        trackId:
          format: int64
          type: string
        workOrderId:
          type: string
      required:
      - isFront
      - trackId
      - workOrderId
      title: Arrive Train Request
      type: object
    armsGroupingIdFilter:
      properties:
        groupingIds:
          items:
            format: int64
            type: string
          type: array
        groupingType:
          type: string
        leafGroupingType:
          type: string
      type: object
    armsEquipmentShipmentInformation:
      properties:
        description:
          type: string
        extendedReferenceInfo:
          items:
            $ref: '#/components/schemas/armsExtendedReferenceInformation'
          type: array
        lineItems:
          items:
            $ref: '#/components/schemas/armsEquipmentLineItem'
          type: array
        referenceId:
          type: string
        referenceIdQualifier:
          type: string
      type: object
    armsWeightQualifier:
      default: WQ_UNKNOWN
      enum:
      - WQ_UNKNOWN
      - WQ_MAXIMUM_WEIGHT
      - WQ_SHIPPER_WEIGHT
      - WQ_BILLED_WEIGHT
      - WQ_ACTUAL_NET_WEIGHT_FOR_COMBINATION
      - WQ_ESTIMATED_NET_WEIGHT
      - WQ_GROSS_WEIGHT
      - WQ_LIGHT_WEIGHT
      - WQ_CLEAN_OUT
      - WQ_LEGAL_WEIGHT
      - WQ_MINIMUM_WEIGHT
      - WQ_ACTUAL_NET_WEIGHT
      - WQ_EXCESS_WEIGHT
      - WQ_STATE_WEIGHT
      type: string
    armsListTrainReasonCodesResponse:
      properties:
        reasonCodes:
          items:
            $ref: '#/components/schemas/armsTrainReasonCode'
          type: array
      type: object
    armsWorkOrderStatus:
      default: PENDING
      enum:
      - PENDING
      - ACTIVE
      - CLOSED
      - CANCELLED
      type: string
    armsReSequenceTrainRequest:
      description: Request message for resequencing a train's consist order. Used when the actual train consist order differs from the planned order, such as after an EDI scanner detects changes.
      example:
        auto_setout_pickup: true
        exception: Scanner detected different consist order
        ignore_cars_with_completed_setout: false
        train_consist_equipment_uuids:
        - uuid_car1
        - uuid_car2
        - uuid_car3
        work_order_id: '12345'
      properties:
        autoSetoutPickup:
          description: Whether to automatically pickup new cars being added to consist and setout cars being removed from consist.
          type: boolean
        exception:
          description: Optional exception message that will be set on any Pickup requests that come from the resequence.
          type: string
        ignoreCarsWithCompletedSetout:
          description: Whether to ignore cars that have a completed setout task when resequencing.These cars will be removed from the consist.
          type: bool

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cedarai/refs/heads/main/openapi/cedarai-workorderservice-api-openapi.yml