import 'package:domain/entity/response/index_option_entity.dart';
import 'package:domain/generated/json/base/json_field.dart';
import 'package:domain/generated/json/t_h_o_a_labour_detail_entity.g.dart';
import 'dart:convert';
export 'package:domain/generated/json/t_h_o_a_labour_detail_entity.g.dart';

@JsonSerializable()
class THOALabourDetailEntity {
	@JSONField(name: "labour_request")
	THOALabourDetailLabourRequest? labReq;
	@JSONField(name: "from_view")
	String? fromView;
	@JSONField(name: "start_time")
	String? startTime;
	@JSONField(name: "end_time")
	String? endTime;
	@JSONField(name: "with_ot")
	bool? withOt;

	@JSONField(name: "title_list")
	List<IndexOptionEntity> titleList = [];
	@JSONField(name: "limit_list")
	List<IndexOptionEntity> limitList = [];
	@JSONField(name: "employment_list")
	List<IndexOptionEntity> employmentList = [];
	@JSONField(name: "outlet_list")
	List<IndexOptionEntity> outletList = [];
	@JSONField(name: "ot_radios")
	List<IndexOptionEntity> otRadios = [];

	String? view;

	THOALabourDetailEntity();

	factory THOALabourDetailEntity.fromJson(Map<String, dynamic> json) => $THOALabourDetailEntityFromJson(json);

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

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

@JsonSerializable()
class THOALabourDetailLabourRequest {
	int? id;
	@JSONField(name: "employer_id")
	int? employerId;
	@JSONField(name: "source_type")
	int? sourceType;
	@JSONField(name: "agency_id")
	int? agencyId;
	@JSONField(name: "agency_name")
	String? agencyName;
	@JSONField(name: "job_title")
	String? jobTitle;
	@JSONField(name: "outlet_id")
	int? outletId;
	@JSONField(name: "outlet_name")
	String? outletName;
	@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: "hourly_rate")
	String? hourlyRate;
	@JSONField(name: "hiring_num")
	int? hiringNum;
	@JSONField(name: "real_num")
	int? realNum;
	int? status;
	String? description;
	@JSONField(name: "event_name")
	String? eventName;
	@JSONField(name: "event_type")
	String? eventType;
	@JSONField(name: "with_typhoid")
	int? withTyphoid;
	@JSONField(name: "created_at")
	String? createdAt;
	@JSONField(name: "updated_at")
	String? updatedAt;
	@JSONField(name: "employment_type")
	int? employmentType;
	String? position;
	String? passengers;
	@JSONField(name: "est_revenue")
	String? estRevenue;
	@JSONField(name: "est_cost")
	String? estCost;
	@JSONField(name: "att_url")
	String? attUrl;
	@JSONField(name: "deleted_at")
	String? deletedAt;
	@JSONField(name: "job_title_id")
	String? jobTitleId;
	@JSONField(name: "pre_staff_ids")
	String? preStaffIds;
	@JSONField(name: "last_operator")
	int? lastOperator;
	@JSONField(name: "last_at")
	String? lastAt;
	@JSONField(name: "position_id")
	String? positionId;
	@JSONField(name: "sex_limit")
	int? sexLimit;
	@JSONField(name: "male_limit")
	int? maleLimit;
	@JSONField(name: "female_limit")
	int? femaleLimit;
	@JSONField(name: "is_ot")
	int? isOt;

	THOALabourDetailLabourRequest();

	factory THOALabourDetailLabourRequest.fromJson(Map<String, dynamic> json) => $THOALabourDetailLabourRequestFromJson(json);

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

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