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

@JsonSerializable()
class JoinEstateSuccessEntity {
	String? sn;
	@JSONField(name: "user_id")
	String? userId;
	@JSONField(name: "state_id")
	String? stateId;
	String? type;
	int status = 0;
	List<String> files = [];
	@JSONField(name: "updated_at")
	String? updatedAt;
	@JSONField(name: "created_at")
	String? createdAt;
	String? id;
	JoinEstateSuccessEstate? estate;

	JoinEstateSuccessEntity();

	factory JoinEstateSuccessEntity.fromJson(Map<String, dynamic> json) => $JoinEstateSuccessEntityFromJson(json);

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

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

@JsonSerializable()
class JoinEstateSuccessEstate {
	String? id;
	String? name;
	JoinEstateSuccessEstateInformation? information;

	JoinEstateSuccessEstate();

	factory JoinEstateSuccessEstate.fromJson(Map<String, dynamic> json) => $JoinEstateSuccessEstateFromJson(json);

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

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

@JsonSerializable()
class JoinEstateSuccessEstateInformation {
	String? id;
	String? name;
	String? email;
	String? address;
	@JSONField(name: "contact_number")
	String? contactNumber;

	JoinEstateSuccessEstateInformation();

	factory JoinEstateSuccessEstateInformation.fromJson(Map<String, dynamic> json) => $JoinEstateSuccessEstateInformationFromJson(json);

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

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