/// Completion always carries its proof. The server decides Complete vs Late /// Complete from the window, never the client. class CompletionRequest { String commitmentId; String proofType; /// Reference to the uploaded artefact — photo id, timer session id, geofence /// dwell id or witness confirmation id. String proofRef; /// Foreground seconds actually run, for Timer proof. int timerSeconds; double latitude; double longitude; CompletionRequest({ this.commitmentId = "", this.proofType = "Honour", this.proofRef = "", this.timerSeconds = 0, this.latitude = 0, this.longitude = 0, }); Map toJson() { final Map data = {}; data['commitmentId'] = commitmentId; data['proofType'] = proofType; data['proofRef'] = proofRef; data['timerSeconds'] = timerSeconds; data['latitude'] = latitude; data['longitude'] = longitude; return data; } }