// To parse this JSON data, do
//
//     final buildingDetails = buildingDetailsFromJson(jsonString);

import 'dart:convert';

BuildingDetails buildingDetailsFromJson(String str) =>
    BuildingDetails.fromJson(json.decode(str));

String buildingDetailsToJson(BuildingDetails data) =>
    json.encode(data.toJson());

class BuildingDetails {
  final String? assessedById;
  final String? assessedByName;
  final String? dateCreated;
  final String? dateModified;
  final String? transCode;
  final String? tdn;
  final String? pin;
  final String? owner;
  final String? address;
  final String? telno;
  final String? tin;
  final String? adminUser;
  final String? adminAddress;
  final String? adminTelno;
  final String? adminTin;
  final String? faasType;
  final String? genCode;
  final String? bldgapprLocationDateCreated;
  final String? bldgapprLocationDateModified;
  final dynamic bldgapprLocationStreet;
  final dynamic bldgapprLocationBarangay;
  final dynamic bldgapprLocationMunicipality;
  final dynamic bldgapprLocationProvince;
  final String? bldgapprLocationGenCode;
  final String? bldgapprLandrefDateCreated;
  final String? bldgapprLandrefDateModified;
  final dynamic bldgapprLandrefOwner;
  final dynamic bldgapprLandrefCloaNo;
  final dynamic bldgapprLandrefLotNo;
  final dynamic bldgapprLandrefTdn;
  final dynamic bldgapprLandrefArea;
  final dynamic bldgapprLandrefSurveyNo;
  final dynamic bldgapprLandrefBlkNo;
  final String? bldgapprLandrefGenCode;
  final String? bldgapprGeneraldescDateCreated;
  final String? bldgapprGeneraldescDateModified;
  final dynamic bldgapprGeneraldescBldgKind;
  final dynamic bldgapprGeneraldescStrucType;
  final dynamic bldgapprGeneraldescBldgPermit;
  final dynamic bldgapprGeneraldescDateIssued;
  final dynamic bldgapprGeneraldescCct;
  final dynamic bldgapprGeneraldescCertCompletionIssued;
  final dynamic bldgapprGeneraldescCertOccupancyIssued;
  final dynamic bldgapprGeneraldescDateCompleted;
  final dynamic bldgapprGeneraldescDateOccupied;
  final dynamic bldgapprGeneraldescBldgAge;
  final dynamic bldgapprGeneraldescNoStoreys;
  final dynamic bldgapprGeneraldescArea1Stfloor;
  final dynamic bldgapprGeneraldescArea2Ndfloor;
  final dynamic bldgapprGeneraldescArea3Rdfloor;
  final dynamic bldgapprGeneraldescArea4Thfloor;
  final dynamic bldgapprGeneraldescTotalFloorArea;
  final dynamic bldgapprGeneraldescFloorSketch;
  final dynamic bldgapprGeneraldescActualUse;
  final dynamic bldgapprGeneraldescUnitValue;
  final String? bldgapprGeneraldescGenCode;
  final String? bldgapprStructMaterialsDateCreated;
  final String? bldgapprStructMaterialsDateModified;
  final dynamic bldgapprStructMaterialsFoundation;
  final dynamic bldgapprStructMaterialsColumns;
  final dynamic bldgapprStructMaterialsBeams;
  final dynamic bldgapprStructMaterialsTrussFraming;
  final dynamic bldgapprStructMaterialsRoof;
  final dynamic bldgapprStructMaterialsFlooring;
  final dynamic bldgapprStructMaterialsWalls;
  final dynamic bldgapprStructMaterialsOthers;
  final String? bldgapprStructMaterialsGenCode;
  final String? bldgapprPropertyAssessmentDateCreated;
  final String? bldgapprPropertyAssessmentDateModified;
  final dynamic bldgapprPropertyAssessmentActualUse;
  final dynamic bldgapprPropertyAssessmentMarketValue;
  final dynamic bldgapprPropertyAssessmentAssessmentLevel;
  final dynamic bldgapprPropertyAssessmentAssessedValue;
  final dynamic bldgapprPropertyAssessmentTaxable;
  final dynamic bldgapprPropertyAssessmentExempt;
  final dynamic bldgapprPropertyAssessmentQtr;
  final dynamic bldgapprPropertyAssessmentYr;
  final dynamic bldgapprPropertyAssessmentAppraisedbyName;
  final dynamic bldgapprPropertyAssessmentAppraisedbyDate;
  final dynamic bldgapprPropertyAssessmentRecommendapprName;
  final dynamic bldgapprPropertyAssessmentRecommendapprDate;
  final dynamic bldgapprPropertyAssessmentApprovedbyName;
  final dynamic bldgapprPropertyAssessmentApprovedbyDate;
  final dynamic bldgapprPropertyAssessmentMemoranda;
  final dynamic bldgapprPropertyAssessmentSwornstatementNo;
  final dynamic bldgapprPropertyAssessmentDateReceived;
  final dynamic bldgapprPropertyAssessmentEntryDateAssessment;
  final dynamic bldgapprPropertyAssessmentEntryDateBy;
  final String? bldgapprPropertyAssessmentGenCode;
  final String? bldgapprRecSupersededassDateCreated;
  final String? bldgapprRecSupersededassDateModified;
  final dynamic bldgapprRecSupersededassPin;
  final dynamic bldgapprRecSupersededassTdn;
  final dynamic bldgapprRecSupersededassTotalAssval;
  final dynamic bldgapprRecSupersededassOwner;
  final dynamic bldgapprRecSupersededassEffectivityAss;
  final dynamic bldgapprRecSupersededassPageNo;
  final dynamic bldgapprRecSupersededassTotalMarketval;
  final dynamic bldgapprRecSupersededassTotalArea;
  final dynamic bldgapprRecSupersededassRecAssessment;
  final dynamic bldgapprRecSupersededassRecTaxmapping;
  final dynamic bldgapprRecSupersededassRecRecords;
  final dynamic bldgapprRecSupersededassDate;
  final String? bldgapprRecSupersededassGenCode;

