Pick Execution Service Integration
Overview
| Attribute |
Value |
| Context |
Pick Execution Service |
| Pattern |
Partnership |
| Direction |
Bidirectional |
| Protocol |
Apache Kafka |
| Topics |
process-path.routing.*, pick-execution.picks.* |
Integration Summary
Process Path and Pick Execution have a partnership relationship. Process Path routes shipments to paths, and Pick Execution manages the picking workflow. Pick Execution provides throughput feedback that influences routing decisions.
1
2
3
4
5
6
7
8
| ┌─────────────────────────┐ ┌─────────────────────────┐
│ PROCESS PATH │ ◄─────► │ PICK EXECUTION │
│ │ │ │
│ • Path assignment │ │ • Pick strategy │
│ • Capacity signals │ Events │ • Path optimization │
│ • Throughput targets │ │ • Pick verification │
│ │ │ • Progress tracking │
└─────────────────────────┘ └─────────────────────────┘
|
Events Published by Process Path
ShipmentRoutedToPathEvent
Purpose: Initiate picking for routed shipment
Topic: process-path.routing.events
Pick Execution Action: Create pick tasks based on path type
1
2
3
4
5
6
7
8
9
10
11
12
| {
"type": "com.paklog.processpath.shipment.routed.v1",
"data": {
"shipmentId": "SHP-123456",
"assignedPath": "AFE",
"pathId": "PATH-AFE-01",
"shipmentType": "MULTI",
"itemCount": 3,
"slaPriority": "GREEN",
"estimatedCycleTime": "PT15M"
}
}
|
PathCapacityChangedEvent
Purpose: Adjust pick release rate
Topic: process-path.capacity.events
Pick Execution Action: Throttle or accelerate pick assignments
1
2
3
4
5
6
7
8
| {
"type": "com.paklog.processpath.capacity.changed.v1",
"data": {
"pathId": "PATH-AFE-01",
"capacityState": "CONSTRAINED",
"utilizationPercent": 85
}
}
|
Events Consumed from Pick Execution
PickCompletedEvent
Purpose: Track shipment progress, update cycle time estimates
Topic: pick-execution.picks.completed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| {
"type": "com.paklog.pick.completed.v1",
"data": {
"pickId": "PICK-123456",
"shipmentId": "SHP-123456",
"sku": "SKU-WIDGET-001",
"quantity": 2,
"pickLocation": {
"zone": "ZONE-A",
"aisle": "A-12",
"bin": "BIN-045"
},
"toteId": "TOTE-789",
"pickDuration": "PT2M30S",
"pickedAt": "2025-01-20T10:05:00Z",
"nextStep": "INDUCT"
}
}
|
PickShortEvent
Purpose: Handle short picks, trigger rerouting if needed
Topic: pick-execution.picks.short
1
2
3
4
5
6
7
8
9
10
11
12
| {
"type": "com.paklog.pick.short.v1",
"data": {
"pickId": "PICK-123456",
"shipmentId": "SHP-123456",
"sku": "SKU-WIDGET-001",
"requestedQuantity": 2,
"pickedQuantity": 1,
"shortReason": "INVENTORY_NOT_FOUND",
"shortAt": "2025-01-20T10:05:00Z"
}
}
|
PickThroughputEvent
Purpose: Provide real-time throughput metrics for capacity scoring
Topic: pick-execution.metrics.throughput
1
2
3
4
5
6
7
8
9
10
11
12
| {
"type": "com.paklog.pick.throughput.v1",
"data": {
"zoneId": "ZONE-A",
"currentPicksPerHour": 145,
"targetPicksPerHour": 150,
"activePickersCount": 12,
"queueDepth": 35,
"avgPickDuration": "PT2M15S",
"timestamp": "2025-01-20T10:00:00Z"
}
}
|
Pick Strategy by Path
Singles Path Picking
1
2
3
4
5
6
7
8
9
10
| Path: SINGLES
Strategy: DIRECT_PICK
─────────────────────────
1. Single item per tote
2. Direct route to pack station
3. No consolidation required
4. Fastest cycle time
Pick Order:
[Item] → [Yellow Tote] → [Conveyor] → [Pack Station]
|
AFE Path Picking
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Path: AFE
Strategy: ITEM_BY_ITEM
─────────────────────────
1. Pick items individually
2. Each item to separate tote
3. Items travel to induct
4. Consolidation at rebin wall
Pick Order:
[Item 1] → [Tote A] → [Induct] → [AFE Tray] → [Sorter] → [Rebin]
[Item 2] → [Tote B] → [Induct] → [AFE Tray] → [Sorter] → [Rebin]
[Item 3] → [Tote C] → [Induct] → [AFE Tray] → [Sorter] → [Rebin]
↓
[Pack Station]
|
Batch/Flow Path Picking
1
2
3
4
5
6
7
8
9
10
| Path: BATCH_FLOW
Strategy: BATCH_PICK
─────────────────────────
1. Multiple orders in wave
2. Batch picking reduces travel
3. Items sorted at put wall
4. Higher efficiency for high-volume
Pick Order:
[Wave of Orders] → [Batch Cart] → [Put Wall] → [Pack Stations]
|
Throughput Coordination
Pick Zone Capacity Signals
Pick Execution reports zone capacity to Process Path:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| {
"zones": [
{
"zoneId": "ZONE-A",
"pickCapacityPerHour": 1800,
"currentUtilization": 75,
"avgWalkTime": "PT30S",
"congestionLevel": "NORMAL"
},
{
"zoneId": "ZONE-B",
"pickCapacityPerHour": 1500,
"currentUtilization": 90,
"avgWalkTime": "PT45S",
"congestionLevel": "HIGH"
}
]
}
|
Process Path Response
Process Path adjusts routing based on pick zone congestion:
- High congestion in ZONE-B → Reduce routing to paths that source from ZONE-B
- Consider zone affinity in routing score
Tote Flow Coordination
Tote Assignment
Pick Execution assigns totes and communicates to Process Path:
1
2
3
4
5
6
7
8
9
10
11
| {
"shipmentId": "SHP-123456",
"toteAssignments": [
{
"toteId": "TOTE-789",
"itemCount": 1,
"destinationPath": "SINGLES",
"pickZone": "ZONE-A"
}
]
}
|
Tote Progress Tracking
Process Path tracks tote progress for SLA monitoring:
1
2
3
4
5
6
7
| TOTE-789:
Picked: 10:05:00
On Conveyor: 10:06:00
At Pack Station: 10:08:00
Packed: 10:10:00
Total Pick-to-Pack: 5 minutes ✓
|
Error Handling
Short Pick Handling
1
2
3
4
5
6
7
| 1. Pick Execution detects short pick
2. Pick Execution publishes PickShortEvent
3. Process Path evaluates impact:
- If partial fulfillment possible → Continue
- If order cannot be fulfilled → Request reallocation
4. Process Path may reroute to different path
5. Order Management notified if critical
|
Pick Bottleneck Detection
1
2
3
4
5
6
| 1. Pick throughput drops below threshold
2. Pick Execution publishes PickThroughputEvent
3. Process Path detects bottleneck
4. Process Path reduces routing to affected zones
5. Process Path triggers WorkloadRebalanceTriggeredEvent
6. WES may add pick labor or redistribute work
|
| Metric |
Target |
Impact on Routing |
| Picks per hour |
120-150 |
Capacity score factor |
| Pick accuracy |
99.8% |
Quality score factor |
| Avg pick duration |
< 3 min |
Cycle time estimate |
| Short pick rate |
< 0.5% |
Path reliability score |
Integration Points
Process Path → Pick Execution
| Data |
Purpose |
Frequency |
| Routed shipments |
Initiate picking |
Per shipment |
| Path capacity state |
Throttle pick release |
On change |
| SLA priority updates |
Reprioritize picks |
On escalation |
Pick Execution → Process Path
| Data |
Purpose |
Frequency |
| Pick completion |
Track progress |
Per pick |
| Throughput metrics |
Capacity scoring |
Every 5 min |
| Zone congestion |
Routing adjustment |
On change |
| Short picks |
Exception handling |
Per occurrence |
Monitoring
Key Metrics
pick_execution_picks_completed_total
pick_execution_throughput_per_zone
pick_execution_short_picks_total
pick_execution_avg_pick_duration_seconds
process_path_pick_routing_score
Alerts
- Pick throughput < 80% of target
- Short pick rate > 1%
- Zone congestion HIGH for > 15 min
- Pick-to-pack cycle time > 10 min for singles