class ReportDetailModel {
  String? id;
  String? description;
  String? sortName;
  dynamic name;
  dynamic mobile;
  String? headPortrait;
  String? businessTypeName;
  dynamic businessType;
  List<dynamic>? photos;
  String? statusName;
  String? status;
  String? createAt;
  String? backTrackingAt;
  List<ProcessOfReportDetailModel>? process;
  String? dealPerson;
  String? dealPersonMobile;
  dynamic qrName;
  dynamic buildName;
  dynamic unitName;
  dynamic houseName;
  String? houseId;
  bool? paidService;
  dynamic serviceFeeId;
  String? remark;
  dynamic serviceFee;
  dynamic dealPersonId;
  String? linkType;
  String? linkId;
  dynamic businessTypeId;
  dynamic sortId;
  dynamic internalSortId;
  dynamic internalSortName;
  dynamic exPlatformId;
  dynamic exPlatformStatus;
  dynamic dispatched;
  String? mailToName;
  String? appointedTime;
  String? tag;
  String? tagMsg;
  String? communityId;
  String? communityName;

  ReportDetailModel({
    this.id,
    this.description,
    this.sortName,
    this.name,
    this.mobile,
    this.headPortrait,
    this.businessTypeName,
    this.businessType,
    this.photos,
    this.statusName,
    this.status,
    this.createAt,
    this.backTrackingAt,
    this.process,
    this.dealPerson,
    this.dealPersonMobile,
    this.qrName,
    this.buildName,
    this.unitName,
    this.houseName,
    this.houseId,
    this.paidService,
    this.serviceFeeId,
    this.remark,
    this.serviceFee,
    this.dealPersonId,
    this.linkType,
    this.linkId,
    this.businessTypeId,
    this.sortId,
    this.internalSortId,
    this.internalSortName,
    this.exPlatformId,
    this.exPlatformStatus,
    this.dispatched,
    this.mailToName,
    this.appointedTime,
    this.tag,
    this.tagMsg,
    this.communityId,
    this.communityName,
  });

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

    id = map['id'];
    description = map['description'];
    sortName = map['sortName'];
    name = map['name'];
    mobile = map['mobile'];
    headPortrait = map['headPortrait'];
    businessTypeName = map['businessTypeName'];
    businessType = map['businessType'];
    photos = map['photos'].cast<dynamic>();
    statusName = map['statusName'];
    status = map['status'];
    createAt = map['createAt'];
    backTrackingAt = map['backTrackingAt'];
    process = List<ProcessOfReportDetailModel>.from((map["process"] ?? [])
        .map((x) => ProcessOfReportDetailModel.fromJson(x)));
    dealPerson = map['dealPerson'];
    dealPersonMobile = map['dealPersonMobile'];
    qrName = map['qrName'];
    buildName = map['buildName'];
    unitName = map['unitName'];
    houseName = map['houseName'];
    houseId = map['houseId'];
    paidService = map['paidService'];
    serviceFeeId = map['serviceFeeId'];
    remark = map['remark'];
    serviceFee = map['serviceFee'];
    dealPersonId = map['dealPersonId'];
    linkType = map['linkType'];
    linkId = map['linkId'];
    businessTypeId = map['businessTypeId'];
    sortId = map['sortId'];
    internalSortId = map['internalSortId'];
    internalSortName = map['internalSortId'];
    exPlatformId = map['exPlatformId'];
    exPlatformStatus = map['exPlatformStatus'];
    dispatched = map['dispatched'];
    mailToName = map['mailToName'];
    appointedTime = map['appointedTime'];
    tag = map['tag'];
    tagMsg = map['tagMsg'];
    communityId = map['communityId'];
    communityName = map['communityName'];
  }

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

    json['id'] = this.id;
    json['description'] = this.description;
    json['sortName'] = this.sortName;
    json['name'] = this.name;
    json['mobile'] = this.mobile;
    json['headPortrait'] = this.headPortrait;
    json['businessTypeName'] = this.businessTypeName;
    json['businessType'] = this.businessType;
    json['photos'] = this.photos;
    json['statusName'] = this.statusName;
    json['status'] = this.status;
    json['createAt'] = this.createAt;
    json['backTrackingAt'] = this.backTrackingAt;
    json['process'] =
        List<dynamic>.from((process ?? []).map((x) => x.toJson()));
    json['dealPerson'] = this.dealPerson;
    json['dealPersonMobile'] = this.dealPersonMobile;
    json['qrName'] = this.qrName;
    json['buildName'] = this.buildName;
    json['unitName'] = this.unitName;
    json['houseName'] = this.houseName;
    json['houseId'] = this.houseId;
    json['paidService'] = this.paidService;
    json['serviceFeeId'] = this.serviceFeeId;
    json['remark'] = this.remark;
    json['serviceFee'] = this.serviceFee;
    json['dealPersonId'] = this.dealPersonId;
    json['linkType'] = this.linkType;
    json['linkId'] = this.linkId;
    json['businessTypeId'] = this.businessTypeId;
    json['sortId'] = this.sortId;
    json['internalSortId'] = this.internalSortId;
    json['internalSortName'] = this.internalSortName;
    json['exPlatformId'] = this.exPlatformId;
    json['exPlatformStatus'] = this.exPlatformStatus;
    json['dispatched'] = this.dispatched;
    json['mailToName'] = this.mailToName;
    json['appointedTime'] = this.appointedTime;
    json['tag'] = this.tag;
    json['tagMsg'] = this.tagMsg;
    json['communityId'] = this.communityId;
    json['communityName'] = this.communityName;

    return json;
  }
}

class ProcessOfReportDetailModel {
  String? event;
  String? eventFrom;
  String? createAt;
  String? status;
  String? behavior;

  ProcessOfReportDetailModel({
    this.event,
    this.eventFrom,
    this.createAt,
    this.status,
    this.behavior,
  });

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

    event = map['event'];
    eventFrom = map['eventFrom'];
    createAt = map['createAt'];
    status = map['status'];
    behavior = map['behavior'];
  }

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

    json['event'] = this.event;
    json['eventFrom'] = this.eventFrom;
    json['createAt'] = this.createAt;
    json['status'] = this.status;
    json['behavior'] = this.behavior;

    return json;
  }
}