  BuildingDetails({
    this.assessedById,
    this.assessedByName,
    this.dateCreated,
    this.dateModified,
    this.transCode,
    this.tdn,
    this.pin,
    this.owner,
    this.address,
    this.telno,
    this.tin,
    this.adminUser,
    this.adminAddress,
    this.adminTelno,
    this.adminTin,
    this.faasType,
    this.genCode,
    this.bldgapprLocationDateCreated,
    this.bldgapprLocationDateModified,
    this.bldgapprLocationStreet,
    this.bldgapprLocationBarangay,
    this.bldgapprLocationMunicipality,
    this.bldgapprLocationProvince,
    this.bldgapprLocationGenCode,
    this.bldgapprLandrefDateCreated,
    this.bldgapprLandrefDateModified,
    this.bldgapprLandrefOwner,
    this.bldgapprLandrefCloaNo,
    this.bldgapprLandrefLotNo,
    this.bldgapprLandrefTdn,
    this.bldgapprLandrefArea,
    this.bldgapprLandrefSurveyNo,
    this.bldgapprLandrefBlkNo,
    this.bldgapprLandrefGenCode,
    this.bldgapprGeneraldescDateCreated,
    this.bldgapprGeneraldescDateModified,
    this.bldgapprGeneraldescBldgKind,
    this.bldgapprGeneraldescStrucType,
    this.bldgapprGeneraldescBldgPermit,
    this.bldgapprGeneraldescDateIssued,
    this.bldgapprGeneraldescCct,
    this.bldgapprGeneraldescCertCompletionIssued,
    this.bldgapprGeneraldescCertOccupancyIssued,
    this.bldgapprGeneraldescDateCompleted,
    this.bldgapprGeneraldescDateOccupied,
    this.bldgapprGeneraldescBldgAge,
    this.bldgapprGeneraldescNoStoreys,
    this.bldgapprGeneraldescArea1Stfloor,
    this.bldgapprGeneraldescArea2Ndfloor,
    this.bldgapprGeneraldescArea3Rdfloor,
    this.bldgapprGeneraldescArea4Thfloor,
    this.bldgapprGeneraldescTotalFloorArea,
    this.bldgapprGeneraldescFloorSketch,
    this.bldgapprGeneraldescActualUse,
    this.bldgapprGeneraldescUnitValue,
    this.bldgapprGeneraldescGenCode,
    this.bldgapprStructMaterialsDateCreated,
    this.bldgapprStructMaterialsDateModified,
    this.bldgapprStructMaterialsFoundation,
    this.bldgapprStructMaterialsColumns,
    this.bldgapprStructMaterialsBeams,
    this.bldgapprStructMaterialsTrussFraming,
    this.bldgapprStructMaterialsRoof,
    this.bldgapprStructMaterialsFlooring,
    this.bldgapprStructMaterialsWalls,
    this.bldgapprStructMaterialsOthers,
    this.bldgapprStructMaterialsGenCode,
    this.bldgapprPropertyAssessmentDateCreated,
    this.bldgapprPropertyAssessmentDateModified,
    this.bldgapprPropertyAssessmentActualUse,
    this.bldgapprPropertyAssessmentMarketValue,
    this.bldgapprPropertyAssessmentAssessmentLevel,
    this.bldgapprPropertyAssessmentAssessedValue,
    this.bldgapprPropertyAssessmentTaxable,
    this.bldgapprPropertyAssessmentExempt,
    this.bldgapprPropertyAssessmentQtr,
    this.bldgapprPropertyAssessmentYr,
    this.bldgapprPropertyAssessmentAppraisedbyName,
    this.bldgapprPropertyAssessmentAppraisedbyDate,
    this.bldgapprPropertyAssessmentRecommendapprName,
    this.bldgapprPropertyAssessmentRecommendapprDate,
    this.bldgapprPropertyAssessmentApprovedbyName,
    this.bldgapprPropertyAssessmentApprovedbyDate,
    this.bldgapprPropertyAssessmentMemoranda,
    this.bldgapprPropertyAssessmentSwornstatementNo,
    this.bldgapprPropertyAssessmentDateReceived,
    this.bldgapprPropertyAssessmentEntryDateAssessment,
    this.bldgapprPropertyAssessmentEntryDateBy,
    this.bldgapprPropertyAssessmentGenCode,
    this.bldgapprRecSupersededassDateCreated,
    this.bldgapprRecSupersededassDateModified,
    this.bldgapprRecSupersededassPin,
    this.bldgapprRecSupersededassTdn,
    this.bldgapprRecSupersededassTotalAssval,
    this.bldgapprRecSupersededassOwner,
    this.bldgapprRecSupersededassEffectivityAss,
    this.bldgapprRecSupersededassPageNo,
    this.bldgapprRecSupersededassTotalMarketval,
    this.bldgapprRecSupersededassTotalArea,
    this.bldgapprRecSupersededassRecAssessment,
    this.bldgapprRecSupersededassRecTaxmapping,
    this.bldgapprRecSupersededassRecRecords,
    this.bldgapprRecSupersededassDate,
    this.bldgapprRecSupersededassGenCode,
  });

