Pack & Ship Service Integration

Overview

Attribute Value
Context Pack & Ship Service
Pattern Open Host Service
Direction Outbound (Process Path → Pack & Ship)
Protocol Apache Kafka + REST API
Topics process-path.routing.*, pack-ship.packing.*

Integration Summary

Process Path exposes a standardized interface for Pack & Ship Service. Process Path signals when shipments are ready for packing and provides SLA priority information. Pack & Ship consumes these signals and reports completion status.

flowchart LR
    subgraph PP["PROCESS PATH"]
        PRS[Pack Ready Signals]
        SLA[SLA Priority]
        CA[Chute Assignments]
        SC[SLAM Coordination]
    end

    subgraph PS["PACK & SHIP"]
        PSM[Pack Station Mgmt]
        CS[Carrier Selection]
        LG[Label Generation]
        WV[Weight Verification]
    end

    PRS -->|PackReadyEvent| PSM
    SLA -->|SLAPriorityEvent| PSM
    CA -->|ChuteAssignment| PSM
    WV -->|PackingCompleted| SC
    LG -->|SLAMCompleted| SC

Pack-to-SLAM Sequence

sequenceDiagram
    participant PP as Process Path
    participant PACK as Pack Station
    participant SLAM as SLAM Station
    participant SHIP as Transportation

    PP->>PACK: PackReadyEvent
    Note right of PP: Tote arrived<br/>SLA: GREEN

    PACK->>PACK: Assign to station
    PACK->>PACK: Packer retrieves item
    PACK->>PACK: Pack into box

    PACK->>PP: PackingCompletedEvent
    Note left of PACK: Box A1 used<br/>Duration: 1m30s

    PACK->>SLAM: Send to SLAM
    SLAM->>SLAM: Weigh package
    SLAM->>SLAM: Print & apply label
    SLAM->>SLAM: Record manifest

    SLAM->>PP: SLAMCompletedEvent
    Note left of SLAM: Tracking: 1Z999AA1...<br/>Carrier: UPS

    PP->>SHIP: Shipment ready

Events Published by Process Path

PackReadyEvent

Purpose: Signal that shipment is ready for packing

Topic: process-path.routing.events

Pack & Ship Action: Queue for pack station assignment

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
  "specversion": "1.0",
  "type": "com.paklog.processpath.pack.ready.v1",
  "source": "/process-path-service",
  "id": "evt-pack-123456",
  "time": "2025-01-20T10:15:00.000Z",
  "subject": "SHP-123456",
  "data": {
    "shipmentId": "SHP-123456",
    "orderId": "ORD-789012",
    "pathType": "SINGLES",
    "sourceLocation": {
      "type": "TOTE",
      "toteId": "TOTE-789",
      "conveyorZone": "PACK-ZONE-A"
    },
    "itemCount": 1,
    "slaPriority": "GREEN",
    "carrierCutoffTime": "2025-01-20T16:00:00Z",
    "packingInstructions": {
      "recommendedBoxSize": "A1",
      "requiresPadding": true,
      "giftWrap": false,
      "specialInstructions": null
    },
    "readyAt": "2025-01-20T10:15:00Z"
  }
}

AFEConsolidationCompleteEvent

Purpose: Signal that AFE order is fully consolidated

Topic: process-path.routing.events

Pack & Ship Action: Pack from rebin wall chute

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "type": "com.paklog.processpath.afe.consolidation.complete.v1",
  "data": {
    "shipmentId": "SHP-123456",
    "orderId": "ORD-789012",
    "wallId": "WALL-AFE-01",
    "chuteId": "CHUTE-A-45",
    "itemCount": 3,
    "slaPriority": "YELLOW",
    "chuteLight": "YELLOW",
    "packingInstructions": {
      "recommendedBoxSize": "B2",
      "requiresPadding": true,
      "giftWrap": false
    },
    "consolidatedAt": "2025-01-20T10:20:00Z"
  }
}

SLAPriorityEscalatedEvent

Purpose: Update pack queue priority

Topic: process-path.sla.events

Pack & Ship Action: Reprioritize in pack queue, update chute light

1
2
3
4
5
6
7
8
9
10
11
{
  "type": "com.paklog.processpath.sla.escalated.v1",
  "data": {
    "shipmentId": "SHP-123456",
    "previousPriority": "GREEN",
    "newPriority": "RED",
    "timeToSLACutoff": "PT25M",
    "expeditedRouting": true,
    "packStationOverride": "PACK-EXPRESS-01"
  }
}

Events Consumed from Pack & Ship

PackingCompletedEvent

Purpose: Track shipment completion, update cycle time metrics

Topic: pack-ship.packing.completed

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "type": "com.paklog.packship.packing.completed.v1",
  "data": {
    "shipmentId": "SHP-123456",
    "orderId": "ORD-789012",
    "packStationId": "PACK-STATION-05",
    "packerId": "WORKER-123",
    "boxUsed": "A1",
    "actualWeight": 1.52,
    "packDuration": "PT1M30S",
    "packedAt": "2025-01-20T10:17:00Z"
  }
}

