Physical Tracking Service Integration
Overview
| Attribute |
Value |
| Context |
Physical Tracking Service |
| Pattern |
Event Streaming |
| Direction |
Inbound (Physical Tracking → Process Path) |
| Protocol |
Apache Kafka |
| Topics |
physical-tracking.movements.* |
Integration Summary
Physical Tracking Service provides real-time location updates as shipments move through the fulfillment center. Process Path consumes these events for SLA monitoring, bottleneck detection, and rerouting decisions.
1
2
3
4
5
6
7
8
| ┌─────────────────────────┐ ┌─────────────────────────┐
│ PHYSICAL TRACKING │ │ PROCESS PATH │
│ │ │ │
│ • RFID readers │ ─────► │ • SLA monitoring │
│ • Barcode scanners │ Stream │ • Delay detection │
│ • IoT sensors │ │ • Progress tracking │
│ • Computer vision │ │ • Reroute triggers │
└─────────────────────────┘ └─────────────────────────┘
|
Events Consumed
ShipmentLocationUpdatedEvent
Purpose: Track shipment progress, detect delays
Topic: physical-tracking.movements.shipments
Frequency: Every zone transition (high volume)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| {
"specversion": "1.0",
"type": "com.paklog.tracking.location.v1",
"source": "/physical-tracking-service",
"id": "evt-loc-123456",
"time": "2025-01-20T10:10:00.000Z",
"subject": "SHP-123456",
"data": {
"shipmentId": "SHP-123456",
"containerId": "TOTE-789",
"containerType": "TOTE",
"currentZone": "AFE_SORTER",
"previousZone": "AFE_INDUCT",
"zoneEnteredAt": "2025-01-20T10:10:00.000Z",
"dwellTimeSeconds": 0,
"expectedNextZone": "REBIN_WALL_01",
"expectedTransitTime": "PT5M",
"conveyorSegment": "CONV-AFE-LOOP-A",
"velocity": 2.5,
"scanType": "RFID",
"scannerId": "READER-AFE-01"
}
}
|
TrayLocationUpdatedEvent
Purpose: Track AFE tray movements
Topic: physical-tracking.movements.trays
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| {
"type": "com.paklog.tracking.tray.location.v1",
"data": {
"trayId": "st1234567890",
"itemId": "ITEM-ABC-001",
"shipmentId": "SHP-123456",
"currentZone": "AFE_SORTER_LOOP",
"position": {
"segment": "LOOP-A-SECTION-5",
"positionInSegment": 45
},
"destinationWall": "WALL-AFE-01",
"destinationChute": "CHUTE-A-45",
"estimatedArrival": "2025-01-20T10:15:00Z"
}
}
|
DwellTimeExceededEvent
Purpose: Detect stuck or delayed shipments
Topic: physical-tracking.alerts.dwell
1
2
3
4
5
6
7
8
9
10
11
12
13
| {
"type": "com.paklog.tracking.dwell.exceeded.v1",
"data": {
"shipmentId": "SHP-123456",
"containerId": "TOTE-789",
"zone": "PACK_QUEUE",
"dwellTimeSeconds": 600,
"thresholdSeconds": 300,
"severity": "WARNING",
"possibleCauses": ["PACK_STATION_FULL", "WORKER_BREAK"],
"detectedAt": "2025-01-20T10:20:00Z"
}
}
|
AnomalyDetectedEvent
Purpose: Detect unexpected movements or misroutes
Topic: physical-tracking.alerts.anomaly
1
2
3
4
5
6
7
8
9
10
11
12
13
| {
"type": "com.paklog.tracking.anomaly.v1",
"data": {
"shipmentId": "SHP-123456",
"anomalyType": "UNEXPECTED_ZONE",
"expectedZone": "AFE_SORTER",
"actualZone": "SINGLES_PACK",
"assignedPath": "AFE",
"severity": "HIGH",
"requiresIntervention": true,
"detectedAt": "2025-01-20T10:15:00Z"
}
}
|
Zone Definitions
Physical Tracking zones mapped to Process Path stages:
Singles Path Zones
1
| PICK_ZONE_A → TOTE_CONVEYOR → SINGLES_DIVERT → PACK_STATION → SLAM → SORT
|
AFE Path Zones
1
2
| PICK_ZONE → TOTE_CONVEYOR → AFE_INDUCT → AFE_SORTER → AFE_DISCHARGE →
REBIN_WALL → PACK_STATION → SLAM → SORT
|
Batch/Flow Path Zones
1
| PICK_ZONE → BATCH_CART → PUT_WALL → PACK_STATION → SLAM → SORT
|
Progress Tracking
Process Path maintains shipment progress based on location events:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| {
"shipmentId": "SHP-123456",
"path": "AFE",
"progress": {
"stages": [
{"stage": "ROUTED", "completedAt": "2025-01-20T10:00:00Z"},
{"stage": "PICK_STARTED", "completedAt": "2025-01-20T10:02:00Z"},
{"stage": "PICK_COMPLETE", "completedAt": "2025-01-20T10:08:00Z"},
{"stage": "INDUCT", "completedAt": "2025-01-20T10:10:00Z"},
{"stage": "SORTER", "completedAt": null, "currentZone": "AFE_SORTER"},
{"stage": "REBIN", "completedAt": null},
{"stage": "PACK", "completedAt": null},
{"stage": "SLAM", "completedAt": null}
],
"currentStage": "SORTER",
"progressPercent": 50,
"onTrack": true,
"estimatedCompletion": "2025-01-20T10:20:00Z"
}
}
|
Delay Detection
Dwell Time Thresholds
| Zone |
Normal Dwell |
Warning |
Critical |
| PICK_ZONE |
< 5 min |
5-10 min |
> 10 min |
| TOTE_CONVEYOR |
< 2 min |
2-5 min |
> 5 min |
| AFE_SORTER |
< 5 min |
5-8 min |
> 8 min |
| REBIN_WALL |
< 10 min |
10-15 min |
> 15 min |
| PACK_QUEUE |
< 5 min |
5-10 min |
> 10 min |
| SLAM_QUEUE |
< 3 min |
3-5 min |
> 5 min |
Delay Response Actions
1
2
3
4
5
6
7
8
9
10
| On DwellTimeExceededEvent (WARNING):
1. Log delay for analytics
2. Recalculate SLA risk
3. If SLA at risk → Escalate priority
On DwellTimeExceededEvent (CRITICAL):
1. Alert Operations
2. Escalate to RED priority
3. Consider rerouting if possible
4. Flag for problem solve investigation
|
Rerouting Triggers
Location events can trigger rerouting decisions:
1
2
3
4
5
6
7
8
9
| 1. Shipment in TOTE_CONVEYOR (reroutable)
2. Delay detected in destination path
3. Process Path evaluates:
- Is alternate path faster?
- Can shipment physically be rerouted?
- What is the delay cost vs reroute cost?
4. If reroute beneficial:
- Publish ShipmentReroutedEvent
- Update routing instructions at divert point
|
SLA Monitoring Integration
Physical Tracking enables real-time SLA monitoring:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Shipment SHP-123456:
├── SLA Cutoff: 16:00:00
├── Current Time: 10:15:00
├── Time Remaining: 5h 45m
├── Current Stage: SORTER (50% complete)
├── Estimated Completion: 10:20:00
├── Buffer Time: 5h 40m
└── SLA Status: GREEN ✓
If Current Time = 15:30:00 and Stage = PACK:
├── Time Remaining: 30m
├── Estimated Completion: 15:40:00
├── Buffer Time: 20m
└── SLA Status: RED ⚠️ (escalate)
|
Anomaly Handling
Misroute Detection
1
2
3
4
5
6
7
8
9
| 1. Receive location event: TOTE-789 in SINGLES_PACK
2. Lookup assignment: TOTE-789 → SHP-123456 → AFE
3. Mismatch detected!
4. Publish AnomalyDetectedEvent
5. Process Path actions:
- Alert Operations
- Track for recovery
- Update routing records
- Investigate root cause
|
Lost Shipment Detection
1
2
3
4
5
6
7
8
| 1. Expected location event not received within threshold
2. Last seen: AFE_INDUCT at 10:10:00
3. Expected: AFE_SORTER by 10:15:00
4. Current time: 10:20:00
5. Actions:
- Query Physical Tracking for last known location
- Alert Operations for physical search
- Suspend SLA timer pending resolution
|
| Metric |
Target |
Description |
| Location event latency |
< 100ms |
Time from scan to Process Path |
| Zone transition accuracy |
> 99.5% |
Correct zone sequence |
| Dwell time accuracy |
< 5% variance |
Measured vs actual dwell |
| Anomaly detection rate |
> 95% |
Misroutes detected |
Monitoring
Key Metrics
physical_tracking_events_received_total
physical_tracking_dwell_exceeded_total
physical_tracking_anomalies_detected_total
process_path_sla_escalations_from_tracking_total
Alerts
- Location event stream lag > 5s
- Dwell exceedance rate > 5%
- Anomaly detection rate spike
- Lost shipment detection