An ISA-95 Part 2/4 shop-floor event covering production, quality, inventory, maintenance, and personnel activity. Each event records a single action on the factory floor — part produced, scrapped, reworked, machine status changes, operator activity, and more.
Key Fields
| Field | Type | Description |
|---|---|---|
| eventId | string | Unique event identifier (UUID) |
| eventCategory | enum | PRODUCTION, QUALITY, INVENTORY, MAINTENANCE, PERSONNEL |
| eventType | enum | PRODUCED, SCRAPPED, REWORKED, INSPECTION_PASS, INSPECTION_FAIL, HOLD, RELEASE, MATERIAL_LOADED, MATERIAL_CONSUMED, WIP_TRANSFER, MACHINE_DOWN, MACHINE_UP, CHANGEOVER_START, CHANGEOVER_END, SETUP_COMPLETE, OPERATOR_CHECK_IN, OPERATOR_CHECK_OUT, OPERATOR_BREAK |
| lineId | string | ISA-95 Work Unit identifier (production line, Kafka key) |
| equipmentId | string (nullable) | Machine or workcenter within the work unit |
| workOrderId | string (nullable) | Job / Work Order identifier |
| materialDefinitionId | string (nullable) | Product / part number definition |
| partId | string | Physical part instance identifier |
| quantity | int | Number of units (default: 1) |
| uom | string | Unit of measure (default: EA) |
| operatorId | string (nullable) | Operator who performed the activity |
| reasonCode | string (nullable) | Reason code for SCRAPPED, REWORKED, INSPECTION_FAIL, MACHINE_DOWN, HOLD events |
| timestamp | long | Event timestamp (epoch ms, UTC) |
| customFields | map<string, string> | Extension attributes for site-specific data |
Example
{ "eventId": "evt-20260403-084512-a1b2", "eventCategory": "PRODUCTION", "eventType": "SCRAPPED", "lineId": "LINE-A", "equipmentId": "CNC-LATHE-01", "workOrderId": "WO-2026-0403-001", "materialDefinitionId": "SHAFT-ASSY-100", "partId": "PART-20260403-084512-0042", "quantity": 1, "uom": "EA", "operatorId": "OP-042", "reasonCode": "DIM_OUT_OF_SPEC", "timestamp": 1743667512000, "customFields": {}}