SLAMCompletedEvent

Purpose: Track SLAM completion, trigger shipping handoff

Topic: pack-ship.slam.completed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "type": "com.paklog.packship.slam.completed.v1",
  "data": {
    "shipmentId": "SHP-123456",
    "orderId": "ORD-789012",
    "trackingNumber": "1Z999AA10123456784",
    "carrier": "UPS",
    "serviceLevel": "GROUND",
    "labelApplied": true,
    "manifestRecorded": true,
    "actualWeight": 1.52,
    "slamStationId": "SLAM-01",
    "slammedAt": "2025-01-20T10:18:00Z"
  }
}

WeightVerificationFailedEvent

Purpose: Handle weight discrepancies

Topic: pack-ship.slam.weight-failed

1
2
3
4
5
6
7
8
9
10
11
12
{
  "type": "com.paklog.packship.weight.failed.v1",
  "data": {
    "shipmentId": "SHP-123456",
    "expectedWeight": 1.50,
    "actualWeight": 2.10,
    "variance": 0.60,
    "variancePercent": 40,
    "action": "DIVERT_TO_PROBLEM_SOLVE",
    "failedAt": "2025-01-20T10:18:00Z"
  }
}

Pack Station Coordination

Singles Path Flow

sequenceDiagram
    participant TOTE as Tote
    participant PP as Process Path
    participant PACK as Pack Station
    participant PACKER as Packer
    participant SLAM as SLAM

    TOTE->>PACK: Arrives at station
    PP->>PACK: PackReadyEvent
    PACK->>PACKER: Assign to station
    PACKER->>TOTE: Scan & retrieve item
    PACK->>PACKER: Display instructions
    PACKER->>PACKER: Select box & pack
    PACKER->>SLAM: Send package
    PACK->>PP: PackingCompletedEvent

AFE Path Flow

sequenceDiagram
    participant CHUTE as Rebin Chute
    participant PP as Process Path
    participant PACK as Pack Station
    participant PACKER as Packer
    participant SLAM as SLAM

    Note over CHUTE: All items arrived
    PP->>PACK: AFEConsolidationCompleteEvent
    PP->>CHUTE: Set light (priority color)

    PACKER->>CHUTE: Retrieve all items
    PACK->>PACKER: Display multi-item instructions
    PACKER->>PACKER: Consolidate & pack

    PACKER->>SLAM: Send package
    PACK->>PP: PackingCompletedEvent
    PP->>CHUTE: Release for reuse

Chute Light Protocol

Process Path controls chute lights based on SLA priority:

Priority Light Color Meaning
GREEN Green Normal priority, standard processing
YELLOW Yellow/Magenta Elevated priority, pack soon
RED Red Critical, pack immediately
1
2
3
4
5
6
7
8
9
10
{
  "type": "com.paklog.processpath.chute.light.update.v1",
  "data": {
    "wallId": "WALL-AFE-01",
    "chuteId": "CHUTE-A-45",
    "lightColor": "RED",
    "reason": "SLA_CRITICAL",
    "shipmentId": "SHP-123456"
  }
}

SLAM Integration

Weight Verification Rules

Process Path provides expected weight for SLAM verification:

1
2
3
4
5
6
7
8
9
10
11
12
{
  "shipmentId": "SHP-123456",
  "expectedWeight": {
    "itemWeight": 1.2,
    "packagingWeight": 0.3,
    "total": 1.5,
    "varianceThreshold": {
      "absolute": 0.5,
      "percent": 10
    }
  }
}

SLAM Outcomes

Outcome Process Path Action
PASS Mark shipment complete, update metrics
FAIL_WEIGHT Route to problem solve, track exception
FAIL_LABEL Retry label, escalate if persistent

Pack Station Capacity

Pack & Ship reports station capacity to Process Path:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "type": "com.paklog.packship.capacity.report.v1",
  "data": {
    "stationType": "SINGLES",
    "stations": [
      {
        "stationId": "PACK-STATION-01",
        "status": "ACTIVE",
        "queueDepth": 8,
        "throughputPerHour": 180,
        "workerId": "WORKER-101"
      }
    ],
    "totalActive": 12,
    "totalCapacity": 15,
    "utilizationPercent": 80
  }
}

Process Path uses this for:


Error Handling

Packing Errors

Error Pack & Ship Action Process Path Action
Item damaged Divert to problem solve Update shipment status
Wrong item Divert to problem solve Investigate routing
Box unavailable Select alternate size Update packing instructions

SLAM Errors

Error Pack & Ship Action Process Path Action
Weight variance Divert to reweigh Flag for investigation
Label print fail Retry, manual if needed Track exception rate
Manifesting fail Queue for retry Alert if persistent

Performance Metrics

Metric Target Impact
Pack cycle time (singles) < 2 min Path cycle time estimate
Pack cycle time (multi) < 4 min AFE cycle time estimate
SLAM pass rate > 98% Exception handling load
Station utilization 70-85% Capacity scoring

Monitoring

Key Metrics

Alerts