  BuildingDetails copyWith({
    String? assessedById,
    String? assessedByName,
    String? dateCreated,
    String? dateModified,
    String? transCode,
    String? tdn,
    String? pin,
    String? owner,
    String? address,
    String? telno,
    String? tin,
    String? adminUser,
    String? adminAddress,
    String? adminTelno,
    String? adminTin,
    String? faasType,
    String? genCode,
    String? bldgapprLocationDateCreated,
    String? bldgapprLocationDateModified,
    dynamic bldgapprLocationStreet,
    dynamic bldgapprLocationBarangay,
    dynamic bldgapprLocationMunicipality,
    dynamic bldgapprLocationProvince,
    String? bldgapprLocationGenCode,
    String? bldgapprLandrefDateCreated,
    String? bldgapprLandrefDateModified,
    dynamic bldgapprLandrefOwner,
    dynamic bldgapprLandrefCloaNo,
    dynamic bldgapprLandrefLotNo,
    dynamic bldgapprLandrefTdn,
    dynamic bldgapprLandrefArea,
    dynamic bldgapprLandrefSurveyNo,
    dynamic bldgapprLandrefBlkNo,
    String? bldgapprLandrefGenCode,
    String? bldgapprGeneraldescDateCreated,
    String? bldgapprGeneraldescDateModified,
    dynamic bldgapprGeneraldescBldgKind,
    dynamic bldgapprGeneraldescStrucType,
    dynamic bldgapprGeneraldescBldgPermit,
    dynamic bldgapprGeneraldescDateIssued,
    dynamic bldgapprGeneraldescCct,
    dynamic bldgapprGeneraldescCertCompletionIssued,
    dynamic bldgapprGeneraldescCertOccupancyIssued,
    dynamic bldgapprGeneraldescDateCompleted,
    dynamic bldgapprGeneraldescDateOccupied,
    dynamic bldgapprGeneraldescBldgAge,
    dynamic bldgapprGeneraldescNoStoreys,
    dynamic bldgapprGeneraldescArea1Stfloor,
    dynamic bldgapprGeneraldescArea2Ndfloor,
    dynamic bldgapprGeneraldescArea3Rdfloor,
    dynamic bldgapprGeneraldescArea4Thfloor,
    dynamic bldgapprGeneraldescTotalFloorArea,
    dynamic bldgapprGeneraldescFloorSketch,
    dynamic bldgapprGeneraldescActualUse,
    dynamic bldgapprGeneraldescUnitValue,
    String? bldgapprGeneraldescGenCode,
    String? bldgapprStructMaterialsDateCreated,
    String? bldgapprStructMaterialsDateModified,
    dynamic bldgapprStructMaterialsFoundation,
    dynamic bldgapprStructMaterialsColumns,
    dynamic bldgapprStructMaterialsBeams,
    dynamic bldgapprStructMaterialsTrussFraming,
    dynamic bldgapprStructMaterialsRoof,
    dynamic bldgapprStructMaterialsFlooring,
    dynamic bldgapprStructMaterialsWalls,
    dynamic bldgapprStructMaterialsOthers,
    String? bldgapprStructMaterialsGenCode,
    String? bldgapprPropertyAssessmentDateCreated,
    String? bldgapprPropertyAssessmentDateModified,
    dynamic bldgapprPropertyAssessmentActualUse,
    dynamic bldgapprPropertyAssessmentMarketValue,
    dynamic bldgapprPropertyAssessmentAssessmentLevel,
    dynamic bldgapprPropertyAssessmentAssessedValue,
    dynamic bldgapprPropertyAssessmentTaxable,
    dynamic bldgapprPropertyAssessmentExempt,
    dynamic bldgapprPropertyAssessmentQtr,
    dynamic bldgapprPropertyAssessmentYr,
    dynamic bldgapprPropertyAssessmentAppraisedbyName,
    dynamic bldgapprPropertyAssessmentAppraisedbyDate,
    dynamic bldgapprPropertyAssessmentRecommendapprName,
    dynamic bldgapprPropertyAssessmentRecommendapprDate,
    dynamic bldgapprPropertyAssessmentApprovedbyName,
    dynamic bldgapprPropertyAssessmentApprovedbyDate,
    dynamic bldgapprPropertyAssessmentMemoranda,
    dynamic bldgapprPropertyAssessmentSwornstatementNo,
    dynamic bldgapprPropertyAssessmentDateReceived,
    dynamic bldgapprPropertyAssessmentEntryDateAssessment,
    dynamic bldgapprPropertyAssessmentEntryDateBy,
    String? bldgapprPropertyAssessmentGenCode,
    String? bldgapprRecSupersededassDateCreated,
    String? bldgapprRecSupersededassDateModified,
    dynamic bldgapprRecSupersededassPin,
    dynamic bldgapprRecSupersededassTdn,
    dynamic bldgapprRecSupersededassTotalAssval,
    dynamic bldgapprRecSupersededassOwner,
    dynamic bldgapprRecSupersededassEffectivityAss,
    dynamic bldgapprRecSupersededassPageNo,
    dynamic bldgapprRecSupersededassTotalMarketval,
    dynamic bldgapprRecSupersededassTotalArea,
    dynamic bldgapprRecSupersededassRecAssessment,
    dynamic bldgapprRecSupersededassRecTaxmapping,
    dynamic bldgapprRecSupersededassRecRecords,
    dynamic bldgapprRecSupersededassDate,
    String? bldgapprRecSupersededassGenCode,
  }) =>
      BuildingDetails(
        assessedById: assessedById ?? this.assessedById,
        assessedByName: assessedByName ?? this.assessedByName,
        dateCreated: dateCreated ?? this.dateCreated,
        dateModified: dateModified ?? this.dateModified,
        transCode: transCode ?? this.transCode,
        tdn: tdn ?? this.tdn,
        pin: pin ?? this.pin,
        owner: owner ?? this.owner,
        address: address ?? this.address,
        telno: telno ?? this.telno,
        tin: tin ?? this.tin,
        adminUser: adminUser ?? this.adminUser,
        adminAddress: adminAddress ?? this.adminAddress,
        adminTelno: adminTelno ?? this.adminTelno,
        adminTin: adminTin ?? this.adminTin,
        faasType: faasType ?? this.faasType,
        genCode: genCode ?? this.genCode,
        bldgapprLocationDateCreated:
            bldgapprLocationDateCreated ?? this.bldgapprLocationDateCreated,
        bldgapprLocationDateModified:
            bldgapprLocationDateModified ?? this.bldgapprLocationDateModified,
        bldgapprLocationStreet:
            bldgapprLocationStreet ?? this.bldgapprLocationStreet,
        bldgapprLocationBarangay:
            bldgapprLocationBarangay ?? this.bldgapprLocationBarangay,
        bldgapprLocationMunicipality:
            bldgapprLocationMunicipality ?? this.bldgapprLocationMunicipality,
        bldgapprLocationProvince:
            bldgapprLocationProvince ?? this.bldgapprLocationProvince,
        bldgapprLocationGenCode:
            bldgapprLocationGenCode ?? this.bldgapprLocationGenCode,
        bldgapprLandrefDateCreated:
            bldgapprLandrefDateCreated ?? this.bldgapprLandrefDateCreated,
        bldgapprLandrefDateModified:
            bldgapprLandrefDateModified ?? this.bldgapprLandrefDateModified,
        bldgapprLandrefOwner: bldgapprLandrefOwner ?? this.bldgapprLandrefOwner,
        bldgapprLandrefCloaNo:
            bldgapprLandrefCloaNo ?? this.bldgapprLandrefCloaNo,
        bldgapprLandrefLotNo: bldgapprLandrefLotNo ?? this.bldgapprLandrefLotNo,
        bldgapprLandrefTdn: bldgapprLandrefTdn ?? this.bldgapprLandrefTdn,
        bldgapprLandrefArea: bldgapprLandrefArea ?? this.bldgapprLandrefArea,
        bldgapprLandrefSurveyNo:
            bldgapprLandrefSurveyNo ?? this.bldgapprLandrefSurveyNo,
        bldgapprLandrefBlkNo: bldgapprLandrefBlkNo ?? this.bldgapprLandrefBlkNo,
        bldgapprLandrefGenCode:
            bldgapprLandrefGenCode ?? this.bldgapprLandrefGenCode,
        bldgapprGeneraldescDateCreated: bldgapprGeneraldescDateCreated ??
            this.bldgapprGeneraldescDateCreated,
        bldgapprGeneraldescDateModified: bldgapprGeneraldescDateModified ??
            this.bldgapprGeneraldescDateModified,
        bldgapprGeneraldescBldgKind:
            bldgapprGeneraldescBldgKind ?? this.bldgapprGeneraldescBldgKind,
        bldgapprGeneraldescStrucType:
            bldgapprGeneraldescStrucType ?? this.bldgapprGeneraldescStrucType,
        bldgapprGeneraldescBldgPermit:
            bldgapprGeneraldescBldgPermit ?? this.bldgapprGeneraldescBldgPermit,
        bldgapprGeneraldescDateIssued:
            bldgapprGeneraldescDateIssued ?? this.bldgapprGeneraldescDateIssued,
        bldgapprGeneraldescCct:
            bldgapprGeneraldescCct ?? this.bldgapprGeneraldescCct,
        bldgapprGeneraldescCertCompletionIssued:
            bldgapprGeneraldescCertCompletionIssued ??
                this.bldgapprGeneraldescCertCompletionIssued,
        bldgapprGeneraldescCertOccupancyIssued:
            bldgapprGeneraldescCertOccupancyIssued ??
                this.bldgapprGeneraldescCertOccupancyIssued,
        bldgapprGeneraldescDateCompleted: bldgapprGeneraldescDateCompleted ??
            this.bldgapprGeneraldescDateCompleted,
        bldgapprGeneraldescDateOccupied: bldgapprGeneraldescDateOccupied ??
            this.bldgapprGeneraldescDateOccupied,
        bldgapprGeneraldescBldgAge:
            bldgapprGeneraldescBldgAge ?? this.bldgapprGeneraldescBldgAge,
        bldgapprGeneraldescNoStoreys:
            bldgapprGeneraldescNoStoreys ?? this.bldgapprGeneraldescNoStoreys,
        bldgapprGeneraldescArea1Stfloor: bldgapprGeneraldescArea1Stfloor ??
            this.bldgapprGeneraldescArea1Stfloor,
        bldgapprGeneraldescArea2Ndfloor: bldgapprGeneraldescArea2Ndfloor ??
            this.bldgapprGeneraldescArea2Ndfloor,
        bldgapprGeneraldescArea3Rdfloor: bldgapprGeneraldescArea3Rdfloor ??
            this.bldgapprGeneraldescArea3Rdfloor,
        bldgapprGeneraldescArea4Thfloor: bldgapprGeneraldescArea4Thfloor ??
            this.bldgapprGeneraldescArea4Thfloor,
        bldgapprGeneraldescTotalFloorArea: bldgapprGeneraldescTotalFloorArea ??
            this.bldgapprGeneraldescTotalFloorArea,
        bldgapprGeneraldescFloorSketch: bldgapprGeneraldescFloorSketch ??
            this.bldgapprGeneraldescFloorSketch,
        bldgapprGeneraldescActualUse:
            bldgapprGeneraldescActualUse ?? this.bldgapprGeneraldescActualUse,
        bldgapprGeneraldescUnitValue:
            bldgapprGeneraldescUnitValue ?? this.bldgapprGeneraldescUnitValue,
        bldgapprGeneraldescGenCode:
            bldgapprGeneraldescGenCode ?? this.bldgapprGeneraldescGenCode,
        bldgapprStructMaterialsDateCreated:
            bldgapprStructMaterialsDateCreated ??
                this.bldgapprStructMaterialsDateCreated,
        bldgapprStructMaterialsDateModified:
            bldgapprStructMaterialsDateModified ??
                this.bldgapprStructMaterialsDateModified,
        bldgapprStructMaterialsFoundation: bldgapprStructMaterialsFoundation ??
            this.bldgapprStructMaterialsFoundation,
        bldgapprStructMaterialsColumns: bldgapprStructMaterialsColumns ??
            this.bldgapprStructMaterialsColumns,
        bldgapprStructMaterialsBeams:
            bldgapprStructMaterialsBeams ?? this.bldgapprStructMaterialsBeams,
        bldgapprStructMaterialsTrussFraming:
            bldgapprStructMaterialsTrussFraming ??
                this.bldgapprStructMaterialsTrussFraming,
        bldgapprStructMaterialsRoof:
            bldgapprStructMaterialsRoof ?? this.bldgapprStructMaterialsRoof,
        bldgapprStructMaterialsFlooring: bldgapprStructMaterialsFlooring ??
            this.bldgapprStructMaterialsFlooring,
        bldgapprStructMaterialsWalls:
            bldgapprStructMaterialsWalls ?? this.bldgapprStructMaterialsWalls,
        bldgapprStructMaterialsOthers:
            bldgapprStructMaterialsOthers ?? this.bldgapprStructMaterialsOthers,
        bldgapprStructMaterialsGenCode: bldgapprStructMaterialsGenCode ??
            this.bldgapprStructMaterialsGenCode,
        bldgapprPropertyAssessmentDateCreated:
            bldgapprPropertyAssessmentDateCreated ??
                this.bldgapprPropertyAssessmentDateCreated,
        bldgapprPropertyAssessmentDateModified:
            bldgapprPropertyAssessmentDateModified ??
                this.bldgapprPropertyAssessmentDateModified,
        bldgapprPropertyAssessmentActualUse:
            bldgapprPropertyAssessmentActualUse ??
                this.bldgapprPropertyAssessmentActualUse,
        bldgapprPropertyAssessmentMarketValue:
            bldgapprPropertyAssessmentMarketValue ??
                this.bldgapprPropertyAssessmentMarketValue,
        bldgapprPropertyAssessmentAssessmentLevel:
            bldgapprPropertyAssessmentAssessmentLevel ??
                this.bldgapprPropertyAssessmentAssessmentLevel,
        bldgapprPropertyAssessmentAssessedValue:
            bldgapprPropertyAssessmentAssessedValue ??
                this.bldgapprPropertyAssessmentAssessedValue,
        bldgapprPropertyAssessmentTaxable: bldgapprPropertyAssessmentTaxable ??
            this.bldgapprPropertyAssessmentTaxable,
        bldgapprPropertyAssessmentExempt: bldgapprPropertyAssessmentExempt ??
            this.bldgapprPropertyAssessmentExempt,
        bldgapprPropertyAssessmentQtr:
            bldgapprPropertyAssessmentQtr ?? this.bldgapprPropertyAssessmentQtr,
        bldgapprPropertyAssessmentYr:
            bldgapprPropertyAssessmentYr ?? this.bldgapprPropertyAssessmentYr,
        bldgapprPropertyAssessmentAppraisedbyName:
            bldgapprPropertyAssessmentAppraisedbyName ??
                this.bldgapprPropertyAssessmentAppraisedbyName,
        bldgapprPropertyAssessmentAppraisedbyDate:
            bldgapprPropertyAssessmentAppraisedbyDate ??
                this.bldgapprPropertyAssessmentAppraisedbyDate,
        bldgapprPropertyAssessmentRecommendapprName:
            bldgapprPropertyAssessmentRecommendapprName ??
                this.bldgapprPropertyAssessmentRecommendapprName,
        bldgapprPropertyAssessmentRecommendapprDate:
            bldgapprPropertyAssessmentRecommendapprDate ??
                this.bldgapprPropertyAssessmentRecommendapprDate,
        bldgapprPropertyAssessmentApprovedbyName:
            bldgapprPropertyAssessmentApprovedbyName ??
                this.bldgapprPropertyAssessmentApprovedbyName,
        bldgapprPropertyAssessmentApprovedbyDate:
            bldgapprPropertyAssessmentApprovedbyDate ??
                this.bldgapprPropertyAssessmentApprovedbyDate,
        bldgapprPropertyAssessmentMemoranda:
            bldgapprPropertyAssessmentMemoranda ??
                this.bldgapprPropertyAssessmentMemoranda,
        bldgapprPropertyAssessmentSwornstatementNo:
            bldgapprPropertyAssessmentSwornstatementNo ??
                this.bldgapprPropertyAssessmentSwornstatementNo,
        bldgapprPropertyAssessmentDateReceived:
            bldgapprPropertyAssessmentDateReceived ??
                this.bldgapprPropertyAssessmentDateReceived,
        bldgapprPropertyAssessmentEntryDateAssessment:
            bldgapprPropertyAssessmentEntryDateAssessment ??
                this.bldgapprPropertyAssessmentEntryDateAssessment,
        bldgapprPropertyAssessmentEntryDateBy:
            bldgapprPropertyAssessmentEntryDateBy ??
                this.bldgapprPropertyAssessmentEntryDateBy,
        bldgapprPropertyAssessmentGenCode: bldgapprPropertyAssessmentGenCode ??
            this.bldgapprPropertyAssessmentGenCode,
        bldgapprRecSupersededassDateCreated:
            bldgapprRecSupersededassDateCreated ??
                this.bldgapprRecSupersededassDateCreated,
        bldgapprRecSupersededassDateModified:
            bldgapprRecSupersededassDateModified ??
                this.bldgapprRecSupersededassDateModified,
        bldgapprRecSupersededassPin:
            bldgapprRecSupersededassPin ?? this.bldgapprRecSupersededassPin,
        bldgapprRecSupersededassTdn:
            bldgapprRecSupersededassTdn ?? this.bldgapprRecSupersededassTdn,
        bldgapprRecSupersededassTotalAssval:
            bldgapprRecSupersededassTotalAssval ??
                this.bldgapprRecSupersededassTotalAssval,
        bldgapprRecSupersededassOwner:
            bldgapprRecSupersededassOwner ?? this.bldgapprRecSupersededassOwner,
        bldgapprRecSupersededassEffectivityAss:
            bldgapprRecSupersededassEffectivityAss ??
                this.bldgapprRecSupersededassEffectivityAss,
        bldgapprRecSupersededassPageNo: bldgapprRecSupersededassPageNo ??
            this.bldgapprRecSupersededassPageNo,
        bldgapprRecSupersededassTotalMarketval:
            bldgapprRecSupersededassTotalMarketval ??
                this.bldgapprRecSupersededassTotalMarketval,
        bldgapprRecSupersededassTotalArea: bldgapprRecSupersededassTotalArea ??
            this.bldgapprRecSupersededassTotalArea,
        bldgapprRecSupersededassRecAssessment:
            bldgapprRecSupersededassRecAssessment ??
                this.bldgapprRecSupersededassRecAssessment,
        bldgapprRecSupersededassRecTaxmapping:
            bldgapprRecSupersededassRecTaxmapping ??
                this.bldgapprRecSupersededassRecTaxmapping,
        bldgapprRecSupersededassRecRecords:
            bldgapprRecSupersededassRecRecords ??
                this.bldgapprRecSupersededassRecRecords,
        bldgapprRecSupersededassDate:
            bldgapprRecSupersededassDate ?? this.bldgapprRecSupersededassDate,
        bldgapprRecSupersededassGenCode: bldgapprRecSupersededassGenCode ??
            this.bldgapprRecSupersededassGenCode,
      );

