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

@JsonSerializable()
class StaffDetailSGEntity {
	@JSONField(name: "member_id")
	String? memberId = null;
	@JSONField(name: "worker_name")
	String? workerName = null;
	String? mobile = null;
	String? icon = null;
	String? sex = null;
	String? nric = null;
	@JSONField(name: "hourly_rate")
	String? hourlyRate = null;
	StaffDetailSGReviews? reviews;
	@JSONField(name: "hotel_staff")
	int hotelStaff = 0;
	@JSONField(name: "salary_structure")
	int salaryStructure = 0;
	@JSONField(name: "show_star")
	int showStar = 0;

	StaffDetailSGEntity();

	factory StaffDetailSGEntity.fromJson(Map<String, dynamic> json) => $StaffDetailSGEntityFromJson(json);

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

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

@JsonSerializable()
class StaffDetailSGReviews {
	int count = 0;
	@JSONField(name: "avg_score")
	String? avgScore = null;
	List<StaffDetailSGReviewsReviews>? reviews = [];

	StaffDetailSGReviews();

	factory StaffDetailSGReviews.fromJson(Map<String, dynamic> json) => $StaffDetailSGReviewsFromJson(json);

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

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

@JsonSerializable()
class StaffDetailSGReviewsReviews {
	@JSONField(name: "employer_name")
	String? employerName = null;
	@JSONField(name: "attitude_rate")
	String? attitudeRate = null;
	@JSONField(name: "grooming_rate")
	String? groomingRate = null;
	@JSONField(name: "performance_rate")
	String? performanceRate = null;
	@JSONField(name: "experience_rate")
	String? experienceRate = null;
	String? feedback = null;
	@JSONField(name: "created_at")
	String? createdAt = null;

	StaffDetailSGReviewsReviews();

	factory StaffDetailSGReviewsReviews.fromJson(Map<String, dynamic> json) => $StaffDetailSGReviewsReviewsFromJson(json);

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

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