class DepositeDetailModel {
  num? balance;
  List<ListOfDepositeDetailModel>? list;

  DepositeDetailModel({
    this.balance,
    this.list,
  });

  DepositeDetailModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    balance = map['balance'];
    list = List<ListOfDepositeDetailModel>.from(
        (map["list"] ?? []).map((x) => ListOfDepositeDetailModel.fromJson(x)));
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['balance'] = this.balance;
    json['list'] = List<dynamic>.from((list ?? []).map((x) => x.toJson()));

    return json;
  }
}

class ListOfDepositeDetailModel {
  String? assetId;
  String? assetName;
  String? chargeSubject;
  num? balance;
  List<DetailOfListOfDepositeDetailModel>? detail;

  ListOfDepositeDetailModel({
    this.assetId,
    this.assetName,
    this.chargeSubject,
    this.balance,
    this.detail,
  });

  ListOfDepositeDetailModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    assetId = map['assetId'];
    assetName = map['assetName'];
    chargeSubject = map['chargeSubject'];
    balance = map['balance'];
    detail = List<DetailOfListOfDepositeDetailModel>.from((map["detail"] ?? [])
        .map((x) => DetailOfListOfDepositeDetailModel.fromJson(x)));
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['assetId'] = this.assetId;
    json['assetName'] = this.assetName;
    json['chargeSubject'] = this.chargeSubject;
    json['balance'] = this.balance;
    json['detail'] = List<dynamic>.from((detail ?? []).map((x) => x.toJson()));

    return json;
  }
}

class DetailOfListOfDepositeDetailModel {
  String? id;
  String? assetName;
  String? name;
  num? payFee;
  num? fee;
  StatusOfDetailOfListOfDepositeDetailModel? status;
  dynamic timeLimitStart;
  dynamic timeLimitEnd;
  String? payAt;
  String? payer;
  String? createBy;
  String? depositeDetailId;

  DetailOfListOfDepositeDetailModel({
    this.id,
    this.assetName,
    this.name,
    this.payFee,
    this.fee,
    this.status,
    this.timeLimitStart,
    this.timeLimitEnd,
    this.payAt,
    this.payer,
    this.createBy,
    this.depositeDetailId,
  });

  DetailOfListOfDepositeDetailModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    id = map['id'];
    assetName = map['assetName'];
    name = map['name'];
    payFee = map['payFee'];
    fee = map['fee'];
    status =
        StatusOfDetailOfListOfDepositeDetailModel.fromJson(map["status"] ?? {});
    timeLimitStart = map['timeLimitStart'];
    timeLimitEnd = map['timeLimitEnd'];
    payAt = map['payAt'];
    payer = map['payer'];
    createBy = map['createBy'];
    depositeDetailId = map['depositeDetailId'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['id'] = this.id;
    json['assetName'] = this.assetName;
    json['name'] = this.name;
    json['payFee'] = this.payFee;
    json['fee'] = this.fee;
    json['status'] = this.status;
    json['timeLimitStart'] = this.timeLimitStart;
    json['timeLimitEnd'] = this.timeLimitEnd;
    json['payAt'] = this.payAt;
    json['payer'] = this.payer;
    json['createBy'] = this.createBy;
    json['depositeDetailId'] = this.depositeDetailId;

    return json;
  }
}

class StatusOfDetailOfListOfDepositeDetailModel {
  String? code;
  String? name;

  StatusOfDetailOfListOfDepositeDetailModel({
    this.code,
    this.name,
  });

  StatusOfDetailOfListOfDepositeDetailModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    code = map['code'];
    name = map['name'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['code'] = this.code;
    json['name'] = this.name;

    return json;
  }
}
