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

@JsonSerializable()
class StaffLabourHistoryEntity {
	int total = 0;
	List<StaffLabourHistoryRows>? rows = [];

	StaffLabourHistoryEntity();

	factory StaffLabourHistoryEntity.fromJson(Map<String, dynamic> json) => $StaffLabourHistoryEntityFromJson(json);

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

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

@JsonSerializable()
class StaffLabourHistoryRows {
	@JSONField(name: "applied_id")
	int appliedId = 0;
	@JSONField(name: "member_id")
	int memberId = 0;
	@JSONField(name: "staff_name")
	String? staffName = null;
	@JSONField(name: "job_date")
	String? jobDate = null;
	@JSONField(name: "job_title")
	String? jobTitle = null;
	@JSONField(name: "outlet_name")
	String? outletName = null;
	@JSONField(name: "start_time")
	String? startTime = null;
	@JSONField(name: "end_time")
	String? endTime = null;
	@JSONField(name: "adjust_show")
	String? adjustShow = null;
	@JSONField(name: "total_show")
	String? totalShow = null;
	@JSONField(name: "total_rooms")
	int totalRooms = 0;
	int status = 0;
	@JSONField(name: "status_show")
	String? statusShow = null;
	@JSONField(name: "employer_name")
	String? employerName = null;
	@JSONField(name: "applied_at")
	String? appliedAt = null;
	@JSONField(name: "security_in")
	StaffLabourHistoryRowsSecurityIn? securityIn;
	@JSONField(name: "security_out")
	StaffLabourHistoryRowsSecurityOut? securityOut;
	@JSONField(name: "work_in")
	StaffLabourHistoryRowsWorkIn? workIn;
	@JSONField(name: "work_out")
	StaffLabourHistoryRowsWorkOut? workOut;
	@JSONField(name: "s_in")
	int sIn = 0;
	@JSONField(name: "s_out")
	int sOut = 0;
	@JSONField(name: "w_in")
	int wIn = 0;
	@JSONField(name: "w_out")
	int wOut = 0;
	@JSONField(name: "action_list")
	List<String>? actionList = [];

	StaffLabourHistoryRows();

	factory StaffLabourHistoryRows.fromJson(Map<String, dynamic> json) => $StaffLabourHistoryRowsFromJson(json);

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

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

@JsonSerializable()
class StaffLabourHistoryRowsSecurityIn {
	String? time = null;
	dynamic image;
	int? changed = 0;

	StaffLabourHistoryRowsSecurityIn();

	factory StaffLabourHistoryRowsSecurityIn.fromJson(Map<String, dynamic> json) => $StaffLabourHistoryRowsSecurityInFromJson(json);

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

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

@JsonSerializable()
class StaffLabourHistoryRowsSecurityOut {
	String? time = null;
	dynamic image;
	int? changed = 0;

	StaffLabourHistoryRowsSecurityOut();

	factory StaffLabourHistoryRowsSecurityOut.fromJson(Map<String, dynamic> json) => $StaffLabourHistoryRowsSecurityOutFromJson(json);

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

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

@JsonSerializable()
class StaffLabourHistoryRowsWorkIn {
	String? time = null;
	dynamic image;
	int? changed = 0;

	StaffLabourHistoryRowsWorkIn();

	factory StaffLabourHistoryRowsWorkIn.fromJson(Map<String, dynamic> json) => $StaffLabourHistoryRowsWorkInFromJson(json);

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

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

@JsonSerializable()
class StaffLabourHistoryRowsWorkOut {
	String? time = null;
	dynamic image;
	int? changed = 0;

	StaffLabourHistoryRowsWorkOut();

	factory StaffLabourHistoryRowsWorkOut.fromJson(Map<String, dynamic> json) => $StaffLabourHistoryRowsWorkOutFromJson(json);

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

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