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

@JsonSerializable()
class SGLabourRequestDetailEntity {
	@JSONField(name: "lab_req")
	SGLabourRequestDetailLabReq? labReq;
	@JSONField(name: "from_view")
	String? fromView;
	@JSONField(name: "start_time")
	String? startTime;
	@JSONField(name: "end_time")
	String? endTime;
	@JSONField(name: "is_yy")
	bool? isYY;
	@JSONField(name: "outlet_list")
	List<IndexOptionEntity> outletList = [];
	@JSONField(name: "limit_list")
	List<IndexOptionEntity> limitList = [];
	@JSONField(name: "request_type")
	List<IndexOptionEntity> requestType = [];
	@JSONField(name: "position_list")
	List<IndexOptionEntity> positionList = [];

	SGLabourRequestDetailEntity();

	factory SGLabourRequestDetailEntity.fromJson(Map<String, dynamic> json) => $SGLabourRequestDetailEntityFromJson(json);

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

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

@JsonSerializable()
class SGLabourRequestDetailLabReq {
	int? id;
	@JSONField(name: "employer_id")
	int? employerId;
	@JSONField(name: "employer_name")
	String? employerName;
	@JSONField(name: "e_admin_id")
	int? eAdminId;
	@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: "agency_rate")
	String? agencyRate;
	@JSONField(name: "job_title_id")
	int? jobTitleId;
	@JSONField(name: "with_food_cert")
	int? withFoodCert;
	@JSONField(name: "request_type")
	int? requestType;
	@JSONField(name: "sex_limit")
	int? sexLimit;
	@JSONField(name: "male_limit")
	int? maleLimit;
	@JSONField(name: "female_limit")
	int? femaleLimit;
	@JSONField(name: "position_id")
	int? positionId;
	@JSONField(name: "position_name")
	String? positionName;
	int? status;
	String? description;
	@JSONField(name: "created_at")
	String? createdAt;
	@JSONField(name: "updated_at")
	String? updatedAt;
	@JSONField(name: "deleted_at")
	dynamic deletedAt;
	@JSONField(name: "post_id")
	int? postId;
	@JSONField(name: "post_name")
	String? postName;

	SGLabourRequestDetailLabReq();

	factory SGLabourRequestDetailLabReq.fromJson(Map<String, dynamic> json) => $SGLabourRequestDetailLabReqFromJson(json);

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

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