CreateShiftLogDto
signaturestring
Base64 ECDSA-P256 signature over the canonical payload.
signaturePublicKeyIdstring
UserSigningKey.id referenced by the signature.
signedPayloadHashstring
SHA-256 hex digest of the canonical payload as signed on the client; used to detect canonicalization drift.
logTypestringrequired
Possible values: [PRODUCTION, BLASTING]
logDatestringrequired
shiftDesignationstringrequired
Possible values: [DAY, NIGHT, CUSTOM]
tunnelIdstringrequired
teamIdstring
notesstring
activityTypestring
oreTypestring
quantitynumber
gradenumber
crewSizenumber
blastTypestring
Possible values: [DOWN_DIP, RAISE, OREPASS, VEINS, FLAT_ON_REEF, FLAT_OFF_REEF]
holesDrillednumber
holesChargednumber
holesFirednumber
misfiresnumber
explosiveTypestring
explosiveQuantitynumber
blasterNamestring
advanceMetresnumber
misfireDispositionstring
Possible values: [RE_BLASTED, LEFT_IN_SITU, REPORTED_TO_AUTHORITY]
workingFacePositionstring
Working face position within the tunnel (e.g. "Face L, panel 3").
lostBlastsnumber
FR-BLAST-001 — lost blast count for the shift.
lostBlastReasonstring
Possible values: [EQUIPMENT_FAILURE, TIME, VENTILATION, WATER]
blasterCertificateIdstring
blasterPasswordstring
FR-BLAST-004 — Re-authentication password for the certified blaster. Required when logType=BLASTING.
CreateShiftLogDto
{
"signature": "string",
"signaturePublicKeyId": "string",
"signedPayloadHash": "string",
"logType": "PRODUCTION",
"logDate": "string",
"shiftDesignation": "DAY",
"tunnelId": "string",
"teamId": "string",
"notes": "string",
"activityType": "string",
"oreType": "string",
"quantity": 0,
"grade": 0,
"crewSize": 0,
"blastType": "DOWN_DIP",
"holesDrilled": 0,
"holesCharged": 0,
"holesFired": 0,
"misfires": 0,
"explosiveType": "string",
"explosiveQuantity": 0,
"blasterName": "string",
"advanceMetres": 0,
"misfireDisposition": "RE_BLASTED",
"workingFacePosition": "string",
"lostBlasts": 0,
"lostBlastReason": "EQUIPMENT_FAILURE",
"blasterCertificateId": "string",
"blasterPassword": "string"
}