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

@JsonSerializable()
class JobListERDetailEntity {
	JobListERDetailJob? job;
	@JSONField(name: "start_time")
	String? startTime;
	@JSONField(name: "end_time")
	String? endTime;

	@JSONField(name: "title_list")
	List<IndexOptionEntity> titleList = [];
	@JSONField(name: "limit_list")
	List<IndexOptionEntity> limitList = [];
	@JSONField(name: "outlet_list")
	List<IndexOptionEntity> outletList = [];
	String? view;

	JobListERDetailEntity();

	factory JobListERDetailEntity.fromJson(Map<String, dynamic> json) => $JobListERDetailEntityFromJson(json);

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

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

@JsonSerializable()
class JobListERDetailJob {
	String? id;
	@JSONField(name: "employer_id")
	String? employerId;
	@JSONField(name: "employer_name")
	String? employerName;
	@JSONField(name: "e_admin_id")
	String? eAdminId;
	@JSONField(name: "yy_job_id")
	String? yyJobId;
	@JSONField(name: "source_type")
	int sourceType = 0;
	@JSONField(name: "agency_id")
	String? 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: "job_date")
	String? jobDate;
	@JSONField(name: "start_time")
	String? startTime;
	@JSONField(name: "end_time")
	String? endTime;
	@JSONField(name: "working_hours")
	String? workingHours;
	@JSONField(name: "hourly_rate")
	String? hourlyRate;
	@JSONField(name: "hiring_num")
	String? hiringNum;
	@JSONField(name: "real_num")
	String? realNum;
	int status = 0;
	String? description;
	@JSONField(name: "confirm_status")
	int confirmStatus = 0;
	@JSONField(name: "created_at")
	String? createdAt;
	@JSONField(name: "updated_at")
	String? updatedAt;
	@JSONField(name: "deleted_at")
	String? deletedAt;
	@JSONField(name: "event_name")
	String? eventName;
	@JSONField(name: "event_type")
	String? eventType;
	@JSONField(name: "with_typhoid")
	int withTyphoid = 0;
	@JSONField(name: "sync_payroll")
	int syncPayroll = 0;
	@JSONField(name: "agency_rate")
	String? agencyRate;
	@JSONField(name: "request_id")
	String? requestId;
	@JSONField(name: "job_title_id")
	String? jobTitleId;
	@JSONField(name: "is_ot")
	int isOt = 0;
	@JSONField(name: "position_id")
	String? positionId;
	@JSONField(name: "sex_limit")
	String? sexLimit;
	@JSONField(name: "male_limit")
	String? maleLimit;
	@JSONField(name: "female_limit")
	String? femaleLimit;

	JobListERDetailJob();

	factory JobListERDetailJob.fromJson(Map<String, dynamic> json) => $JobListERDetailJobFromJson(json);

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

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