  factory BuildingDetails.fromJson(Map<String, dynamic> json) =>
      BuildingDetails(
        assessedById: json["assessed_by_id"],
        assessedByName: json["assessed_by_name"],
        dateCreated: json["date_created"],
        dateModified: json["date_modified"],
        transCode: json["trans_code"],
        tdn: json["tdn"],
        pin: json["pin"],
        owner: json["owner"],
        address: json["address"],
        telno: json["telno"],
        tin: json["tin"],
        adminUser: json["admin_user"],
        adminAddress: json["admin_address"],
        adminTelno: json["admin_telno"],
        adminTin: json["admin_tin"],
        faasType: json["faas_type"],
        genCode: json["gen_code"],
        bldgapprLocationDateCreated: json["bldgappr_location.date_created"],
        bldgapprLocationDateModified: json["bldgappr_location.date_modified"],
        bldgapprLocationStreet: json["bldgappr_location.street"],
        bldgapprLocationBarangay: json["bldgappr_location.barangay"],
        bldgapprLocationMunicipality: json["bldgappr_location.municipality"],
        bldgapprLocationProvince: json["bldgappr_location.province"],
        bldgapprLocationGenCode: json["bldgappr_location.gen_code"],
        bldgapprLandrefDateCreated: json["bldgappr_landref.date_created"],
        bldgapprLandrefDateModified: json["bldgappr_landref.date_modified"],
        bldgapprLandrefOwner: json["bldgappr_landref.owner"],
        bldgapprLandrefCloaNo: json["bldgappr_landref.cloa_no"],
        bldgapprLandrefLotNo: json["bldgappr_landref.lot_no"],
        bldgapprLandrefTdn: json["bldgappr_landref.tdn"],
        bldgapprLandrefArea: json["bldgappr_landref.area"],
        bldgapprLandrefSurveyNo: json["bldgappr_landref.survey_no"],
        bldgapprLandrefBlkNo: json["bldgappr_landref.blk_no"],
        bldgapprLandrefGenCode: json["bldgappr_landref.gen_code"],
        bldgapprGeneraldescDateCreated:
            json["bldgappr_generaldesc.date_created"],
        bldgapprGeneraldescDateModified:
            json["bldgappr_generaldesc.date_modified"],
        bldgapprGeneraldescBldgKind: json["bldgappr_generaldesc.bldg_kind"],
        bldgapprGeneraldescStrucType: json["bldgappr_generaldesc.struc_type"],
        bldgapprGeneraldescBldgPermit: json["bldgappr_generaldesc.bldg_permit"],
        bldgapprGeneraldescDateIssued: json["bldgappr_generaldesc.date_issued"],
        bldgapprGeneraldescCct: json["bldgappr_generaldesc.cct"],
        bldgapprGeneraldescCertCompletionIssued:
            json["bldgappr_generaldesc.cert_completion_issued"],
        bldgapprGeneraldescCertOccupancyIssued:
            json["bldgappr_generaldesc.cert_occupancy_issued"],
        bldgapprGeneraldescDateCompleted:
            json["bldgappr_generaldesc.date_completed"],
        bldgapprGeneraldescDateOccupied:
            json["bldgappr_generaldesc.date_occupied"],
        bldgapprGeneraldescBldgAge: json["bldgappr_generaldesc.bldg_age"],
        bldgapprGeneraldescNoStoreys: json["bldgappr_generaldesc.no_storeys"],
        bldgapprGeneraldescArea1Stfloor:
            json["bldgappr_generaldesc.area_1stfloor"],
        bldgapprGeneraldescArea2Ndfloor:
            json["bldgappr_generaldesc.area_2ndfloor"],
        bldgapprGeneraldescArea3Rdfloor:
            json["bldgappr_generaldesc.area_3rdfloor"],
        bldgapprGeneraldescArea4Thfloor:
            json["bldgappr_generaldesc.area_4thfloor"],
        bldgapprGeneraldescTotalFloorArea:
            json["bldgappr_generaldesc.total_floor_area"],
        bldgapprGeneraldescFloorSketch:
            json["bldgappr_generaldesc.floor_sketch"],
        bldgapprGeneraldescActualUse: json["bldgappr_generaldesc.actual_use"],
        bldgapprGeneraldescUnitValue: json["bldgappr_generaldesc.unit_value"],
        bldgapprGeneraldescGenCode: json["bldgappr_generaldesc.gen_code"],
        bldgapprStructMaterialsDateCreated:
            json["bldgappr_struct_materials.date_created"],
        bldgapprStructMaterialsDateModified:
            json["bldgappr_struct_materials.date_modified"],
        bldgapprStructMaterialsFoundation:
            json["bldgappr_struct_materials.foundation"],
        bldgapprStructMaterialsColumns:
            json["bldgappr_struct_materials.columns"],
        bldgapprStructMaterialsBeams: json["bldgappr_struct_materials.beams"],
        bldgapprStructMaterialsTrussFraming:
            json["bldgappr_struct_materials.truss_framing"],
        bldgapprStructMaterialsRoof: json["bldgappr_struct_materials.roof"],
        bldgapprStructMaterialsFlooring:
            json["bldgappr_struct_materials.flooring"],
        bldgapprStructMaterialsWalls: json["bldgappr_struct_materials.walls"],
        bldgapprStructMaterialsOthers: json["bldgappr_struct_materials.others"],
        bldgapprStructMaterialsGenCode:
            json["bldgappr_struct_materials.gen_code"],
        bldgapprPropertyAssessmentDateCreated:
            json["bldgappr_property_assessment.date_created"],
        bldgapprPropertyAssessmentDateModified:
            json["bldgappr_property_assessment.date_modified"],
        bldgapprPropertyAssessmentActualUse:
            json["bldgappr_property_assessment.actual_use"],
        bldgapprPropertyAssessmentMarketValue:
            json["bldgappr_property_assessment.market_value"],
        bldgapprPropertyAssessmentAssessmentLevel:
            json["bldgappr_property_assessment.assessment_level"],
        bldgapprPropertyAssessmentAssessedValue:
            json["bldgappr_property_assessment.assessed_value"],
        bldgapprPropertyAssessmentTaxable:
            json["bldgappr_property_assessment.taxable"],
        bldgapprPropertyAssessmentExempt:
            json["bldgappr_property_assessment.exempt"],
        bldgapprPropertyAssessmentQtr: json["bldgappr_property_assessment.qtr"],
        bldgapprPropertyAssessmentYr: json["bldgappr_property_assessment.yr"],
        bldgapprPropertyAssessmentAppraisedbyName:
            json["bldgappr_property_assessment.appraisedby_name"],
        bldgapprPropertyAssessmentAppraisedbyDate:
            json["bldgappr_property_assessment.appraisedby_date"],
        bldgapprPropertyAssessmentRecommendapprName:
            json["bldgappr_property_assessment.recommendappr_name"],
        bldgapprPropertyAssessmentRecommendapprDate:
            json["bldgappr_property_assessment.recommendappr_date"],
        bldgapprPropertyAssessmentApprovedbyName:
            json["bldgappr_property_assessment.approvedby_name"],
        bldgapprPropertyAssessmentApprovedbyDate:
            json["bldgappr_property_assessment.approvedby_date"],
        bldgapprPropertyAssessmentMemoranda:
            json["bldgappr_property_assessment.memoranda"],
        bldgapprPropertyAssessmentSwornstatementNo:
            json["bldgappr_property_assessment.swornstatement_no"],
        bldgapprPropertyAssessmentDateReceived:
            json["bldgappr_property_assessment.date_received"],
        bldgapprPropertyAssessmentEntryDateAssessment:
            json["bldgappr_property_assessment.entry_date_assessment"],
        bldgapprPropertyAssessmentEntryDateBy:
            json["bldgappr_property_assessment.entry_date_by"],
        bldgapprPropertyAssessmentGenCode:
            json["bldgappr_property_assessment.gen_code"],
        bldgapprRecSupersededassDateCreated:
            json["bldgappr_rec_supersededass.date_created"],
        bldgapprRecSupersededassDateModified:
            json["bldgappr_rec_supersededass.date_modified"],
        bldgapprRecSupersededassPin: json["bldgappr_rec_supersededass.pin"],
        bldgapprRecSupersededassTdn: json["bldgappr_rec_supersededass.tdn"],
        bldgapprRecSupersededassTotalAssval:
            json["bldgappr_rec_supersededass.total_assval"],
        bldgapprRecSupersededassOwner: json["bldgappr_rec_supersededass.owner"],
        bldgapprRecSupersededassEffectivityAss:
            json["bldgappr_rec_supersededass.effectivity_ass"],
        bldgapprRecSupersededassPageNo:
            json["bldgappr_rec_supersededass.page_no"],
        bldgapprRecSupersededassTotalMarketval:
            json["bldgappr_rec_supersededass.total_marketval"],
        bldgapprRecSupersededassTotalArea:
            json["bldgappr_rec_supersededass.total_area"],
        bldgapprRecSupersededassRecAssessment:
            json["bldgappr_rec_supersededass.rec_assessment"],
        bldgapprRecSupersededassRecTaxmapping:
            json["bldgappr_rec_supersededass.rec_taxmapping"],
        bldgapprRecSupersededassRecRecords:
            json["bldgappr_rec_supersededass.rec_records"],
        bldgapprRecSupersededassDate: json["bldgappr_rec_supersededass.date"],
        bldgapprRecSupersededassGenCode:
            json["bldgappr_rec_supersededass.gen_code"],
      );

