import 'package:domain/generated/json/base/json_field.dart';
import 'package:domain/generated/json/s_g_attendance_review_workflow_entity.g.dart';
import 'dart:convert';
export 'package:domain/generated/json/s_g_attendance_review_workflow_entity.g.dart';

@JsonSerializable()
class SGAttendanceReviewWorkflowEntity {
	SGAttendanceReviewWorkflowRow? row;
	@JSONField(name: "outlet_id")
	String? outletId;
	List<SGAttendanceReviewWorkflowRecords>?records = [];

	SGAttendanceReviewWorkflowEntity();

	factory SGAttendanceReviewWorkflowEntity.fromJson(Map<String, dynamic> json) => $SGAttendanceReviewWorkflowEntityFromJson(json);

	Map<String, dynamic> toJson() => $SGAttendanceReviewWorkflowEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class SGAttendanceReviewWorkflowRow {
	String? id;
	@JSONField(name: "job_id")
	String? jobId;
	@JSONField(name: "s_id")
	String? sId;
	@JSONField(name: "member_id")
	String? memberId;
	@JSONField(name: "labourer_id")
	String? labourerId;
	@JSONField(name: "labourer_name")
	String? labourerName;
	@JSONField(name: "labourer_nric")
	String? labourerNric;
	@JSONField(name: "source_type")
	int? sourceType;
	@JSONField(name: "employer_id")
	int? employerId;
	@JSONField(name: "employer_name")
	String? employerName;
	@JSONField(name: "agency_id")
	int? agencyId;
	@JSONField(name: "agency_name")
	String? agencyName;
	@JSONField(name: "job_title")
	String? jobTitle;
	@JSONField(name: "outlet_id")
	String? outletId;
	@JSONField(name: "outlet_name")
	String? outletName;
	@JSONField(name: "ballroom_id")
	String? ballroomId;
	@JSONField(name: "ballroom_name")
	String? ballroomName;
	@JSONField(name: "job_date")
	String? jobDate;
	@JSONField(name: "start_time")
	int? startTime;
	@JSONField(name: "end_time")
	int? endTime;
	@JSONField(name: "working_hours")
	String? workingHours;
	@JSONField(name: "adjust_hours")
	String? adjustHours;
	@JSONField(name: "total_hours")
	String? totalHours;
	@JSONField(name: "hourly_rate")
	String? hourlyRate;
	@JSONField(name: "gross_wage")
	String? grossWage;
	@JSONField(name: "security_clock_in")
	int? securityClockIn;
	@JSONField(name: "security_clock_out")
	int? securityClockOut;
	@JSONField(name: "work_clock_in")
	int? workClockIn;
	@JSONField(name: "work_clock_out")
	int? workClockOut;
	@JSONField(name: "security_in")
	int? securityIn;
	@JSONField(name: "security_out")
	int? securityOut;
	@JSONField(name: "work_in")
	int? workIn;
	@JSONField(name: "work_out")
	int? workOut;
	int? status;
	@JSONField(name: "remark_status")
	int? remarkStatus;
	@JSONField(name: "created_at")
	String? createdAt;
	@JSONField(name: "updated_at")
	String? updatedAt;
	@JSONField(name: "agency_rate")
	String? agencyRate;
	@JSONField(name: "agency_wage")
	String? agencyWage;
	@JSONField(name: "amend_att")
	int? amendAtt;
	@JSONField(name: "target_top")
	int? targetTop;
	@JSONField(name: "reject_msg")
	String? rejectMsg;
	@JSONField(name: "revise_hours")
	String? reviseHours;
	@JSONField(name: "revise_gross_wage")
	String? reviseGrossWage;
	@JSONField(name: "revise_agency_wage")
	String? reviseAgencyWage;
	@JSONField(name: "skilled_worker")
	int? skilledWorker;
	@JSONField(name: "hotel_staff")
	int? hotelStaff;
	@JSONField(name: "salary_structure")
	int? salaryStructure;

	SGAttendanceReviewWorkflowRow();

	factory SGAttendanceReviewWorkflowRow.fromJson(Map<String, dynamic> json) => $SGAttendanceReviewWorkflowRowFromJson(json);

	Map<String, dynamic> toJson() => $SGAttendanceReviewWorkflowRowToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class SGAttendanceReviewWorkflowRecords {
	@JSONField(name: "serial_number")
	String? serialNumber;
	@JSONField(name: "node_name")
	String? nodeName;
	@JSONField(name: "node_type_show")
	String? nodeTypeShow;
	@JSONField(name: "status_show")
	String? statusShow;
	@JSONField(name: "audit_name")
	String? auditName;
	@JSONField(name: "audit_time")
	String? auditTime;
	@JSONField(name: "audit_mark")
	String? auditMark;
	@JSONField(name: "created_at")
	String? createdAt;
	@JSONField(name: "assignee_type_show")
	String? assigneeTypeShow;
	@JSONField(name: "designation_show")
	String? designationShow;

	SGAttendanceReviewWorkflowRecords();

	factory SGAttendanceReviewWorkflowRecords.fromJson(Map<String, dynamic> json) => $SGAttendanceReviewWorkflowRecordsFromJson(json);

	Map<String, dynamic> toJson() => $SGAttendanceReviewWorkflowRecordsToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}