  Map<String, dynamic> toJson() => {
        "assessed_by_id": assessedById,
        "assessed_by_name": assessedByName,
        "date_created": dateCreated,
        "date_modified": dateModified,
        "trans_code": transCode,
        "tdn": tdn,
        "pin": pin,
        "owner": owner,
        "address": address,
        "telno": telno,
        "tin": tin,
        "admin_user": adminUser,
        "admin_address": adminAddress,
        "admin_telno": adminTelno,
        "admin_tin": adminTin,
        "faas_type": faasType,
        "gen_code": genCode,
        "bldgappr_location.date_created": bldgapprLocationDateCreated,
        "bldgappr_location.date_modified": bldgapprLocationDateModified,
        "bldgappr_location.street": bldgapprLocationStreet,
        "bldgappr_location.barangay": bldgapprLocationBarangay,
        "bldgappr_location.municipality": bldgapprLocationMunicipality,
        "bldgappr_location.province": bldgapprLocationProvince,
        "bldgappr_location.gen_code": bldgapprLocationGenCode,
        "bldgappr_landref.date_created": bldgapprLandrefDateCreated,
        "bldgappr_landref.date_modified": bldgapprLandrefDateModified,
        "bldgappr_landref.owner": bldgapprLandrefOwner,
        "bldgappr_landref.cloa_no": bldgapprLandrefCloaNo,
        "bldgappr_landref.lot_no": bldgapprLandrefLotNo,
        "bldgappr_landref.tdn": bldgapprLandrefTdn,
        "bldgappr_landref.area": bldgapprLandrefArea,
        "bldgappr_landref.survey_no": bldgapprLandrefSurveyNo,
        "bldgappr_landref.blk_no": bldgapprLandrefBlkNo,
        "bldgappr_landref.gen_code": bldgapprLandrefGenCode,
        "bldgappr_generaldesc.date_created": bldgapprGeneraldescDateCreated,
        "bldgappr_generaldesc.date_modified": bldgapprGeneraldescDateModified,
        "bldgappr_generaldesc.bldg_kind": bldgapprGeneraldescBldgKind,
        "bldgappr_generaldesc.struc_type": bldgapprGeneraldescStrucType,
        "bldgappr_generaldesc.bldg_permit": bldgapprGeneraldescBldgPermit,
        "bldgappr_generaldesc.date_issued": bldgapprGeneraldescDateIssued,
        "bldgappr_generaldesc.cct": bldgapprGeneraldescCct,
        "bldgappr_generaldesc.cert_completion_issued":
            bldgapprGeneraldescCertCompletionIssued,
        "bldgappr_generaldesc.cert_occupancy_issued":
            bldgapprGeneraldescCertOccupancyIssued,
        "bldgappr_generaldesc.date_completed": bldgapprGeneraldescDateCompleted,
        "bldgappr_generaldesc.date_occupied": bldgapprGeneraldescDateOccupied,
        "bldgappr_generaldesc.bldg_age": bldgapprGeneraldescBldgAge,
        "bldgappr_generaldesc.no_storeys": bldgapprGeneraldescNoStoreys,
        "bldgappr_generaldesc.area_1stfloor": bldgapprGeneraldescArea1Stfloor,
        "bldgappr_generaldesc.area_2ndfloor": bldgapprGeneraldescArea2Ndfloor,
        "bldgappr_generaldesc.area_3rdfloor": bldgapprGeneraldescArea3Rdfloor,
        "bldgappr_generaldesc.area_4thfloor": bldgapprGeneraldescArea4Thfloor,
        "bldgappr_generaldesc.total_floor_area":
            bldgapprGeneraldescTotalFloorArea,
        "bldgappr_generaldesc.floor_sketch": bldgapprGeneraldescFloorSketch,
        "bldgappr_generaldesc.actual_use": bldgapprGeneraldescActualUse,
        "bldgappr_generaldesc.unit_value": bldgapprGeneraldescUnitValue,
        "bldgappr_generaldesc.gen_code": bldgapprGeneraldescGenCode,
        "bldgappr_struct_materials.date_created":
            bldgapprStructMaterialsDateCreated,
        "bldgappr_struct_materials.date_modified":
            bldgapprStructMaterialsDateModified,
        "bldgappr_struct_materials.foundation":
            bldgapprStructMaterialsFoundation,
        "bldgappr_struct_materials.columns": bldgapprStructMaterialsColumns,
        "bldgappr_struct_materials.beams": bldgapprStructMaterialsBeams,
        "bldgappr_struct_materials.truss_framing":
            bldgapprStructMaterialsTrussFraming,
        "bldgappr_struct_materials.roof": bldgapprStructMaterialsRoof,
        "bldgappr_struct_materials.flooring": bldgapprStructMaterialsFlooring,
        "bldgappr_struct_materials.walls": bldgapprStructMaterialsWalls,
        "bldgappr_struct_materials.others": bldgapprStructMaterialsOthers,
        "bldgappr_struct_materials.gen_code": bldgapprStructMaterialsGenCode,
        "bldgappr_property_assessment.date_created":
            bldgapprPropertyAssessmentDateCreated,
        "bldgappr_property_assessment.date_modified":
            bldgapprPropertyAssessmentDateModified,
        "bldgappr_property_assessment.actual_use":
            bldgapprPropertyAssessmentActualUse,
        "bldgappr_property_assessment.market_value":
            bldgapprPropertyAssessmentMarketValue,
        "bldgappr_property_assessment.assessment_level":
            bldgapprPropertyAssessmentAssessmentLevel,
        "bldgappr_property_assessment.assessed_value":
            bldgapprPropertyAssessmentAssessedValue,
        "bldgappr_property_assessment.taxable":
            bldgapprPropertyAssessmentTaxable,
        "bldgappr_property_assessment.exempt": bldgapprPropertyAssessmentExempt,
        "bldgappr_property_assessment.qtr": bldgapprPropertyAssessmentQtr,
        "bldgappr_property_assessment.yr": bldgapprPropertyAssessmentYr,
        "bldgappr_property_assessment.appraisedby_name":
            bldgapprPropertyAssessmentAppraisedbyName,
        "bldgappr_property_assessment.appraisedby_date":
            bldgapprPropertyAssessmentAppraisedbyDate,
        "bldgappr_property_assessment.recommendappr_name":
            bldgapprPropertyAssessmentRecommendapprName,
        "bldgappr_property_assessment.recommendappr_date":
            bldgapprPropertyAssessmentRecommendapprDate,
        "bldgappr_property_assessment.approvedby_name":
            bldgapprPropertyAssessmentApprovedbyName,
        "bldgappr_property_assessment.approvedby_date":
            bldgapprPropertyAssessmentApprovedbyDate,
        "bldgappr_property_assessment.memoranda":
            bldgapprPropertyAssessmentMemoranda,
        "bldgappr_property_assessment.swornstatement_no":
            bldgapprPropertyAssessmentSwornstatementNo,
        "bldgappr_property_assessment.date_received":
            bldgapprPropertyAssessmentDateReceived,
        "bldgappr_property_assessment.entry_date_assessment":
            bldgapprPropertyAssessmentEntryDateAssessment,
        "bldgappr_property_assessment.entry_date_by":
            bldgapprPropertyAssessmentEntryDateBy,
        "bldgappr_property_assessment.gen_code":
            bldgapprPropertyAssessmentGenCode,
        "bldgappr_rec_supersededass.date_created":
            bldgapprRecSupersededassDateCreated,
        "bldgappr_rec_supersededass.date_modified":
            bldgapprRecSupersededassDateModified,
        "bldgappr_rec_supersededass.pin": bldgapprRecSupersededassPin,
        "bldgappr_rec_supersededass.tdn": bldgapprRecSupersededassTdn,
        "bldgappr_rec_supersededass.total_assval":
            bldgapprRecSupersededassTotalAssval,
        "bldgappr_rec_supersededass.owner": bldgapprRecSupersededassOwner,
        "bldgappr_rec_supersededass.effectivity_ass":
            bldgapprRecSupersededassEffectivityAss,
        "bldgappr_rec_supersededass.page_no": bldgapprRecSupersededassPageNo,
        "bldgappr_rec_supersededass.total_marketval":
            bldgapprRecSupersededassTotalMarketval,
        "bldgappr_rec_supersededass.total_area":
            bldgapprRecSupersededassTotalArea,
        "bldgappr_rec_supersededass.rec_assessment":
            bldgapprRecSupersededassRecAssessment,
        "bldgappr_rec_supersededass.rec_taxmapping":
            bldgapprRecSupersededassRecTaxmapping,
        "bldgappr_rec_supersededass.rec_records":
            bldgapprRecSupersededassRecRecords,
        "bldgappr_rec_supersededass.date": bldgapprRecSupersededassDate,
        "bldgappr_rec_supersededass.gen_code": bldgapprRecSupersededassGenCode,
      };
}
