Sanctions Search API: v2

<back to all web services

GetValidId

ValidID
The following routes are available for this service:
POST/validid/getGet a ValidID Search
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @DataContract
class Authentication implements IConvertible
{
    /**
    * The API User ID provided by us when you signed up to use our API
    */
    // @DataMember
    // @ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
    String? apiUserId;

    /**
    * The API User Key provided by us when you signed up to use our API
    */
    // @DataMember
    // @ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
    String? apiUserKey;

    Authentication({this.apiUserId,this.apiUserKey});
    Authentication.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        apiUserId = json['apiUserId'];
        apiUserKey = json['apiUserKey'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'apiUserId': apiUserId,
        'apiUserKey': apiUserKey
    };

    getTypeName() => "Authentication";
    TypeContext? context = _ctx;
}

// @DataContract
class BaseRequest implements IBaseRequest, IConvertible
{
    /**
    * The authentication credentials
    */
    // @DataMember
    // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
    Authentication? authentication;

    BaseRequest({this.authentication});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        authentication = JsonConverters.fromJson(json['authentication'],'Authentication',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'authentication': JsonConverters.toJson(authentication,'Authentication',context!)
    };

    getTypeName() => "BaseRequest";
    TypeContext? context = _ctx;
}

// @DataContract
class ResponseError implements IConvertible
{
    // @DataMember(Order=1)
    String? errorCode;

    // @DataMember(Order=2)
    String? fieldName;

    // @DataMember(Order=3)
    String? message;

    // @DataMember(Order=4)
    Map<String,String?>? meta;

    ResponseError({this.errorCode,this.fieldName,this.message,this.meta});
    ResponseError.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        errorCode = json['errorCode'];
        fieldName = json['fieldName'];
        message = json['message'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'errorCode': errorCode,
        'fieldName': fieldName,
        'message': message,
        'meta': meta
    };

    getTypeName() => "ResponseError";
    TypeContext? context = _ctx;
}

class ArrayOfResponseError extends ListBase<ResponseError> implements IConvertible
{
    final List<ResponseError> l = [];
    set length(int newLength) { l.length = newLength; }
    int get length => l.length;
    ResponseError operator [](int index) => l[index];
    void operator []=(int index, ResponseError value) { l[index] = value; }
    ArrayOfResponseError();
    ArrayOfResponseError.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ArrayOfResponseError";
    TypeContext? context = _ctx;
}

// @DataContract
class ResponseStatus implements IConvertible
{
    // @DataMember(Order=1)
    String? errorCode;

    // @DataMember(Order=2)
    String? message;

    // @DataMember(Order=3)
    String? stackTrace;

    // @DataMember(Order=4)
    ArrayOfResponseError? errors;

    // @DataMember(Order=5)
    Map<String,String?>? meta;

    ResponseStatus({this.errorCode,this.message,this.stackTrace,this.errors,this.meta});
    ResponseStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        errorCode = json['errorCode'];
        message = json['message'];
        stackTrace = json['stackTrace'];
        errors = JsonConverters.fromJson(json['errors'],'ArrayOfResponseError',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'errorCode': errorCode,
        'message': message,
        'stackTrace': stackTrace,
        'errors': JsonConverters.toJson(errors,'ArrayOfResponseError',context!),
        'meta': meta
    };

    getTypeName() => "ResponseStatus";
    TypeContext? context = _ctx;
}

class BaseResponse implements IBaseDataResponse, IHasResponseStatus, IConvertible
{
    /**
    * The status of the response
    */
    // @ApiMember(Description="The status of the response")
    ResponseStatus? responseStatus;

    BaseResponse({this.responseStatus});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "BaseResponse";
    TypeContext? context = _ctx;
}

class LinkedTo implements IConvertible
{
    int? clientId;
    int? id;
    String? type;
    String? subtype;
    String? status;
    String? description;
    bool? isArchived;
    String? name;
    DateTime? date;

    LinkedTo({this.clientId,this.id,this.type,this.subtype,this.status,this.description,this.isArchived,this.name,this.date});
    LinkedTo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        clientId = json['clientId'];
        id = json['id'];
        type = json['type'];
        subtype = json['subtype'];
        status = json['status'];
        description = json['description'];
        isArchived = json['isArchived'];
        name = json['name'];
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'clientId': clientId,
        'id': id,
        'type': type,
        'subtype': subtype,
        'status': status,
        'description': description,
        'isArchived': isArchived,
        'name': name,
        'date': JsonConverters.toJson(date,'DateTime',context!)
    };

    getTypeName() => "LinkedTo";
    TypeContext? context = _ctx;
}

class ArrayOfLinkedTo extends ListBase<LinkedTo> implements IConvertible
{
    final List<LinkedTo> l = [];
    set length(int newLength) { l.length = newLength; }
    int get length => l.length;
    LinkedTo operator [](int index) => l[index];
    void operator []=(int index, LinkedTo value) { l[index] = value; }
    ArrayOfLinkedTo();
    ArrayOfLinkedTo.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ArrayOfLinkedTo";
    TypeContext? context = _ctx;
}

class ValidIdBasicRequest implements IConvertible
{
    String? name1;
    String? name2;
    String? name3;
    DateTime? dateOfBirth;
    String? gender;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;

    ValidIdBasicRequest({this.name1,this.name2,this.name3,this.dateOfBirth,this.gender,this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode});
    ValidIdBasicRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name1 = json['name1'];
        name2 = json['name2'];
        name3 = json['name3'];
        dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!);
        gender = json['gender'];
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name1': name1,
        'name2': name2,
        'name3': name3,
        'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!),
        'gender': gender,
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode
    };

    getTypeName() => "ValidIdBasicRequest";
    TypeContext? context = _ctx;
}

class ValidIdPassportRequest implements IConvertible
{
    String? passport1;
    String? passport2;
    String? passport3;
    String? passport4;
    String? passport5;
    String? passport6;
    String? passport7;
    String? passport8;
    String? passportMrzLineOne1;
    String? passportMrzLineOne2;
    String? passportMrzLineOne3;

    ValidIdPassportRequest({this.passport1,this.passport2,this.passport3,this.passport4,this.passport5,this.passport6,this.passport7,this.passport8,this.passportMrzLineOne1,this.passportMrzLineOne2,this.passportMrzLineOne3});
    ValidIdPassportRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        passport1 = json['passport1'];
        passport2 = json['passport2'];
        passport3 = json['passport3'];
        passport4 = json['passport4'];
        passport5 = json['passport5'];
        passport6 = json['passport6'];
        passport7 = json['passport7'];
        passport8 = json['passport8'];
        passportMrzLineOne1 = json['passportMrzLineOne1'];
        passportMrzLineOne2 = json['passportMrzLineOne2'];
        passportMrzLineOne3 = json['passportMrzLineOne3'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'passport1': passport1,
        'passport2': passport2,
        'passport3': passport3,
        'passport4': passport4,
        'passport5': passport5,
        'passport6': passport6,
        'passport7': passport7,
        'passport8': passport8,
        'passportMrzLineOne1': passportMrzLineOne1,
        'passportMrzLineOne2': passportMrzLineOne2,
        'passportMrzLineOne3': passportMrzLineOne3
    };

    getTypeName() => "ValidIdPassportRequest";
    TypeContext? context = _ctx;
}

class ValidIdDrivingRequest implements IConvertible
{
    String? driving1;
    String? driving2;
    String? driving3;
    String? drivingPostcode;
    String? drivingMailSort;

    ValidIdDrivingRequest({this.driving1,this.driving2,this.driving3,this.drivingPostcode,this.drivingMailSort});
    ValidIdDrivingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        driving1 = json['driving1'];
        driving2 = json['driving2'];
        driving3 = json['driving3'];
        drivingPostcode = json['drivingPostcode'];
        drivingMailSort = json['drivingMailSort'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'driving1': driving1,
        'driving2': driving2,
        'driving3': driving3,
        'drivingPostcode': drivingPostcode,
        'drivingMailSort': drivingMailSort
    };

    getTypeName() => "ValidIdDrivingRequest";
    TypeContext? context = _ctx;
}

class ValidIdBirthRequest implements IConvertible
{
    String? birthForeName;
    String? birthMiddleName;
    String? birthSurname;
    String? birthMaidenName;
    String? birthDistrict;
    String? birthCertIssueNum;

    ValidIdBirthRequest({this.birthForeName,this.birthMiddleName,this.birthSurname,this.birthMaidenName,this.birthDistrict,this.birthCertIssueNum});
    ValidIdBirthRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        birthForeName = json['birthForeName'];
        birthMiddleName = json['birthMiddleName'];
        birthSurname = json['birthSurname'];
        birthMaidenName = json['birthMaidenName'];
        birthDistrict = json['birthDistrict'];
        birthCertIssueNum = json['birthCertIssueNum'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'birthForeName': birthForeName,
        'birthMiddleName': birthMiddleName,
        'birthSurname': birthSurname,
        'birthMaidenName': birthMaidenName,
        'birthDistrict': birthDistrict,
        'birthCertIssueNum': birthCertIssueNum
    };

    getTypeName() => "ValidIdBirthRequest";
    TypeContext? context = _ctx;
}

class ValidIdNIRequest implements IConvertible
{
    String? niNumber;

    ValidIdNIRequest({this.niNumber});
    ValidIdNIRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        niNumber = json['niNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'niNumber': niNumber
    };

    getTypeName() => "ValidIdNIRequest";
    TypeContext? context = _ctx;
}

class ValidIdNHSRequest implements IConvertible
{
    String? nhsNumber;

    ValidIdNHSRequest({this.nhsNumber});
    ValidIdNHSRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nhsNumber = json['nhsNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nhsNumber': nhsNumber
    };

    getTypeName() => "ValidIdNHSRequest";
    TypeContext? context = _ctx;
}

class ValidIdElectricityRequest implements IConvertible
{
    String? mpanNumber1;
    String? mpanNumber2;
    String? mpanNumber3;
    String? mpanNumber4;

    ValidIdElectricityRequest({this.mpanNumber1,this.mpanNumber2,this.mpanNumber3,this.mpanNumber4});
    ValidIdElectricityRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        mpanNumber1 = json['mpanNumber1'];
        mpanNumber2 = json['mpanNumber2'];
        mpanNumber3 = json['mpanNumber3'];
        mpanNumber4 = json['mpanNumber4'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'mpanNumber1': mpanNumber1,
        'mpanNumber2': mpanNumber2,
        'mpanNumber3': mpanNumber3,
        'mpanNumber4': mpanNumber4
    };

    getTypeName() => "ValidIdElectricityRequest";
    TypeContext? context = _ctx;
}

class ValidIdBankRequest implements IConvertible
{
    String? bankSortCode;
    String? bankAccountNumber;

    ValidIdBankRequest({this.bankSortCode,this.bankAccountNumber});
    ValidIdBankRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bankSortCode = json['bankSortCode'];
        bankAccountNumber = json['bankAccountNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bankSortCode': bankSortCode,
        'bankAccountNumber': bankAccountNumber
    };

    getTypeName() => "ValidIdBankRequest";
    TypeContext? context = _ctx;
}

class ValidIdCardNumberRequest implements IConvertible
{
    String? cardNumber;
    String? cardType;

    ValidIdCardNumberRequest({this.cardNumber,this.cardType});
    ValidIdCardNumberRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cardNumber = json['cardNumber'];
        cardType = json['cardType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cardNumber': cardNumber,
        'cardType': cardType
    };

    getTypeName() => "ValidIdCardNumberRequest";
    TypeContext? context = _ctx;
}

class ValidIdTravelVisaRequest implements IConvertible
{
    String? travelVisa1;
    String? travelVisa2;
    String? travelVisa3;
    String? travelVisa4;
    String? travelVisa5;
    String? travelVisa6;
    String? travelVisa7;
    String? travelVisa8;
    String? travelVisa9;

    ValidIdTravelVisaRequest({this.travelVisa1,this.travelVisa2,this.travelVisa3,this.travelVisa4,this.travelVisa5,this.travelVisa6,this.travelVisa7,this.travelVisa8,this.travelVisa9});
    ValidIdTravelVisaRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        travelVisa1 = json['travelVisa1'];
        travelVisa2 = json['travelVisa2'];
        travelVisa3 = json['travelVisa3'];
        travelVisa4 = json['travelVisa4'];
        travelVisa5 = json['travelVisa5'];
        travelVisa6 = json['travelVisa6'];
        travelVisa7 = json['travelVisa7'];
        travelVisa8 = json['travelVisa8'];
        travelVisa9 = json['travelVisa9'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'travelVisa1': travelVisa1,
        'travelVisa2': travelVisa2,
        'travelVisa3': travelVisa3,
        'travelVisa4': travelVisa4,
        'travelVisa5': travelVisa5,
        'travelVisa6': travelVisa6,
        'travelVisa7': travelVisa7,
        'travelVisa8': travelVisa8,
        'travelVisa9': travelVisa9
    };

    getTypeName() => "ValidIdTravelVisaRequest";
    TypeContext? context = _ctx;
}

class ValidIdIdCardRequest implements IConvertible
{
    String? idCard1;
    String? idCard2;
    String? idCard3;
    String? idCard4;
    String? idCard5;
    String? idCard6;
    String? idCard7;
    String? idCard8;
    String? idCard9;
    String? idCard10;

    ValidIdIdCardRequest({this.idCard1,this.idCard2,this.idCard3,this.idCard4,this.idCard5,this.idCard6,this.idCard7,this.idCard8,this.idCard9,this.idCard10});
    ValidIdIdCardRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        idCard1 = json['idCard1'];
        idCard2 = json['idCard2'];
        idCard3 = json['idCard3'];
        idCard4 = json['idCard4'];
        idCard5 = json['idCard5'];
        idCard6 = json['idCard6'];
        idCard7 = json['idCard7'];
        idCard8 = json['idCard8'];
        idCard9 = json['idCard9'];
        idCard10 = json['idCard10'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'idCard1': idCard1,
        'idCard2': idCard2,
        'idCard3': idCard3,
        'idCard4': idCard4,
        'idCard5': idCard5,
        'idCard6': idCard6,
        'idCard7': idCard7,
        'idCard8': idCard8,
        'idCard9': idCard9,
        'idCard10': idCard10
    };

    getTypeName() => "ValidIdIdCardRequest";
    TypeContext? context = _ctx;
}

class ValidIdPollNumberRequest implements IConvertible
{
    String? pollNumber;

    ValidIdPollNumberRequest({this.pollNumber});
    ValidIdPollNumberRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        pollNumber = json['pollNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'pollNumber': pollNumber
    };

    getTypeName() => "ValidIdPollNumberRequest";
    TypeContext? context = _ctx;
}

class ValidIdMarriageRequest implements IConvertible
{
    String? forename;
    String? surname;
    String? partnerForename;
    String? partnerSurname;
    String? date;
    String? district;
    String? certIssueNum;

    ValidIdMarriageRequest({this.forename,this.surname,this.partnerForename,this.partnerSurname,this.date,this.district,this.certIssueNum});
    ValidIdMarriageRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        forename = json['forename'];
        surname = json['surname'];
        partnerForename = json['partnerForename'];
        partnerSurname = json['partnerSurname'];
        date = json['date'];
        district = json['district'];
        certIssueNum = json['certIssueNum'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'forename': forename,
        'surname': surname,
        'partnerForename': partnerForename,
        'partnerSurname': partnerSurname,
        'date': date,
        'district': district,
        'certIssueNum': certIssueNum
    };

    getTypeName() => "ValidIdMarriageRequest";
    TypeContext? context = _ctx;
}

class ValidIdResultSummary implements IConvertible
{
    bool? summaryStatus;
    int? summaryId;
    String? summaryReference;
    int? summarySmartscore;
    String? summaryResultText;
    String? noticeOfCorrection;

    ValidIdResultSummary({this.summaryStatus,this.summaryId,this.summaryReference,this.summarySmartscore,this.summaryResultText,this.noticeOfCorrection});
    ValidIdResultSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        summaryStatus = json['summaryStatus'];
        summaryId = json['summaryId'];
        summaryReference = json['summaryReference'];
        summarySmartscore = json['summarySmartscore'];
        summaryResultText = json['summaryResultText'];
        noticeOfCorrection = json['noticeOfCorrection'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'summaryStatus': summaryStatus,
        'summaryId': summaryId,
        'summaryReference': summaryReference,
        'summarySmartscore': summarySmartscore,
        'summaryResultText': summaryResultText,
        'noticeOfCorrection': noticeOfCorrection
    };

    getTypeName() => "ValidIdResultSummary";
    TypeContext? context = _ctx;
}

class ValidIdResultErrors implements IConvertible
{
    String? service;
    String? details;

    ValidIdResultErrors({this.service,this.details});
    ValidIdResultErrors.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        service = json['service'];
        details = json['details'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'service': service,
        'details': details
    };

    getTypeName() => "ValidIdResultErrors";
    TypeContext? context = _ctx;
}

class ValidIdDrivingResult implements IConvertible
{
    bool? drivingLicenseResultFlag;
    bool? drivingLicenseMailSortFlag;
    bool? drivingLicenseMiddleNameWarning;
    String? drivingLicenceErrors;

    ValidIdDrivingResult({this.drivingLicenseResultFlag,this.drivingLicenseMailSortFlag,this.drivingLicenseMiddleNameWarning,this.drivingLicenceErrors});
    ValidIdDrivingResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        drivingLicenseResultFlag = json['drivingLicenseResultFlag'];
        drivingLicenseMailSortFlag = json['drivingLicenseMailSortFlag'];
        drivingLicenseMiddleNameWarning = json['drivingLicenseMiddleNameWarning'];
        drivingLicenceErrors = json['drivingLicenceErrors'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'drivingLicenseResultFlag': drivingLicenseResultFlag,
        'drivingLicenseMailSortFlag': drivingLicenseMailSortFlag,
        'drivingLicenseMiddleNameWarning': drivingLicenseMiddleNameWarning,
        'drivingLicenceErrors': drivingLicenceErrors
    };

    getTypeName() => "ValidIdDrivingResult";
    TypeContext? context = _ctx;
}

class ValidIdDOBResult implements IConvertible
{
    int? dobTracesmartCount;
    int? dobExperianCount;
    int? dobEquifaxCount;
    bool? dobEquifaxSpecified;
    String? dobEquifaxStatus;

    ValidIdDOBResult({this.dobTracesmartCount,this.dobExperianCount,this.dobEquifaxCount,this.dobEquifaxSpecified,this.dobEquifaxStatus});
    ValidIdDOBResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        dobTracesmartCount = json['dobTracesmartCount'];
        dobExperianCount = json['dobExperianCount'];
        dobEquifaxCount = json['dobEquifaxCount'];
        dobEquifaxSpecified = json['dobEquifaxSpecified'];
        dobEquifaxStatus = json['dobEquifaxStatus'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'dobTracesmartCount': dobTracesmartCount,
        'dobExperianCount': dobExperianCount,
        'dobEquifaxCount': dobEquifaxCount,
        'dobEquifaxSpecified': dobEquifaxSpecified,
        'dobEquifaxStatus': dobEquifaxStatus
    };

    getTypeName() => "ValidIdDOBResult";
    TypeContext? context = _ctx;
}

class ValidIdNHSResult implements IConvertible
{
    bool? nhsResultFlag;

    ValidIdNHSResult({this.nhsResultFlag});
    ValidIdNHSResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nhsResultFlag = json['nhsResultFlag'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nhsResultFlag': nhsResultFlag
    };

    getTypeName() => "ValidIdNHSResult";
    TypeContext? context = _ctx;
}

class ValidIdNIResult implements IConvertible
{
    bool? niResultFlag;

    ValidIdNIResult({this.niResultFlag});
    ValidIdNIResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        niResultFlag = json['niResultFlag'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'niResultFlag': niResultFlag
    };

    getTypeName() => "ValidIdNIResult";
    TypeContext? context = _ctx;
}

class ValidIdPassportResult implements IConvertible
{
    bool? passportMRZLine1Valid;
    bool? passportMRZValid;
    bool? passportDOBValid;
    bool? passportGenderValid;
    bool? passportExpiryValid;
    bool? passportNameValid;
    String? passportErrors;

    ValidIdPassportResult({this.passportMRZLine1Valid,this.passportMRZValid,this.passportDOBValid,this.passportGenderValid,this.passportExpiryValid,this.passportNameValid,this.passportErrors});
    ValidIdPassportResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        passportMRZLine1Valid = json['passportMRZLine1Valid'];
        passportMRZValid = json['passportMRZValid'];
        passportDOBValid = json['passportDOBValid'];
        passportGenderValid = json['passportGenderValid'];
        passportExpiryValid = json['passportExpiryValid'];
        passportNameValid = json['passportNameValid'];
        passportErrors = json['passportErrors'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'passportMRZLine1Valid': passportMRZLine1Valid,
        'passportMRZValid': passportMRZValid,
        'passportDOBValid': passportDOBValid,
        'passportGenderValid': passportGenderValid,
        'passportExpiryValid': passportExpiryValid,
        'passportNameValid': passportNameValid,
        'passportErrors': passportErrors
    };

    getTypeName() => "ValidIdPassportResult";
    TypeContext? context = _ctx;
}

class ValidIdPassportChipResult implements IConvertible
{
    bool? contentAuthenticity;
    bool? chipAuthenticity;
    bool? chipDataToImageDataMatch;
    bool? chipPhotoToImagePhotoMatch;
    String? passportChipMrzLineOne;
    String? passportChipMrzLineTwo;
    bool? passportChipMrzLineOneValid;
    bool? passportChipMrzLineTwoValid;
    bool? passportChipDOBValid;
    bool? passportChipGenderValid;
    bool? passportChipExpiryValid;
    bool? passportChipNameValid;
    String? passportChipErrors;

    ValidIdPassportChipResult({this.contentAuthenticity,this.chipAuthenticity,this.chipDataToImageDataMatch,this.chipPhotoToImagePhotoMatch,this.passportChipMrzLineOne,this.passportChipMrzLineTwo,this.passportChipMrzLineOneValid,this.passportChipMrzLineTwoValid,this.passportChipDOBValid,this.passportChipGenderValid,this.passportChipExpiryValid,this.passportChipNameValid,this.passportChipErrors});
    ValidIdPassportChipResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        contentAuthenticity = json['contentAuthenticity'];
        chipAuthenticity = json['chipAuthenticity'];
        chipDataToImageDataMatch = json['chipDataToImageDataMatch'];
        chipPhotoToImagePhotoMatch = json['chipPhotoToImagePhotoMatch'];
        passportChipMrzLineOne = json['passportChipMrzLineOne'];
        passportChipMrzLineTwo = json['passportChipMrzLineTwo'];
        passportChipMrzLineOneValid = json['passportChipMrzLineOneValid'];
        passportChipMrzLineTwoValid = json['passportChipMrzLineTwoValid'];
        passportChipDOBValid = json['passportChipDOBValid'];
        passportChipGenderValid = json['passportChipGenderValid'];
        passportChipExpiryValid = json['passportChipExpiryValid'];
        passportChipNameValid = json['passportChipNameValid'];
        passportChipErrors = json['passportChipErrors'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'contentAuthenticity': contentAuthenticity,
        'chipAuthenticity': chipAuthenticity,
        'chipDataToImageDataMatch': chipDataToImageDataMatch,
        'chipPhotoToImagePhotoMatch': chipPhotoToImagePhotoMatch,
        'passportChipMrzLineOne': passportChipMrzLineOne,
        'passportChipMrzLineTwo': passportChipMrzLineTwo,
        'passportChipMrzLineOneValid': passportChipMrzLineOneValid,
        'passportChipMrzLineTwoValid': passportChipMrzLineTwoValid,
        'passportChipDOBValid': passportChipDOBValid,
        'passportChipGenderValid': passportChipGenderValid,
        'passportChipExpiryValid': passportChipExpiryValid,
        'passportChipNameValid': passportChipNameValid,
        'passportChipErrors': passportChipErrors
    };

    getTypeName() => "ValidIdPassportChipResult";
    TypeContext? context = _ctx;
}

class ValidIdBirthResult implements IConvertible
{
    String? birthResultFlag;
    String? birthName;
    String? birthMaidenName;
    String? birthRegDate;
    String? birthRegDistrict;

    ValidIdBirthResult({this.birthResultFlag,this.birthName,this.birthMaidenName,this.birthRegDate,this.birthRegDistrict});
    ValidIdBirthResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        birthResultFlag = json['birthResultFlag'];
        birthName = json['birthName'];
        birthMaidenName = json['birthMaidenName'];
        birthRegDate = json['birthRegDate'];
        birthRegDistrict = json['birthRegDistrict'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'birthResultFlag': birthResultFlag,
        'birthName': birthName,
        'birthMaidenName': birthMaidenName,
        'birthRegDate': birthRegDate,
        'birthRegDistrict': birthRegDistrict
    };

    getTypeName() => "ValidIdBirthResult";
    TypeContext? context = _ctx;
}

class ValidIdElectricityResult implements IConvertible
{
    bool? mpanResultFlag;

    ValidIdElectricityResult({this.mpanResultFlag});
    ValidIdElectricityResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        mpanResultFlag = json['mpanResultFlag'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'mpanResultFlag': mpanResultFlag
    };

    getTypeName() => "ValidIdElectricityResult";
    TypeContext? context = _ctx;
}

class ValidIdBankResult implements IConvertible
{
    bool? bankAccountResultFlag;
    String? bankAccountName;
    String? bankAccountBranch;
    bool? bankAccountBACSPayments;
    bool? bankAccountCHAPSPayments;
    bool? bankAccountFasterPayments;
    bool? bankAccountDirectDebits;

    ValidIdBankResult({this.bankAccountResultFlag,this.bankAccountName,this.bankAccountBranch,this.bankAccountBACSPayments,this.bankAccountCHAPSPayments,this.bankAccountFasterPayments,this.bankAccountDirectDebits});
    ValidIdBankResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bankAccountResultFlag = json['bankAccountResultFlag'];
        bankAccountName = json['bankAccountName'];
        bankAccountBranch = json['bankAccountBranch'];
        bankAccountBACSPayments = json['bankAccountBACSPayments'];
        bankAccountCHAPSPayments = json['bankAccountCHAPSPayments'];
        bankAccountFasterPayments = json['bankAccountFasterPayments'];
        bankAccountDirectDebits = json['bankAccountDirectDebits'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bankAccountResultFlag': bankAccountResultFlag,
        'bankAccountName': bankAccountName,
        'bankAccountBranch': bankAccountBranch,
        'bankAccountBACSPayments': bankAccountBACSPayments,
        'bankAccountCHAPSPayments': bankAccountCHAPSPayments,
        'bankAccountFasterPayments': bankAccountFasterPayments,
        'bankAccountDirectDebits': bankAccountDirectDebits
    };

    getTypeName() => "ValidIdBankResult";
    TypeContext? context = _ctx;
}

class ValidIdCardNumberResult implements IConvertible
{
    bool? cardNumberValid;
    bool? cardTypeValid;
    String? cardTypeConfirm;
    String? cardFraudCheck;

    ValidIdCardNumberResult({this.cardNumberValid,this.cardTypeValid,this.cardTypeConfirm,this.cardFraudCheck});
    ValidIdCardNumberResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cardNumberValid = json['cardNumberValid'];
        cardTypeValid = json['cardTypeValid'];
        cardTypeConfirm = json['cardTypeConfirm'];
        cardFraudCheck = json['cardFraudCheck'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cardNumberValid': cardNumberValid,
        'cardTypeValid': cardTypeValid,
        'cardTypeConfirm': cardTypeConfirm,
        'cardFraudCheck': cardFraudCheck
    };

    getTypeName() => "ValidIdCardNumberResult";
    TypeContext? context = _ctx;
}

class ValidIdCreditActiveResult implements IConvertible
{
    int? creditActiveAccounts;
    int? creditActiveLenders;
    String? creditActiveCIFAS;
    int? creditActiveCAIS;
    int? creditActiveInsightAccounts;

    ValidIdCreditActiveResult({this.creditActiveAccounts,this.creditActiveLenders,this.creditActiveCIFAS,this.creditActiveCAIS,this.creditActiveInsightAccounts});
    ValidIdCreditActiveResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        creditActiveAccounts = json['creditActiveAccounts'];
        creditActiveLenders = json['creditActiveLenders'];
        creditActiveCIFAS = json['creditActiveCIFAS'];
        creditActiveCAIS = json['creditActiveCAIS'];
        creditActiveInsightAccounts = json['creditActiveInsightAccounts'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'creditActiveAccounts': creditActiveAccounts,
        'creditActiveLenders': creditActiveLenders,
        'creditActiveCIFAS': creditActiveCIFAS,
        'creditActiveCAIS': creditActiveCAIS,
        'creditActiveInsightAccounts': creditActiveInsightAccounts
    };

    getTypeName() => "ValidIdCreditActiveResult";
    TypeContext? context = _ctx;
}

class ValidIdAddressOccupantsResult implements IConvertible
{
    String? name;
    DateTime? dob;
    DateTime? recency;
    String? residency;
    String? telephone;
    String? telephoneName;
    String? source;
    String? residencyScore;

    ValidIdAddressOccupantsResult({this.name,this.dob,this.recency,this.residency,this.telephone,this.telephoneName,this.source,this.residencyScore});
    ValidIdAddressOccupantsResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        recency = JsonConverters.fromJson(json['recency'],'DateTime',context!);
        residency = json['residency'];
        telephone = json['telephone'];
        telephoneName = json['telephoneName'];
        source = json['source'];
        residencyScore = json['residencyScore'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'recency': JsonConverters.toJson(recency,'DateTime',context!),
        'residency': residency,
        'telephone': telephone,
        'telephoneName': telephoneName,
        'source': source,
        'residencyScore': residencyScore
    };

    getTypeName() => "ValidIdAddressOccupantsResult";
    TypeContext? context = _ctx;
}

class ValidIdAddressSaleResult implements IConvertible
{
    String? type;
    String? tenure;
    DateTime? date;
    String? price;
    String? silhouette;

    ValidIdAddressSaleResult({this.type,this.tenure,this.date,this.price,this.silhouette});
    ValidIdAddressSaleResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = json['type'];
        tenure = json['tenure'];
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        price = json['price'];
        silhouette = json['silhouette'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': type,
        'tenure': tenure,
        'date': JsonConverters.toJson(date,'DateTime',context!),
        'price': price,
        'silhouette': silhouette
    };

    getTypeName() => "ValidIdAddressSaleResult";
    TypeContext? context = _ctx;
}

class ValidIdAddressResult implements IConvertible
{
    String? addressForename;
    String? addressMiddleName;
    String? addressSurname;
    String? addressMatchType;
    DateTime? addressDOB;
    bool? addressForenameAppended;
    bool? addressMiddleNameAppended;
    bool? addressDOBAppended;
    String? addressTelephone;
    String? addressTelephoneName;
    String? addressGoneAway;
    String? addressSource;
    bool? credivaFullER;
    bool? addressValidated;
    DateTime? addressRecency;
    List<ValidIdAddressOccupantsResult>? occupants;
    List<ValidIdAddressSaleResult>? sales;

    ValidIdAddressResult({this.addressForename,this.addressMiddleName,this.addressSurname,this.addressMatchType,this.addressDOB,this.addressForenameAppended,this.addressMiddleNameAppended,this.addressDOBAppended,this.addressTelephone,this.addressTelephoneName,this.addressGoneAway,this.addressSource,this.credivaFullER,this.addressValidated,this.addressRecency,this.occupants,this.sales});
    ValidIdAddressResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        addressForename = json['addressForename'];
        addressMiddleName = json['addressMiddleName'];
        addressSurname = json['addressSurname'];
        addressMatchType = json['addressMatchType'];
        addressDOB = JsonConverters.fromJson(json['addressDOB'],'DateTime',context!);
        addressForenameAppended = json['addressForenameAppended'];
        addressMiddleNameAppended = json['addressMiddleNameAppended'];
        addressDOBAppended = json['addressDOBAppended'];
        addressTelephone = json['addressTelephone'];
        addressTelephoneName = json['addressTelephoneName'];
        addressGoneAway = json['addressGoneAway'];
        addressSource = json['addressSource'];
        credivaFullER = json['credivaFullER'];
        addressValidated = json['addressValidated'];
        addressRecency = JsonConverters.fromJson(json['addressRecency'],'DateTime',context!);
        occupants = JsonConverters.fromJson(json['occupants'],'List<ValidIdAddressOccupantsResult>',context!);
        sales = JsonConverters.fromJson(json['sales'],'List<ValidIdAddressSaleResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'addressForename': addressForename,
        'addressMiddleName': addressMiddleName,
        'addressSurname': addressSurname,
        'addressMatchType': addressMatchType,
        'addressDOB': JsonConverters.toJson(addressDOB,'DateTime',context!),
        'addressForenameAppended': addressForenameAppended,
        'addressMiddleNameAppended': addressMiddleNameAppended,
        'addressDOBAppended': addressDOBAppended,
        'addressTelephone': addressTelephone,
        'addressTelephoneName': addressTelephoneName,
        'addressGoneAway': addressGoneAway,
        'addressSource': addressSource,
        'credivaFullER': credivaFullER,
        'addressValidated': addressValidated,
        'addressRecency': JsonConverters.toJson(addressRecency,'DateTime',context!),
        'occupants': JsonConverters.toJson(occupants,'List<ValidIdAddressOccupantsResult>',context!),
        'sales': JsonConverters.toJson(sales,'List<ValidIdAddressSaleResult>',context!)
    };

    getTypeName() => "ValidIdAddressResult";
    TypeContext? context = _ctx;
}

class ValidIdSmartlinkAddressResult implements IConvertible
{
    String? title;
    String? forename;
    String? middleName;
    String? surname;
    DateTime? dob;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;
    String? deliveryPointSuffix;
    DateTime? recency;
    String? residency;
    String? linkSource;

    ValidIdSmartlinkAddressResult({this.title,this.forename,this.middleName,this.surname,this.dob,this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode,this.deliveryPointSuffix,this.recency,this.residency,this.linkSource});
    ValidIdSmartlinkAddressResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        title = json['title'];
        forename = json['forename'];
        middleName = json['middleName'];
        surname = json['surname'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        deliveryPointSuffix = json['deliveryPointSuffix'];
        recency = JsonConverters.fromJson(json['recency'],'DateTime',context!);
        residency = json['residency'];
        linkSource = json['linkSource'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'title': title,
        'forename': forename,
        'middleName': middleName,
        'surname': surname,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode,
        'deliveryPointSuffix': deliveryPointSuffix,
        'recency': JsonConverters.toJson(recency,'DateTime',context!),
        'residency': residency,
        'linkSource': linkSource
    };

    getTypeName() => "ValidIdSmartlinkAddressResult";
    TypeContext? context = _ctx;
}

class ValidIdSmartlinkResult implements IConvertible
{
    List<ValidIdSmartlinkAddressResult>? addresses;

    ValidIdSmartlinkResult({this.addresses});
    ValidIdSmartlinkResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        addresses = JsonConverters.fromJson(json['addresses'],'List<ValidIdSmartlinkAddressResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'addresses': JsonConverters.toJson(addresses,'List<ValidIdSmartlinkAddressResult>',context!)
    };

    getTypeName() => "ValidIdSmartlinkResult";
    TypeContext? context = _ctx;
}

class ValidIdDeathscreenDeathResult implements IConvertible
{
    String? forename;
    String? secondName;
    String? thirdName;
    String? fourthName;
    String? surname;
    String? district;
    DateTime? dob;
    DateTime? dod;
    String? dor;
    String? volumeNo;
    String? distNo;
    String? pageNo;
    String? regNo;
    String? entryNo;
    String? placeOfBirth;
    String? maidenName;
    String? groReference;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;
    String? matchType;

    ValidIdDeathscreenDeathResult({this.forename,this.secondName,this.thirdName,this.fourthName,this.surname,this.district,this.dob,this.dod,this.dor,this.volumeNo,this.distNo,this.pageNo,this.regNo,this.entryNo,this.placeOfBirth,this.maidenName,this.groReference,this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode,this.matchType});
    ValidIdDeathscreenDeathResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        forename = json['forename'];
        secondName = json['secondName'];
        thirdName = json['thirdName'];
        fourthName = json['fourthName'];
        surname = json['surname'];
        district = json['district'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        dod = JsonConverters.fromJson(json['dod'],'DateTime',context!);
        dor = json['dor'];
        volumeNo = json['volumeNo'];
        distNo = json['distNo'];
        pageNo = json['pageNo'];
        regNo = json['regNo'];
        entryNo = json['entryNo'];
        placeOfBirth = json['placeOfBirth'];
        maidenName = json['maidenName'];
        groReference = json['groReference'];
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        matchType = json['matchType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'forename': forename,
        'secondName': secondName,
        'thirdName': thirdName,
        'fourthName': fourthName,
        'surname': surname,
        'district': district,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'dod': JsonConverters.toJson(dod,'DateTime',context!),
        'dor': dor,
        'volumeNo': volumeNo,
        'distNo': distNo,
        'pageNo': pageNo,
        'regNo': regNo,
        'entryNo': entryNo,
        'placeOfBirth': placeOfBirth,
        'maidenName': maidenName,
        'groReference': groReference,
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode,
        'matchType': matchType
    };

    getTypeName() => "ValidIdDeathscreenDeathResult";
    TypeContext? context = _ctx;
}

class ValidIdDeathscreenResult implements IConvertible
{
    List<ValidIdDeathscreenDeathResult>? deaths;

    ValidIdDeathscreenResult({this.deaths});
    ValidIdDeathscreenResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        deaths = JsonConverters.fromJson(json['deaths'],'List<ValidIdDeathscreenDeathResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'deaths': JsonConverters.toJson(deaths,'List<ValidIdDeathscreenDeathResult>',context!)
    };

    getTypeName() => "ValidIdDeathscreenResult";
    TypeContext? context = _ctx;
}

class ValidIdPEPPersonAddressResult implements IConvertible
{
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;
    String? deliveryPointSuffix;

    ValidIdPEPPersonAddressResult({this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode,this.deliveryPointSuffix});
    ValidIdPEPPersonAddressResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        deliveryPointSuffix = json['deliveryPointSuffix'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode,
        'deliveryPointSuffix': deliveryPointSuffix
    };

    getTypeName() => "ValidIdPEPPersonAddressResult";
    TypeContext? context = _ctx;
}

class ValidIdPEPPersonAliasResult implements IConvertible
{
    String? name;

    ValidIdPEPPersonAliasResult({this.name});
    ValidIdPEPPersonAliasResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name
    };

    getTypeName() => "ValidIdPEPPersonAliasResult";
    TypeContext? context = _ctx;
}

class ValidIdPEPPersonPositionResult implements IConvertible
{
    String? position;

    ValidIdPEPPersonPositionResult({this.position});
    ValidIdPEPPersonPositionResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        position = json['position'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'position': position
    };

    getTypeName() => "ValidIdPEPPersonPositionResult";
    TypeContext? context = _ctx;
}

class ValidIdPEPPersonResult implements IConvertible
{
    String? name;
    DateTime? recency;
    String? dob;
    List<ValidIdPEPPersonAddressResult>? addresses;
    List<ValidIdPEPPersonAliasResult>? aliases;
    List<ValidIdPEPPersonPositionResult>? positions;

    ValidIdPEPPersonResult({this.name,this.recency,this.dob,this.addresses,this.aliases,this.positions});
    ValidIdPEPPersonResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        recency = JsonConverters.fromJson(json['recency'],'DateTime',context!);
        dob = json['dob'];
        addresses = JsonConverters.fromJson(json['addresses'],'List<ValidIdPEPPersonAddressResult>',context!);
        aliases = JsonConverters.fromJson(json['aliases'],'List<ValidIdPEPPersonAliasResult>',context!);
        positions = JsonConverters.fromJson(json['positions'],'List<ValidIdPEPPersonPositionResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'recency': JsonConverters.toJson(recency,'DateTime',context!),
        'dob': dob,
        'addresses': JsonConverters.toJson(addresses,'List<ValidIdPEPPersonAddressResult>',context!),
        'aliases': JsonConverters.toJson(aliases,'List<ValidIdPEPPersonAliasResult>',context!),
        'positions': JsonConverters.toJson(positions,'List<ValidIdPEPPersonPositionResult>',context!)
    };

    getTypeName() => "ValidIdPEPPersonResult";
    TypeContext? context = _ctx;
}

class ValidIdPEPResult implements IConvertible
{
    List<ValidIdPEPPersonResult>? pepPersons;

    ValidIdPEPResult({this.pepPersons});
    ValidIdPEPResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        pepPersons = JsonConverters.fromJson(json['pepPersons'],'List<ValidIdPEPPersonResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'pepPersons': JsonConverters.toJson(pepPersons,'List<ValidIdPEPPersonResult>',context!)
    };

    getTypeName() => "ValidIdPEPResult";
    TypeContext? context = _ctx;
}

class ValidIdCCJCaseResult implements IConvertible
{
    String? name;
    DateTime? dob;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;
    DateTime? judgementDate;
    String? judgementType;
    String? amount;
    String? caseNo;
    String? courtName;
    DateTime? dateEnd;

    ValidIdCCJCaseResult({this.name,this.dob,this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode,this.judgementDate,this.judgementType,this.amount,this.caseNo,this.courtName,this.dateEnd});
    ValidIdCCJCaseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        judgementDate = JsonConverters.fromJson(json['judgementDate'],'DateTime',context!);
        judgementType = json['judgementType'];
        amount = json['amount'];
        caseNo = json['caseNo'];
        courtName = json['courtName'];
        dateEnd = JsonConverters.fromJson(json['dateEnd'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode,
        'judgementDate': JsonConverters.toJson(judgementDate,'DateTime',context!),
        'judgementType': judgementType,
        'amount': amount,
        'caseNo': caseNo,
        'courtName': courtName,
        'dateEnd': JsonConverters.toJson(dateEnd,'DateTime',context!)
    };

    getTypeName() => "ValidIdCCJCaseResult";
    TypeContext? context = _ctx;
}

class ValidIdCCJResult implements IConvertible
{
    List<ValidIdCCJCaseResult>? ccJs;

    ValidIdCCJResult({this.ccJs});
    ValidIdCCJResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ccJs = JsonConverters.fromJson(json['ccJs'],'List<ValidIdCCJCaseResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ccJs': JsonConverters.toJson(ccJs,'List<ValidIdCCJCaseResult>',context!)
    };

    getTypeName() => "ValidIdCCJResult";
    TypeContext? context = _ctx;
}

class ValidIdInsolvencyCaseResult implements IConvertible
{
    String? type;
    String? caseType;
    String? name;
    String? caseNo;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;
    String? deliveryPointSuffix;
    DateTime? dob;
    String? court;
    DateTime? startDate;
    String? status;
    String? occupation;
    String? aliases;
    String? description;
    String? serviceOffice;
    String? telephoneNumber;
    String? tradingNames;
    String? debtTotal;
    String? assetTotal;
    String? previousAddress1;
    String? previousAddress2;
    String? previousAddress3;
    String? previousAddress4;
    String? previousAddress5;
    String? previousPostCode;
    String? previousDeliveryPointSuffix;
    DateTime? presentationDate;

    ValidIdInsolvencyCaseResult({this.type,this.caseType,this.name,this.caseNo,this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode,this.deliveryPointSuffix,this.dob,this.court,this.startDate,this.status,this.occupation,this.aliases,this.description,this.serviceOffice,this.telephoneNumber,this.tradingNames,this.debtTotal,this.assetTotal,this.previousAddress1,this.previousAddress2,this.previousAddress3,this.previousAddress4,this.previousAddress5,this.previousPostCode,this.previousDeliveryPointSuffix,this.presentationDate});
    ValidIdInsolvencyCaseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = json['type'];
        caseType = json['caseType'];
        name = json['name'];
        caseNo = json['caseNo'];
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        deliveryPointSuffix = json['deliveryPointSuffix'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        court = json['court'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        status = json['status'];
        occupation = json['occupation'];
        aliases = json['aliases'];
        description = json['description'];
        serviceOffice = json['serviceOffice'];
        telephoneNumber = json['telephoneNumber'];
        tradingNames = json['tradingNames'];
        debtTotal = json['debtTotal'];
        assetTotal = json['assetTotal'];
        previousAddress1 = json['previousAddress1'];
        previousAddress2 = json['previousAddress2'];
        previousAddress3 = json['previousAddress3'];
        previousAddress4 = json['previousAddress4'];
        previousAddress5 = json['previousAddress5'];
        previousPostCode = json['previousPostCode'];
        previousDeliveryPointSuffix = json['previousDeliveryPointSuffix'];
        presentationDate = JsonConverters.fromJson(json['presentationDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': type,
        'caseType': caseType,
        'name': name,
        'caseNo': caseNo,
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode,
        'deliveryPointSuffix': deliveryPointSuffix,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'court': court,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'status': status,
        'occupation': occupation,
        'aliases': aliases,
        'description': description,
        'serviceOffice': serviceOffice,
        'telephoneNumber': telephoneNumber,
        'tradingNames': tradingNames,
        'debtTotal': debtTotal,
        'assetTotal': assetTotal,
        'previousAddress1': previousAddress1,
        'previousAddress2': previousAddress2,
        'previousAddress3': previousAddress3,
        'previousAddress4': previousAddress4,
        'previousAddress5': previousAddress5,
        'previousPostCode': previousPostCode,
        'previousDeliveryPointSuffix': previousDeliveryPointSuffix,
        'presentationDate': JsonConverters.toJson(presentationDate,'DateTime',context!)
    };

    getTypeName() => "ValidIdInsolvencyCaseResult";
    TypeContext? context = _ctx;
}

class ValidIdInsolvencyResult implements IConvertible
{
    List<ValidIdInsolvencyCaseResult>? insolvencies;

    ValidIdInsolvencyResult({this.insolvencies});
    ValidIdInsolvencyResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        insolvencies = JsonConverters.fromJson(json['insolvencies'],'List<ValidIdInsolvencyCaseResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'insolvencies': JsonConverters.toJson(insolvencies,'List<ValidIdInsolvencyCaseResult>',context!)
    };

    getTypeName() => "ValidIdInsolvencyResult";
    TypeContext? context = _ctx;
}

class ValidIdTravelVisaResult implements IConvertible
{
    bool? visaMRZValid;
    bool? visaInDate;
    bool? visaUKResidenceValid;

    ValidIdTravelVisaResult({this.visaMRZValid,this.visaInDate,this.visaUKResidenceValid});
    ValidIdTravelVisaResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        visaMRZValid = json['visaMRZValid'];
        visaInDate = json['visaInDate'];
        visaUKResidenceValid = json['visaUKResidenceValid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'visaMRZValid': visaMRZValid,
        'visaInDate': visaInDate,
        'visaUKResidenceValid': visaUKResidenceValid
    };

    getTypeName() => "ValidIdTravelVisaResult";
    TypeContext? context = _ctx;
}

class ValidIdIdCardResult implements IConvertible
{
    bool? idCardMRZValid;
    bool? idCardDOBValid;
    bool? idCardGenderValid;
    bool? idCardExpiryValid;
    bool? idCardCountryValid;

    ValidIdIdCardResult({this.idCardMRZValid,this.idCardDOBValid,this.idCardGenderValid,this.idCardExpiryValid,this.idCardCountryValid});
    ValidIdIdCardResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        idCardMRZValid = json['idCardMRZValid'];
        idCardDOBValid = json['idCardDOBValid'];
        idCardGenderValid = json['idCardGenderValid'];
        idCardExpiryValid = json['idCardExpiryValid'];
        idCardCountryValid = json['idCardCountryValid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'idCardMRZValid': idCardMRZValid,
        'idCardDOBValid': idCardDOBValid,
        'idCardGenderValid': idCardGenderValid,
        'idCardExpiryValid': idCardExpiryValid,
        'idCardCountryValid': idCardCountryValid
    };

    getTypeName() => "ValidIdIdCardResult";
    TypeContext? context = _ctx;
}

class ValidIdBankLiveResult implements IConvertible
{
    String? bankLiveSortcode;
    String? bankLiveNumber;
    String? bankLiveName;
    String? bankLiveAddress;
    String? bankLiveStatus;
    String? bankLiveError;

    ValidIdBankLiveResult({this.bankLiveSortcode,this.bankLiveNumber,this.bankLiveName,this.bankLiveAddress,this.bankLiveStatus,this.bankLiveError});
    ValidIdBankLiveResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bankLiveSortcode = json['bankLiveSortcode'];
        bankLiveNumber = json['bankLiveNumber'];
        bankLiveName = json['bankLiveName'];
        bankLiveAddress = json['bankLiveAddress'];
        bankLiveStatus = json['bankLiveStatus'];
        bankLiveError = json['bankLiveError'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bankLiveSortcode': bankLiveSortcode,
        'bankLiveNumber': bankLiveNumber,
        'bankLiveName': bankLiveName,
        'bankLiveAddress': bankLiveAddress,
        'bankLiveStatus': bankLiveStatus,
        'bankLiveError': bankLiveError
    };

    getTypeName() => "ValidIdBankLiveResult";
    TypeContext? context = _ctx;
}

class ValidIdCompanyAppointmentResult implements IConvertible
{
    String? title;
    String? name;
    String? address;
    DateTime? dob;
    String? occupation;
    String? nationality;
    DateTime? appointmentDate;
    String? appointmentType;

    ValidIdCompanyAppointmentResult({this.title,this.name,this.address,this.dob,this.occupation,this.nationality,this.appointmentDate,this.appointmentType});
    ValidIdCompanyAppointmentResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        title = json['title'];
        name = json['name'];
        address = json['address'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        occupation = json['occupation'];
        nationality = json['nationality'];
        appointmentDate = JsonConverters.fromJson(json['appointmentDate'],'DateTime',context!);
        appointmentType = json['appointmentType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'title': title,
        'name': name,
        'address': address,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'occupation': occupation,
        'nationality': nationality,
        'appointmentDate': JsonConverters.toJson(appointmentDate,'DateTime',context!),
        'appointmentType': appointmentType
    };

    getTypeName() => "ValidIdCompanyAppointmentResult";
    TypeContext? context = _ctx;
}

class ValidIdCompanyDirectorshipResult implements IConvertible
{
    String? matchType;
    DateTime? dateAppointed;
    String? companyRegNo;
    String? companyName;
    String? registeredOffice;
    List<ValidIdCompanyAppointmentResult>? appointments;

    ValidIdCompanyDirectorshipResult({this.matchType,this.dateAppointed,this.companyRegNo,this.companyName,this.registeredOffice,this.appointments});
    ValidIdCompanyDirectorshipResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        matchType = json['matchType'];
        dateAppointed = JsonConverters.fromJson(json['dateAppointed'],'DateTime',context!);
        companyRegNo = json['companyRegNo'];
        companyName = json['companyName'];
        registeredOffice = json['registeredOffice'];
        appointments = JsonConverters.fromJson(json['appointments'],'List<ValidIdCompanyAppointmentResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'matchType': matchType,
        'dateAppointed': JsonConverters.toJson(dateAppointed,'DateTime',context!),
        'companyRegNo': companyRegNo,
        'companyName': companyName,
        'registeredOffice': registeredOffice,
        'appointments': JsonConverters.toJson(appointments,'List<ValidIdCompanyAppointmentResult>',context!)
    };

    getTypeName() => "ValidIdCompanyDirectorshipResult";
    TypeContext? context = _ctx;
}

class ValidIdCompanyDirectorResult implements IConvertible
{
    List<ValidIdCompanyDirectorshipResult>? directorships;

    ValidIdCompanyDirectorResult({this.directorships});
    ValidIdCompanyDirectorResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        directorships = JsonConverters.fromJson(json['directorships'],'List<ValidIdCompanyDirectorshipResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'directorships': JsonConverters.toJson(directorships,'List<ValidIdCompanyDirectorshipResult>',context!)
    };

    getTypeName() => "ValidIdCompanyDirectorResult";
    TypeContext? context = _ctx;
}

class ValidIdSearchActivityHistoryResult implements IConvertible
{
    String? businesActivity;
    DateTime? date;

    ValidIdSearchActivityHistoryResult({this.businesActivity,this.date});
    ValidIdSearchActivityHistoryResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        businesActivity = json['businesActivity'];
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'businesActivity': businesActivity,
        'date': JsonConverters.toJson(date,'DateTime',context!)
    };

    getTypeName() => "ValidIdSearchActivityHistoryResult";
    TypeContext? context = _ctx;
}

class ValidIdSearchActivityItemResult implements IConvertible
{
    String? profileType;
    int? oneMonth;
    int? threeMonth;
    int? sixMonth;
    List<ValidIdSearchActivityHistoryResult>? history;

    ValidIdSearchActivityItemResult({this.profileType,this.oneMonth,this.threeMonth,this.sixMonth,this.history});
    ValidIdSearchActivityItemResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        profileType = json['profileType'];
        oneMonth = json['oneMonth'];
        threeMonth = json['threeMonth'];
        sixMonth = json['sixMonth'];
        history = JsonConverters.fromJson(json['history'],'List<ValidIdSearchActivityHistoryResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'profileType': profileType,
        'oneMonth': oneMonth,
        'threeMonth': threeMonth,
        'sixMonth': sixMonth,
        'history': JsonConverters.toJson(history,'List<ValidIdSearchActivityHistoryResult>',context!)
    };

    getTypeName() => "ValidIdSearchActivityItemResult";
    TypeContext? context = _ctx;
}

class ValidIdSearchActivityResult implements IConvertible
{
    List<ValidIdSearchActivityItemResult>? activity;

    ValidIdSearchActivityResult({this.activity});
    ValidIdSearchActivityResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        activity = JsonConverters.fromJson(json['activity'],'List<ValidIdSearchActivityItemResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'activity': JsonConverters.toJson(activity,'List<ValidIdSearchActivityItemResult>',context!)
    };

    getTypeName() => "ValidIdSearchActivityResult";
    TypeContext? context = _ctx;
}

class ValidIdPRSResult implements IConvertible
{
    String? matchResult;
    String? propertyOwnership;
    String? titleNumber;

    ValidIdPRSResult({this.matchResult,this.propertyOwnership,this.titleNumber});
    ValidIdPRSResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        matchResult = json['matchResult'];
        propertyOwnership = json['propertyOwnership'];
        titleNumber = json['titleNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'matchResult': matchResult,
        'propertyOwnership': propertyOwnership,
        'titleNumber': titleNumber
    };

    getTypeName() => "ValidIdPRSResult";
    TypeContext? context = _ctx;
}

class ValidIdPollNumberResult implements IConvertible
{
    int? pollNumberMatch;

    ValidIdPollNumberResult({this.pollNumberMatch});
    ValidIdPollNumberResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        pollNumberMatch = json['pollNumberMatch'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'pollNumberMatch': pollNumberMatch
    };

    getTypeName() => "ValidIdPollNumberResult";
    TypeContext? context = _ctx;
}

class ValidIdOnlineProfileResult implements IConvertible
{
    int? onlineProfileStatus;
    String? onlineTwitterUsername;
    int? onlineTwitterActivityMonth1;
    int? onlineTwitterActivityMonth2;
    int? onlineTwitterActivityMonth3;
    int? onlineTwitterActivityMonth4;
    int? onlineTwitterActivityMonth5;
    int? onlineTwitterActivityMonth6;
    int? onlineTwitterActivityMonth7;
    int? onlineTwitterActivityMonth8;
    int? onlineTwitterActivityMonth9;
    int? onlineTwitterActivityMonth10;
    int? onlineTwitterActivityMonth11;
    int? onlineTwitterActivityMonth12;

    ValidIdOnlineProfileResult({this.onlineProfileStatus,this.onlineTwitterUsername,this.onlineTwitterActivityMonth1,this.onlineTwitterActivityMonth2,this.onlineTwitterActivityMonth3,this.onlineTwitterActivityMonth4,this.onlineTwitterActivityMonth5,this.onlineTwitterActivityMonth6,this.onlineTwitterActivityMonth7,this.onlineTwitterActivityMonth8,this.onlineTwitterActivityMonth9,this.onlineTwitterActivityMonth10,this.onlineTwitterActivityMonth11,this.onlineTwitterActivityMonth12});
    ValidIdOnlineProfileResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        onlineProfileStatus = json['onlineProfileStatus'];
        onlineTwitterUsername = json['onlineTwitterUsername'];
        onlineTwitterActivityMonth1 = json['onlineTwitterActivityMonth1'];
        onlineTwitterActivityMonth2 = json['onlineTwitterActivityMonth2'];
        onlineTwitterActivityMonth3 = json['onlineTwitterActivityMonth3'];
        onlineTwitterActivityMonth4 = json['onlineTwitterActivityMonth4'];
        onlineTwitterActivityMonth5 = json['onlineTwitterActivityMonth5'];
        onlineTwitterActivityMonth6 = json['onlineTwitterActivityMonth6'];
        onlineTwitterActivityMonth7 = json['onlineTwitterActivityMonth7'];
        onlineTwitterActivityMonth8 = json['onlineTwitterActivityMonth8'];
        onlineTwitterActivityMonth9 = json['onlineTwitterActivityMonth9'];
        onlineTwitterActivityMonth10 = json['onlineTwitterActivityMonth10'];
        onlineTwitterActivityMonth11 = json['onlineTwitterActivityMonth11'];
        onlineTwitterActivityMonth12 = json['onlineTwitterActivityMonth12'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'onlineProfileStatus': onlineProfileStatus,
        'onlineTwitterUsername': onlineTwitterUsername,
        'onlineTwitterActivityMonth1': onlineTwitterActivityMonth1,
        'onlineTwitterActivityMonth2': onlineTwitterActivityMonth2,
        'onlineTwitterActivityMonth3': onlineTwitterActivityMonth3,
        'onlineTwitterActivityMonth4': onlineTwitterActivityMonth4,
        'onlineTwitterActivityMonth5': onlineTwitterActivityMonth5,
        'onlineTwitterActivityMonth6': onlineTwitterActivityMonth6,
        'onlineTwitterActivityMonth7': onlineTwitterActivityMonth7,
        'onlineTwitterActivityMonth8': onlineTwitterActivityMonth8,
        'onlineTwitterActivityMonth9': onlineTwitterActivityMonth9,
        'onlineTwitterActivityMonth10': onlineTwitterActivityMonth10,
        'onlineTwitterActivityMonth11': onlineTwitterActivityMonth11,
        'onlineTwitterActivityMonth12': onlineTwitterActivityMonth12
    };

    getTypeName() => "ValidIdOnlineProfileResult";
    TypeContext? context = _ctx;
}

class ValidIdMarriageResult implements IConvertible
{
    int? marriageCertFlag;
    int? marriageResultFlag;

    ValidIdMarriageResult({this.marriageCertFlag,this.marriageResultFlag});
    ValidIdMarriageResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        marriageCertFlag = json['marriageCertFlag'];
        marriageResultFlag = json['marriageResultFlag'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'marriageCertFlag': marriageCertFlag,
        'marriageResultFlag': marriageResultFlag
    };

    getTypeName() => "ValidIdMarriageResult";
    TypeContext? context = _ctx;
}

class ValidIdAgeResult implements IConvertible
{
    bool? ageIsAboveLower;
    bool? ageIsBelowUpper;

    ValidIdAgeResult({this.ageIsAboveLower,this.ageIsBelowUpper});
    ValidIdAgeResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ageIsAboveLower = json['ageIsAboveLower'];
        ageIsBelowUpper = json['ageIsBelowUpper'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ageIsAboveLower': ageIsAboveLower,
        'ageIsBelowUpper': ageIsBelowUpper
    };

    getTypeName() => "ValidIdAgeResult";
    TypeContext? context = _ctx;
}

class ValidIdResult implements IConvertible
{
    ValidIdResultSummary? summaryResult;
    List<ValidIdResultErrors>? errors;
    ValidIdDrivingResult? drivingResult;
    ValidIdDOBResult? dobResult;
    ValidIdNHSResult? nhsResult;
    ValidIdNIResult? niResult;
    ValidIdPassportResult? passportResult;
    ValidIdPassportChipResult? passportChipResult;
    ValidIdBirthResult? birthResult;
    ValidIdElectricityResult? electricityResult;
    ValidIdBankResult? bankResult;
    ValidIdCardNumberResult? cardNumberResult;
    ValidIdCreditActiveResult? creditActiveResult;
    ValidIdAddressResult? addressResult;
    ValidIdSmartlinkResult? smartlinkResult;
    ValidIdDeathscreenResult? deathscreenResult;
    ValidIdPEPResult? pepResult;
    ValidIdCCJResult? ccjResult;
    ValidIdInsolvencyResult? insolvencyResult;
    ValidIdTravelVisaResult? travelVisaResult;
    ValidIdIdCardResult? idCardResult;
    ValidIdBankLiveResult? bankLiveResult;
    ValidIdCompanyDirectorResult? companyDirectorResult;
    ValidIdSearchActivityResult? searchActivityResult;
    ValidIdPRSResult? prsResult;
    ValidIdPollNumberResult? pollNumberResult;
    ValidIdOnlineProfileResult? onlineProfileResult;
    ValidIdMarriageResult? marriageResult;
    ValidIdAgeResult? ageResult;

    ValidIdResult({this.summaryResult,this.errors,this.drivingResult,this.dobResult,this.nhsResult,this.niResult,this.passportResult,this.passportChipResult,this.birthResult,this.electricityResult,this.bankResult,this.cardNumberResult,this.creditActiveResult,this.addressResult,this.smartlinkResult,this.deathscreenResult,this.pepResult,this.ccjResult,this.insolvencyResult,this.travelVisaResult,this.idCardResult,this.bankLiveResult,this.companyDirectorResult,this.searchActivityResult,this.prsResult,this.pollNumberResult,this.onlineProfileResult,this.marriageResult,this.ageResult});
    ValidIdResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        summaryResult = JsonConverters.fromJson(json['summaryResult'],'ValidIdResultSummary',context!);
        errors = JsonConverters.fromJson(json['errors'],'List<ValidIdResultErrors>',context!);
        drivingResult = JsonConverters.fromJson(json['drivingResult'],'ValidIdDrivingResult',context!);
        dobResult = JsonConverters.fromJson(json['dobResult'],'ValidIdDOBResult',context!);
        nhsResult = JsonConverters.fromJson(json['nhsResult'],'ValidIdNHSResult',context!);
        niResult = JsonConverters.fromJson(json['niResult'],'ValidIdNIResult',context!);
        passportResult = JsonConverters.fromJson(json['passportResult'],'ValidIdPassportResult',context!);
        passportChipResult = JsonConverters.fromJson(json['passportChipResult'],'ValidIdPassportChipResult',context!);
        birthResult = JsonConverters.fromJson(json['birthResult'],'ValidIdBirthResult',context!);
        electricityResult = JsonConverters.fromJson(json['electricityResult'],'ValidIdElectricityResult',context!);
        bankResult = JsonConverters.fromJson(json['bankResult'],'ValidIdBankResult',context!);
        cardNumberResult = JsonConverters.fromJson(json['cardNumberResult'],'ValidIdCardNumberResult',context!);
        creditActiveResult = JsonConverters.fromJson(json['creditActiveResult'],'ValidIdCreditActiveResult',context!);
        addressResult = JsonConverters.fromJson(json['addressResult'],'ValidIdAddressResult',context!);
        smartlinkResult = JsonConverters.fromJson(json['smartlinkResult'],'ValidIdSmartlinkResult',context!);
        deathscreenResult = JsonConverters.fromJson(json['deathscreenResult'],'ValidIdDeathscreenResult',context!);
        pepResult = JsonConverters.fromJson(json['pepResult'],'ValidIdPEPResult',context!);
        ccjResult = JsonConverters.fromJson(json['ccjResult'],'ValidIdCCJResult',context!);
        insolvencyResult = JsonConverters.fromJson(json['insolvencyResult'],'ValidIdInsolvencyResult',context!);
        travelVisaResult = JsonConverters.fromJson(json['travelVisaResult'],'ValidIdTravelVisaResult',context!);
        idCardResult = JsonConverters.fromJson(json['idCardResult'],'ValidIdIdCardResult',context!);
        bankLiveResult = JsonConverters.fromJson(json['bankLiveResult'],'ValidIdBankLiveResult',context!);
        companyDirectorResult = JsonConverters.fromJson(json['companyDirectorResult'],'ValidIdCompanyDirectorResult',context!);
        searchActivityResult = JsonConverters.fromJson(json['searchActivityResult'],'ValidIdSearchActivityResult',context!);
        prsResult = JsonConverters.fromJson(json['prsResult'],'ValidIdPRSResult',context!);
        pollNumberResult = JsonConverters.fromJson(json['pollNumberResult'],'ValidIdPollNumberResult',context!);
        onlineProfileResult = JsonConverters.fromJson(json['onlineProfileResult'],'ValidIdOnlineProfileResult',context!);
        marriageResult = JsonConverters.fromJson(json['marriageResult'],'ValidIdMarriageResult',context!);
        ageResult = JsonConverters.fromJson(json['ageResult'],'ValidIdAgeResult',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'summaryResult': JsonConverters.toJson(summaryResult,'ValidIdResultSummary',context!),
        'errors': JsonConverters.toJson(errors,'List<ValidIdResultErrors>',context!),
        'drivingResult': JsonConverters.toJson(drivingResult,'ValidIdDrivingResult',context!),
        'dobResult': JsonConverters.toJson(dobResult,'ValidIdDOBResult',context!),
        'nhsResult': JsonConverters.toJson(nhsResult,'ValidIdNHSResult',context!),
        'niResult': JsonConverters.toJson(niResult,'ValidIdNIResult',context!),
        'passportResult': JsonConverters.toJson(passportResult,'ValidIdPassportResult',context!),
        'passportChipResult': JsonConverters.toJson(passportChipResult,'ValidIdPassportChipResult',context!),
        'birthResult': JsonConverters.toJson(birthResult,'ValidIdBirthResult',context!),
        'electricityResult': JsonConverters.toJson(electricityResult,'ValidIdElectricityResult',context!),
        'bankResult': JsonConverters.toJson(bankResult,'ValidIdBankResult',context!),
        'cardNumberResult': JsonConverters.toJson(cardNumberResult,'ValidIdCardNumberResult',context!),
        'creditActiveResult': JsonConverters.toJson(creditActiveResult,'ValidIdCreditActiveResult',context!),
        'addressResult': JsonConverters.toJson(addressResult,'ValidIdAddressResult',context!),
        'smartlinkResult': JsonConverters.toJson(smartlinkResult,'ValidIdSmartlinkResult',context!),
        'deathscreenResult': JsonConverters.toJson(deathscreenResult,'ValidIdDeathscreenResult',context!),
        'pepResult': JsonConverters.toJson(pepResult,'ValidIdPEPResult',context!),
        'ccjResult': JsonConverters.toJson(ccjResult,'ValidIdCCJResult',context!),
        'insolvencyResult': JsonConverters.toJson(insolvencyResult,'ValidIdInsolvencyResult',context!),
        'travelVisaResult': JsonConverters.toJson(travelVisaResult,'ValidIdTravelVisaResult',context!),
        'idCardResult': JsonConverters.toJson(idCardResult,'ValidIdIdCardResult',context!),
        'bankLiveResult': JsonConverters.toJson(bankLiveResult,'ValidIdBankLiveResult',context!),
        'companyDirectorResult': JsonConverters.toJson(companyDirectorResult,'ValidIdCompanyDirectorResult',context!),
        'searchActivityResult': JsonConverters.toJson(searchActivityResult,'ValidIdSearchActivityResult',context!),
        'prsResult': JsonConverters.toJson(prsResult,'ValidIdPRSResult',context!),
        'pollNumberResult': JsonConverters.toJson(pollNumberResult,'ValidIdPollNumberResult',context!),
        'onlineProfileResult': JsonConverters.toJson(onlineProfileResult,'ValidIdOnlineProfileResult',context!),
        'marriageResult': JsonConverters.toJson(marriageResult,'ValidIdMarriageResult',context!),
        'ageResult': JsonConverters.toJson(ageResult,'ValidIdAgeResult',context!)
    };

    getTypeName() => "ValidIdResult";
    TypeContext? context = _ctx;
}

class SearchCriteria implements IConvertible
{
    String? name;
    String? address;
    String? country;
    String? dateOfBirth;
    String? nationality;
    String? reference;

    SearchCriteria({this.name,this.address,this.country,this.dateOfBirth,this.nationality,this.reference});
    SearchCriteria.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        address = json['address'];
        country = json['country'];
        dateOfBirth = json['dateOfBirth'];
        nationality = json['nationality'];
        reference = json['reference'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'address': address,
        'country': country,
        'dateOfBirth': dateOfBirth,
        'nationality': nationality,
        'reference': reference
    };

    getTypeName() => "SearchCriteria";
    TypeContext? context = _ctx;
}

class SearchResultEuAddress implements IConvertible
{
    String? street;
    String? city;
    String? country;
    String? postCode;
    String? other;

    SearchResultEuAddress({this.street,this.city,this.country,this.postCode,this.other});
    SearchResultEuAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        street = json['street'];
        city = json['city'];
        country = json['country'];
        postCode = json['postCode'];
        other = json['other'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'street': street,
        'city': city,
        'country': country,
        'postCode': postCode,
        'other': other
    };

    getTypeName() => "SearchResultEuAddress";
    TypeContext? context = _ctx;
}

class SearchResultEuBirth implements IConvertible
{
    String? date;
    String? place;
    String? country;

    SearchResultEuBirth({this.date,this.place,this.country});
    SearchResultEuBirth.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        date = json['date'];
        place = json['place'];
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'date': date,
        'place': place,
        'country': country
    };

    getTypeName() => "SearchResultEuBirth";
    TypeContext? context = _ctx;
}

class SearchResultOfacEuCitizenship implements IConvertible
{
    String? country;

    SearchResultOfacEuCitizenship({this.country});
    SearchResultOfacEuCitizenship.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'country': country
    };

    getTypeName() => "SearchResultOfacEuCitizenship";
    TypeContext? context = _ctx;
}

class SearchResultEuName implements IConvertible
{
    String? fullName;
    String? gender;

    SearchResultEuName({this.fullName,this.gender});
    SearchResultEuName.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fullName = json['fullName'];
        gender = json['gender'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fullName': fullName,
        'gender': gender
    };

    getTypeName() => "SearchResultEuName";
    TypeContext? context = _ctx;
}

class SearchResultEuPassport implements IConvertible
{
    String? number;
    String? country;

    SearchResultEuPassport({this.number,this.country});
    SearchResultEuPassport.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        number = json['number'];
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'number': number,
        'country': country
    };

    getTypeName() => "SearchResultEuPassport";
    TypeContext? context = _ctx;
}

class SearchResultEu implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    List<SearchResultEuAddress>? addresses;
    List<SearchResultEuBirth>? births;
    List<SearchResultOfacEuCitizenship>? citizenships;
    List<SearchResultEuName>? names;
    List<SearchResultEuPassport>? passports;

    SearchResultEu({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.addresses,this.births,this.citizenships,this.names,this.passports});
    SearchResultEu.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        addresses = JsonConverters.fromJson(json['addresses'],'List<SearchResultEuAddress>',context!);
        births = JsonConverters.fromJson(json['births'],'List<SearchResultEuBirth>',context!);
        citizenships = JsonConverters.fromJson(json['citizenships'],'List<SearchResultOfacEuCitizenship>',context!);
        names = JsonConverters.fromJson(json['names'],'List<SearchResultEuName>',context!);
        passports = JsonConverters.fromJson(json['passports'],'List<SearchResultEuPassport>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'addresses': JsonConverters.toJson(addresses,'List<SearchResultEuAddress>',context!),
        'births': JsonConverters.toJson(births,'List<SearchResultEuBirth>',context!),
        'citizenships': JsonConverters.toJson(citizenships,'List<SearchResultOfacEuCitizenship>',context!),
        'names': JsonConverters.toJson(names,'List<SearchResultEuName>',context!),
        'passports': JsonConverters.toJson(passports,'List<SearchResultEuPassport>',context!)
    };

    getTypeName() => "SearchResultEu";
    TypeContext? context = _ctx;
}

class SearchResultHmTreasury implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateListed;
    DateTime? dateUpdated;
    String? name1;
    String? name2;
    String? name3;
    String? name4;
    String? name5;
    String? name6;
    String? dateOfBirth;
    String? countryOfBirth;
    String? nationality;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? address6;
    String? postCode;
    String? country;

    SearchResultHmTreasury({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateListed,this.dateUpdated,this.name1,this.name2,this.name3,this.name4,this.name5,this.name6,this.dateOfBirth,this.countryOfBirth,this.nationality,this.address1,this.address2,this.address3,this.address4,this.address5,this.address6,this.postCode,this.country});
    SearchResultHmTreasury.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateListed = JsonConverters.fromJson(json['dateListed'],'DateTime',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        name1 = json['name1'];
        name2 = json['name2'];
        name3 = json['name3'];
        name4 = json['name4'];
        name5 = json['name5'];
        name6 = json['name6'];
        dateOfBirth = json['dateOfBirth'];
        countryOfBirth = json['countryOfBirth'];
        nationality = json['nationality'];
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        address6 = json['address6'];
        postCode = json['postCode'];
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateListed': JsonConverters.toJson(dateListed,'DateTime',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'name1': name1,
        'name2': name2,
        'name3': name3,
        'name4': name4,
        'name5': name5,
        'name6': name6,
        'dateOfBirth': dateOfBirth,
        'countryOfBirth': countryOfBirth,
        'nationality': nationality,
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'address6': address6,
        'postCode': postCode,
        'country': country
    };

    getTypeName() => "SearchResultHmTreasury";
    TypeContext? context = _ctx;
}

class SearchResultOfacAddress implements IConvertible
{
    String? address1;
    String? address2;
    String? address3;
    String? city;
    String? state;
    String? postCode;
    String? country;

    SearchResultOfacAddress({this.address1,this.address2,this.address3,this.city,this.state,this.postCode,this.country});
    SearchResultOfacAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        city = json['city'];
        state = json['state'];
        postCode = json['postCode'];
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'city': city,
        'state': state,
        'postCode': postCode,
        'country': country
    };

    getTypeName() => "SearchResultOfacAddress";
    TypeContext? context = _ctx;
}

class SearchResultOfacAka implements IConvertible
{
    String? firstName;
    String? lastName;
    String? type;
    String? strength;

    SearchResultOfacAka({this.firstName,this.lastName,this.type,this.strength});
    SearchResultOfacAka.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        firstName = json['firstName'];
        lastName = json['lastName'];
        type = json['type'];
        strength = json['strength'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'firstName': firstName,
        'lastName': lastName,
        'type': type,
        'strength': strength
    };

    getTypeName() => "SearchResultOfacAka";
    TypeContext? context = _ctx;
}

class SearchResultOfacDateOfBirth implements IConvertible
{
    String? dateOfBirth;

    SearchResultOfacDateOfBirth({this.dateOfBirth});
    SearchResultOfacDateOfBirth.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        dateOfBirth = json['dateOfBirth'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'dateOfBirth': dateOfBirth
    };

    getTypeName() => "SearchResultOfacDateOfBirth";
    TypeContext? context = _ctx;
}

class SearchResultOfacNationality implements IConvertible
{
    String? country;

    SearchResultOfacNationality({this.country});
    SearchResultOfacNationality.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'country': country
    };

    getTypeName() => "SearchResultOfacNationality";
    TypeContext? context = _ctx;
}

class SearchResultOfacPlaceOfBirth implements IConvertible
{
    String? placeOfBirth;

    SearchResultOfacPlaceOfBirth({this.placeOfBirth});
    SearchResultOfacPlaceOfBirth.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        placeOfBirth = json['placeOfBirth'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'placeOfBirth': placeOfBirth
    };

    getTypeName() => "SearchResultOfacPlaceOfBirth";
    TypeContext? context = _ctx;
}

class SearchResultOfac implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    String? firstName;
    String? lastName;
    List<SearchResultOfacAddress>? addresses;
    List<SearchResultOfacAka>? akas;
    List<SearchResultOfacDateOfBirth>? dateOfBirths;
    List<SearchResultOfacNationality>? nationalities;
    List<SearchResultOfacPlaceOfBirth>? placeOfBirths;

    SearchResultOfac({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.firstName,this.lastName,this.addresses,this.akas,this.dateOfBirths,this.nationalities,this.placeOfBirths});
    SearchResultOfac.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        firstName = json['firstName'];
        lastName = json['lastName'];
        addresses = JsonConverters.fromJson(json['addresses'],'List<SearchResultOfacAddress>',context!);
        akas = JsonConverters.fromJson(json['akas'],'List<SearchResultOfacAka>',context!);
        dateOfBirths = JsonConverters.fromJson(json['dateOfBirths'],'List<SearchResultOfacDateOfBirth>',context!);
        nationalities = JsonConverters.fromJson(json['nationalities'],'List<SearchResultOfacNationality>',context!);
        placeOfBirths = JsonConverters.fromJson(json['placeOfBirths'],'List<SearchResultOfacPlaceOfBirth>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'firstName': firstName,
        'lastName': lastName,
        'addresses': JsonConverters.toJson(addresses,'List<SearchResultOfacAddress>',context!),
        'akas': JsonConverters.toJson(akas,'List<SearchResultOfacAka>',context!),
        'dateOfBirths': JsonConverters.toJson(dateOfBirths,'List<SearchResultOfacDateOfBirth>',context!),
        'nationalities': JsonConverters.toJson(nationalities,'List<SearchResultOfacNationality>',context!),
        'placeOfBirths': JsonConverters.toJson(placeOfBirths,'List<SearchResultOfacPlaceOfBirth>',context!)
    };

    getTypeName() => "SearchResultOfac";
    TypeContext? context = _ctx;
}

class SearchResultDfat implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    String? fullName;
    String? address;
    String? dateOfBirth;
    String? placeOfBirth;
    String? nationality;

    SearchResultDfat({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.fullName,this.address,this.dateOfBirth,this.placeOfBirth,this.nationality});
    SearchResultDfat.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        fullName = json['fullName'];
        address = json['address'];
        dateOfBirth = json['dateOfBirth'];
        placeOfBirth = json['placeOfBirth'];
        nationality = json['nationality'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'fullName': fullName,
        'address': address,
        'dateOfBirth': dateOfBirth,
        'placeOfBirth': placeOfBirth,
        'nationality': nationality
    };

    getTypeName() => "SearchResultDfat";
    TypeContext? context = _ctx;
}

class SearchResultOsfi implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    String? fullName;
    String? address;
    String? dateOfBirth;
    String? placeOfBirth;
    String? nationality;

    SearchResultOsfi({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.fullName,this.address,this.dateOfBirth,this.placeOfBirth,this.nationality});
    SearchResultOsfi.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        fullName = json['fullName'];
        address = json['address'];
        dateOfBirth = json['dateOfBirth'];
        placeOfBirth = json['placeOfBirth'];
        nationality = json['nationality'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'fullName': fullName,
        'address': address,
        'dateOfBirth': dateOfBirth,
        'placeOfBirth': placeOfBirth,
        'nationality': nationality
    };

    getTypeName() => "SearchResultOsfi";
    TypeContext? context = _ctx;
}

class SearchResultCanadianJustice implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    String? name;
    String? dateOfBirth;
    String? country;
    int? refId;

    SearchResultCanadianJustice({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.name,this.dateOfBirth,this.country,this.refId});
    SearchResultCanadianJustice.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        name = json['name'];
        dateOfBirth = json['dateOfBirth'];
        country = json['country'];
        refId = json['refId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'name': name,
        'dateOfBirth': dateOfBirth,
        'country': country,
        'refId': refId
    };

    getTypeName() => "SearchResultCanadianJustice";
    TypeContext? context = _ctx;
}

class SearchResultCanadianSema implements IConvertible
{
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    String? name;
    String? dateOfBirth;
    String? country;
    String? schedule;
    String? item;

    SearchResultCanadianSema({this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.name,this.dateOfBirth,this.country,this.schedule,this.item});
    SearchResultCanadianSema.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        name = json['name'];
        dateOfBirth = json['dateOfBirth'];
        country = json['country'];
        schedule = json['schedule'];
        item = json['item'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'name': name,
        'dateOfBirth': dateOfBirth,
        'country': country,
        'schedule': schedule,
        'item': item
    };

    getTypeName() => "SearchResultCanadianSema";
    TypeContext? context = _ctx;
}

class SearchResultAddress implements IConvertible
{
    int? searchResultAddressId;
    String? type;
    String? address1;
    String? address2;
    String? address3;
    String? city;
    String? county;
    String? postCode;
    String? country;

    SearchResultAddress({this.searchResultAddressId,this.type,this.address1,this.address2,this.address3,this.city,this.county,this.postCode,this.country});
    SearchResultAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultAddressId = json['searchResultAddressId'];
        type = json['type'];
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        city = json['city'];
        county = json['county'];
        postCode = json['postCode'];
        country = json['country'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultAddressId': searchResultAddressId,
        'type': type,
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'city': city,
        'county': county,
        'postCode': postCode,
        'country': country
    };

    getTypeName() => "SearchResultAddress";
    TypeContext? context = _ctx;
}

class SearchResultDateOfBirth implements IConvertible
{
    int? searchResultDateOfBirthId;
    String? dateOfBirth;
    int? year;
    int? month;
    int? day;
    String? type;

    SearchResultDateOfBirth({this.searchResultDateOfBirthId,this.dateOfBirth,this.year,this.month,this.day,this.type});
    SearchResultDateOfBirth.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultDateOfBirthId = json['searchResultDateOfBirthId'];
        dateOfBirth = json['dateOfBirth'];
        year = json['year'];
        month = json['month'];
        day = json['day'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultDateOfBirthId': searchResultDateOfBirthId,
        'dateOfBirth': dateOfBirth,
        'year': year,
        'month': month,
        'day': day,
        'type': type
    };

    getTypeName() => "SearchResultDateOfBirth";
    TypeContext? context = _ctx;
}

class SearchResultName implements IConvertible
{
    int? searchResultNameId;
    String? type;
    String? title;
    String? fullName;
    double? resultSimilarity;

    SearchResultName({this.searchResultNameId,this.type,this.title,this.fullName,this.resultSimilarity});
    SearchResultName.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultNameId = json['searchResultNameId'];
        type = json['type'];
        title = json['title'];
        fullName = json['fullName'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultNameId': searchResultNameId,
        'type': type,
        'title': title,
        'fullName': fullName,
        'resultSimilarity': resultSimilarity
    };

    getTypeName() => "SearchResultName";
    TypeContext? context = _ctx;
}

class SearchResultNationality implements IConvertible
{
    int? searchResultNationalityId;
    String? nationality;

    SearchResultNationality({this.searchResultNationalityId,this.nationality});
    SearchResultNationality.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultNationalityId = json['searchResultNationalityId'];
        nationality = json['nationality'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultNationalityId': searchResultNationalityId,
        'nationality': nationality
    };

    getTypeName() => "SearchResultNationality";
    TypeContext? context = _ctx;
}

class SearchResultPlaceOfBirth implements IConvertible
{
    int? searchResultPlaceOfBirthId;
    String? placeOfBirth;
    String? countryOfBirth;

    SearchResultPlaceOfBirth({this.searchResultPlaceOfBirthId,this.placeOfBirth,this.countryOfBirth});
    SearchResultPlaceOfBirth.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultPlaceOfBirthId = json['searchResultPlaceOfBirthId'];
        placeOfBirth = json['placeOfBirth'];
        countryOfBirth = json['countryOfBirth'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultPlaceOfBirthId': searchResultPlaceOfBirthId,
        'placeOfBirth': placeOfBirth,
        'countryOfBirth': countryOfBirth
    };

    getTypeName() => "SearchResultPlaceOfBirth";
    TypeContext? context = _ctx;
}

class SearchResultRemark implements IConvertible
{
    int? searchResultRemarkId;
    String? name;
    String? description;

    SearchResultRemark({this.searchResultRemarkId,this.name,this.description});
    SearchResultRemark.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultRemarkId = json['searchResultRemarkId'];
        name = json['name'];
        description = json['description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultRemarkId': searchResultRemarkId,
        'name': name,
        'description': description
    };

    getTypeName() => "SearchResultRemark";
    TypeContext? context = _ctx;
}

class SearchResultEntry implements IConvertible
{
    int? searchResultId;
    int? resultStrength;
    double? resultSimilarity;
    bool? resultResolved;
    String? resultType;
    DateTime? dateUpdated;
    String? sanctionsListId;
    String? sanctionsListName;
    List<SearchResultAddress>? addresses;
    List<SearchResultDateOfBirth>? datesOfBirth;
    List<SearchResultName>? names;
    List<SearchResultNationality>? nationalities;
    List<SearchResultPlaceOfBirth>? placesOfBirth;
    List<SearchResultRemark>? remarks;

    SearchResultEntry({this.searchResultId,this.resultStrength,this.resultSimilarity,this.resultResolved,this.resultType,this.dateUpdated,this.sanctionsListId,this.sanctionsListName,this.addresses,this.datesOfBirth,this.names,this.nationalities,this.placesOfBirth,this.remarks});
    SearchResultEntry.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchResultId = json['searchResultId'];
        resultStrength = json['resultStrength'];
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        resultType = json['resultType'];
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        sanctionsListId = json['sanctionsListId'];
        sanctionsListName = json['sanctionsListName'];
        addresses = JsonConverters.fromJson(json['addresses'],'List<SearchResultAddress>',context!);
        datesOfBirth = JsonConverters.fromJson(json['datesOfBirth'],'List<SearchResultDateOfBirth>',context!);
        names = JsonConverters.fromJson(json['names'],'List<SearchResultName>',context!);
        nationalities = JsonConverters.fromJson(json['nationalities'],'List<SearchResultNationality>',context!);
        placesOfBirth = JsonConverters.fromJson(json['placesOfBirth'],'List<SearchResultPlaceOfBirth>',context!);
        remarks = JsonConverters.fromJson(json['remarks'],'List<SearchResultRemark>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchResultId': searchResultId,
        'resultStrength': resultStrength,
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'resultType': resultType,
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'sanctionsListId': sanctionsListId,
        'sanctionsListName': sanctionsListName,
        'addresses': JsonConverters.toJson(addresses,'List<SearchResultAddress>',context!),
        'datesOfBirth': JsonConverters.toJson(datesOfBirth,'List<SearchResultDateOfBirth>',context!),
        'names': JsonConverters.toJson(names,'List<SearchResultName>',context!),
        'nationalities': JsonConverters.toJson(nationalities,'List<SearchResultNationality>',context!),
        'placesOfBirth': JsonConverters.toJson(placesOfBirth,'List<SearchResultPlaceOfBirth>',context!),
        'remarks': JsonConverters.toJson(remarks,'List<SearchResultRemark>',context!)
    };

    getTypeName() => "SearchResultEntry";
    TypeContext? context = _ctx;
}

class SearchResults implements IConvertible
{
    List<SearchResultEu>? euResults;
    List<SearchResultHmTreasury>? hmtResults;
    List<SearchResultHmTreasury>? hmtUkraineResults;
    List<SearchResultOfac>? ofacResults;
    List<SearchResultOfac>? ofacConsolidatedResults;
    List<SearchResultDfat>? dfatResults;
    List<SearchResultOsfi>? osfiResults;
    List<SearchResultCanadianJustice>? canadianJusticeResults;
    List<SearchResultCanadianSema>? canadianSemaResults;
    List<SearchResultEntry>? swissSecoResults;

    SearchResults({this.euResults,this.hmtResults,this.hmtUkraineResults,this.ofacResults,this.ofacConsolidatedResults,this.dfatResults,this.osfiResults,this.canadianJusticeResults,this.canadianSemaResults,this.swissSecoResults});
    SearchResults.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        euResults = JsonConverters.fromJson(json['euResults'],'List<SearchResultEu>',context!);
        hmtResults = JsonConverters.fromJson(json['hmtResults'],'List<SearchResultHmTreasury>',context!);
        hmtUkraineResults = JsonConverters.fromJson(json['hmtUkraineResults'],'List<SearchResultHmTreasury>',context!);
        ofacResults = JsonConverters.fromJson(json['ofacResults'],'List<SearchResultOfac>',context!);
        ofacConsolidatedResults = JsonConverters.fromJson(json['ofacConsolidatedResults'],'List<SearchResultOfac>',context!);
        dfatResults = JsonConverters.fromJson(json['dfatResults'],'List<SearchResultDfat>',context!);
        osfiResults = JsonConverters.fromJson(json['osfiResults'],'List<SearchResultOsfi>',context!);
        canadianJusticeResults = JsonConverters.fromJson(json['canadianJusticeResults'],'List<SearchResultCanadianJustice>',context!);
        canadianSemaResults = JsonConverters.fromJson(json['canadianSemaResults'],'List<SearchResultCanadianSema>',context!);
        swissSecoResults = JsonConverters.fromJson(json['swissSecoResults'],'List<SearchResultEntry>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'euResults': JsonConverters.toJson(euResults,'List<SearchResultEu>',context!),
        'hmtResults': JsonConverters.toJson(hmtResults,'List<SearchResultHmTreasury>',context!),
        'hmtUkraineResults': JsonConverters.toJson(hmtUkraineResults,'List<SearchResultHmTreasury>',context!),
        'ofacResults': JsonConverters.toJson(ofacResults,'List<SearchResultOfac>',context!),
        'ofacConsolidatedResults': JsonConverters.toJson(ofacConsolidatedResults,'List<SearchResultOfac>',context!),
        'dfatResults': JsonConverters.toJson(dfatResults,'List<SearchResultDfat>',context!),
        'osfiResults': JsonConverters.toJson(osfiResults,'List<SearchResultOsfi>',context!),
        'canadianJusticeResults': JsonConverters.toJson(canadianJusticeResults,'List<SearchResultCanadianJustice>',context!),
        'canadianSemaResults': JsonConverters.toJson(canadianSemaResults,'List<SearchResultCanadianSema>',context!),
        'swissSecoResults': JsonConverters.toJson(swissSecoResults,'List<SearchResultEntry>',context!)
    };

    getTypeName() => "SearchResults";
    TypeContext? context = _ctx;
}

class SearchSource implements IConvertible
{
    String? listId;
    String? listName;
    String? listShortName;
    bool? isAffectedByListUpdate;

    SearchSource({this.listId,this.listName,this.listShortName,this.isAffectedByListUpdate});
    SearchSource.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        listId = json['listId'];
        listName = json['listName'];
        listShortName = json['listShortName'];
        isAffectedByListUpdate = json['isAffectedByListUpdate'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'listId': listId,
        'listName': listName,
        'listShortName': listShortName,
        'isAffectedByListUpdate': isAffectedByListUpdate
    };

    getTypeName() => "SearchSource";
    TypeContext? context = _ctx;
}

class ArrayOfSearchResultEntries extends ListBase<SearchResultEntry> implements IConvertible
{
    final List<SearchResultEntry> l = [];
    set length(int newLength) { l.length = newLength; }
    int get length => l.length;
    SearchResultEntry operator [](int index) => l[index];
    void operator []=(int index, SearchResultEntry value) { l[index] = value; }
    ArrayOfSearchResultEntries();
    ArrayOfSearchResultEntries.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ArrayOfSearchResultEntries";
    TypeContext? context = _ctx;
}

class SearchRecord implements IConvertible
{
    int? id;
    String? searchType;
    DateTime? dateSearched;
    DateTime? dateUpdated;
    DateTime? dateArchived;
    bool? isArchived;
    int? numOfResults;
    bool? clientInResults;
    bool? clientNotInResults;
    bool? affectedByUpdate;
    SearchCriteria? searchCriteria;
    SearchResults? searchResults;
    List<SearchSource>? searchSources;
    ArrayOfSearchResultEntries? listSearchResults;

    SearchRecord({this.id,this.searchType,this.dateSearched,this.dateUpdated,this.dateArchived,this.isArchived,this.numOfResults,this.clientInResults,this.clientNotInResults,this.affectedByUpdate,this.searchCriteria,this.searchResults,this.searchSources,this.listSearchResults});
    SearchRecord.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        searchType = json['searchType'];
        dateSearched = JsonConverters.fromJson(json['dateSearched'],'DateTime',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        dateArchived = JsonConverters.fromJson(json['dateArchived'],'DateTime',context!);
        isArchived = json['isArchived'];
        numOfResults = json['numOfResults'];
        clientInResults = json['clientInResults'];
        clientNotInResults = json['clientNotInResults'];
        affectedByUpdate = json['affectedByUpdate'];
        searchCriteria = JsonConverters.fromJson(json['searchCriteria'],'SearchCriteria',context!);
        searchResults = JsonConverters.fromJson(json['searchResults'],'SearchResults',context!);
        searchSources = JsonConverters.fromJson(json['searchSources'],'List<SearchSource>',context!);
        listSearchResults = JsonConverters.fromJson(json['listSearchResults'],'ArrayOfSearchResultEntries',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'searchType': searchType,
        'dateSearched': JsonConverters.toJson(dateSearched,'DateTime',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'dateArchived': JsonConverters.toJson(dateArchived,'DateTime',context!),
        'isArchived': isArchived,
        'numOfResults': numOfResults,
        'clientInResults': clientInResults,
        'clientNotInResults': clientNotInResults,
        'affectedByUpdate': affectedByUpdate,
        'searchCriteria': JsonConverters.toJson(searchCriteria,'SearchCriteria',context!),
        'searchResults': JsonConverters.toJson(searchResults,'SearchResults',context!),
        'searchSources': JsonConverters.toJson(searchSources,'List<SearchSource>',context!),
        'listSearchResults': JsonConverters.toJson(listSearchResults,'ArrayOfSearchResultEntries',context!)
    };

    getTypeName() => "SearchRecord";
    TypeContext? context = _ctx;
}

class PepSearchResultAddress implements IConvertible
{
    String? addressLine1;
    String? addressLine2;
    String? addressLine3;
    String? addressLine4;
    String? town;
    String? county;
    String? postCode;
    String? country;
    String? isoCountry;
    bool? softDelete;
    DateTime? dateLastUpdated;

    PepSearchResultAddress({this.addressLine1,this.addressLine2,this.addressLine3,this.addressLine4,this.town,this.county,this.postCode,this.country,this.isoCountry,this.softDelete,this.dateLastUpdated});
    PepSearchResultAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        addressLine1 = json['addressLine1'];
        addressLine2 = json['addressLine2'];
        addressLine3 = json['addressLine3'];
        addressLine4 = json['addressLine4'];
        town = json['town'];
        county = json['county'];
        postCode = json['postCode'];
        country = json['country'];
        isoCountry = json['isoCountry'];
        softDelete = json['softDelete'];
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'addressLine1': addressLine1,
        'addressLine2': addressLine2,
        'addressLine3': addressLine3,
        'addressLine4': addressLine4,
        'town': town,
        'county': county,
        'postCode': postCode,
        'country': country,
        'isoCountry': isoCountry,
        'softDelete': softDelete,
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!)
    };

    getTypeName() => "PepSearchResultAddress";
    TypeContext? context = _ctx;
}

class PepSearchResultAlias implements IConvertible
{
    String? forename;
    String? middleName;
    String? surname;
    bool? softDelete;
    DateTime? dateOfSoftDelete;
    DateTime? dateLastUpdated;
    String? title;
    String? alternateTitle;
    String? businessName;

    PepSearchResultAlias({this.forename,this.middleName,this.surname,this.softDelete,this.dateOfSoftDelete,this.dateLastUpdated,this.title,this.alternateTitle,this.businessName});
    PepSearchResultAlias.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        forename = json['forename'];
        middleName = json['middleName'];
        surname = json['surname'];
        softDelete = json['softDelete'];
        dateOfSoftDelete = JsonConverters.fromJson(json['dateOfSoftDelete'],'DateTime',context!);
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        title = json['title'];
        alternateTitle = json['alternateTitle'];
        businessName = json['businessName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'forename': forename,
        'middleName': middleName,
        'surname': surname,
        'softDelete': softDelete,
        'dateOfSoftDelete': JsonConverters.toJson(dateOfSoftDelete,'DateTime',context!),
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!),
        'title': title,
        'alternateTitle': alternateTitle,
        'businessName': businessName
    };

    getTypeName() => "PepSearchResultAlias";
    TypeContext? context = _ctx;
}

class PepSearchResultArticleSnippet implements IConvertible
{
    String? title;
    String? text;
    String? adverseTerms;

    PepSearchResultArticleSnippet({this.title,this.text,this.adverseTerms});
    PepSearchResultArticleSnippet.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        title = json['title'];
        text = json['text'];
        adverseTerms = json['adverseTerms'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'title': title,
        'text': text,
        'adverseTerms': adverseTerms
    };

    getTypeName() => "PepSearchResultArticleSnippet";
    TypeContext? context = _ctx;
}

class PepSearchResultArticle implements IConvertible
{
    String? url;
    String? originalUrl;
    String? source;
    DateTime? dateOfCapture;
    DateTime? dateLastUpdated;
    List<PepSearchResultArticleSnippet>? snippets;

    PepSearchResultArticle({this.url,this.originalUrl,this.source,this.dateOfCapture,this.dateLastUpdated,this.snippets});
    PepSearchResultArticle.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        url = json['url'];
        originalUrl = json['originalUrl'];
        source = json['source'];
        dateOfCapture = JsonConverters.fromJson(json['dateOfCapture'],'DateTime',context!);
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        snippets = JsonConverters.fromJson(json['snippets'],'List<PepSearchResultArticleSnippet>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'url': url,
        'originalUrl': originalUrl,
        'source': source,
        'dateOfCapture': JsonConverters.toJson(dateOfCapture,'DateTime',context!),
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!),
        'snippets': JsonConverters.toJson(snippets,'List<PepSearchResultArticleSnippet>',context!)
    };

    getTypeName() => "PepSearchResultArticle";
    TypeContext? context = _ctx;
}

class PepSearchResultIndividualAssociation implements IConvertible
{
    String? linkDescription;
    bool? softDelete;
    DateTime? dateLastUpdated;
    String? fullName;

    PepSearchResultIndividualAssociation({this.linkDescription,this.softDelete,this.dateLastUpdated,this.fullName});
    PepSearchResultIndividualAssociation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        linkDescription = json['linkDescription'];
        softDelete = json['softDelete'];
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        fullName = json['fullName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'linkDescription': linkDescription,
        'softDelete': softDelete,
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!),
        'fullName': fullName
    };

    getTypeName() => "PepSearchResultIndividualAssociation";
    TypeContext? context = _ctx;
}

class PepSearchResultBusinessAssociation implements IConvertible
{
    String? linkDescription;
    bool? softDelete;
    DateTime? dateLastUpdated;
    String? businessName;

    PepSearchResultBusinessAssociation({this.linkDescription,this.softDelete,this.dateLastUpdated,this.businessName});
    PepSearchResultBusinessAssociation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        linkDescription = json['linkDescription'];
        softDelete = json['softDelete'];
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        businessName = json['businessName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'linkDescription': linkDescription,
        'softDelete': softDelete,
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!),
        'businessName': businessName
    };

    getTypeName() => "PepSearchResultBusinessAssociation";
    TypeContext? context = _ctx;
}

class PepSearchResultNote implements IConvertible
{
    String? source;
    String? notes;
    bool? softDelete;
    DateTime? dateLastUpdated;

    PepSearchResultNote({this.source,this.notes,this.softDelete,this.dateLastUpdated});
    PepSearchResultNote.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        source = json['source'];
        notes = json['notes'];
        softDelete = json['softDelete'];
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'source': source,
        'notes': notes,
        'softDelete': softDelete,
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!)
    };

    getTypeName() => "PepSearchResultNote";
    TypeContext? context = _ctx;
}

class PepSearchResultPoliticalPosition implements IConvertible
{
    String? description;
    String? from;
    String? to;
    String? country;
    bool? softDelete;
    DateTime? dateLastUpdated;

    PepSearchResultPoliticalPosition({this.description,this.from,this.to,this.country,this.softDelete,this.dateLastUpdated});
    PepSearchResultPoliticalPosition.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        description = json['description'];
        from = json['from'];
        to = json['to'];
        country = json['country'];
        softDelete = json['softDelete'];
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'description': description,
        'from': from,
        'to': to,
        'country': country,
        'softDelete': softDelete,
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!)
    };

    getTypeName() => "PepSearchResultPoliticalPosition";
    TypeContext? context = _ctx;
}

class PepSearchResult implements IConvertible
{
    double? resultSimilarity;
    bool? resultResolved;
    DateTime? dateLastUpdated;
    bool? resultIsClient;
    int? id;
    String? type;
    String? title;
    String? forename;
    String? middlename;
    String? surname;
    bool? softDelete;
    DateTime? dateOfSoftDelete;
    DateTime? dateOfCapture;
    DateTime? dateOfBirth;
    DateTime? dateOfDeath;
    int? yearOfBirth;
    int? yearOfDeath;
    String? gender;
    String? homeTelephone;
    String? businessTelephone;
    String? mobileTelephone;
    String? fax;
    String? email;
    String? nationality;
    String? source;
    String? category;
    String? picture;
    String? alternateTitle;
    String? businessName;
    String? description;
    String? telephone;
    String? website;
    int? pepTier;
    List<PepSearchResultAddress>? addresses;
    List<PepSearchResultAlias>? aliases;
    List<PepSearchResultArticle>? articles;
    List<PepSearchResultIndividualAssociation>? associations;
    List<PepSearchResultBusinessAssociation>? businessAssociations;
    List<PepSearchResultNote>? notes;
    List<PepSearchResultPoliticalPosition>? politicalPositions;

    PepSearchResult({this.resultSimilarity,this.resultResolved,this.dateLastUpdated,this.resultIsClient,this.id,this.type,this.title,this.forename,this.middlename,this.surname,this.softDelete,this.dateOfSoftDelete,this.dateOfCapture,this.dateOfBirth,this.dateOfDeath,this.yearOfBirth,this.yearOfDeath,this.gender,this.homeTelephone,this.businessTelephone,this.mobileTelephone,this.fax,this.email,this.nationality,this.source,this.category,this.picture,this.alternateTitle,this.businessName,this.description,this.telephone,this.website,this.pepTier,this.addresses,this.aliases,this.articles,this.associations,this.businessAssociations,this.notes,this.politicalPositions});
    PepSearchResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resultSimilarity = JsonConverters.toDouble(json['resultSimilarity']);
        resultResolved = json['resultResolved'];
        dateLastUpdated = JsonConverters.fromJson(json['dateLastUpdated'],'DateTime',context!);
        resultIsClient = json['resultIsClient'];
        id = json['id'];
        type = json['type'];
        title = json['title'];
        forename = json['forename'];
        middlename = json['middlename'];
        surname = json['surname'];
        softDelete = json['softDelete'];
        dateOfSoftDelete = JsonConverters.fromJson(json['dateOfSoftDelete'],'DateTime',context!);
        dateOfCapture = JsonConverters.fromJson(json['dateOfCapture'],'DateTime',context!);
        dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!);
        dateOfDeath = JsonConverters.fromJson(json['dateOfDeath'],'DateTime',context!);
        yearOfBirth = json['yearOfBirth'];
        yearOfDeath = json['yearOfDeath'];
        gender = json['gender'];
        homeTelephone = json['homeTelephone'];
        businessTelephone = json['businessTelephone'];
        mobileTelephone = json['mobileTelephone'];
        fax = json['fax'];
        email = json['email'];
        nationality = json['nationality'];
        source = json['source'];
        category = json['category'];
        picture = json['picture'];
        alternateTitle = json['alternateTitle'];
        businessName = json['businessName'];
        description = json['description'];
        telephone = json['telephone'];
        website = json['website'];
        pepTier = json['pepTier'];
        addresses = JsonConverters.fromJson(json['addresses'],'List<PepSearchResultAddress>',context!);
        aliases = JsonConverters.fromJson(json['aliases'],'List<PepSearchResultAlias>',context!);
        articles = JsonConverters.fromJson(json['articles'],'List<PepSearchResultArticle>',context!);
        associations = JsonConverters.fromJson(json['associations'],'List<PepSearchResultIndividualAssociation>',context!);
        businessAssociations = JsonConverters.fromJson(json['businessAssociations'],'List<PepSearchResultBusinessAssociation>',context!);
        notes = JsonConverters.fromJson(json['notes'],'List<PepSearchResultNote>',context!);
        politicalPositions = JsonConverters.fromJson(json['politicalPositions'],'List<PepSearchResultPoliticalPosition>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resultSimilarity': resultSimilarity,
        'resultResolved': resultResolved,
        'dateLastUpdated': JsonConverters.toJson(dateLastUpdated,'DateTime',context!),
        'resultIsClient': resultIsClient,
        'id': id,
        'type': type,
        'title': title,
        'forename': forename,
        'middlename': middlename,
        'surname': surname,
        'softDelete': softDelete,
        'dateOfSoftDelete': JsonConverters.toJson(dateOfSoftDelete,'DateTime',context!),
        'dateOfCapture': JsonConverters.toJson(dateOfCapture,'DateTime',context!),
        'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!),
        'dateOfDeath': JsonConverters.toJson(dateOfDeath,'DateTime',context!),
        'yearOfBirth': yearOfBirth,
        'yearOfDeath': yearOfDeath,
        'gender': gender,
        'homeTelephone': homeTelephone,
        'businessTelephone': businessTelephone,
        'mobileTelephone': mobileTelephone,
        'fax': fax,
        'email': email,
        'nationality': nationality,
        'source': source,
        'category': category,
        'picture': picture,
        'alternateTitle': alternateTitle,
        'businessName': businessName,
        'description': description,
        'telephone': telephone,
        'website': website,
        'pepTier': pepTier,
        'addresses': JsonConverters.toJson(addresses,'List<PepSearchResultAddress>',context!),
        'aliases': JsonConverters.toJson(aliases,'List<PepSearchResultAlias>',context!),
        'articles': JsonConverters.toJson(articles,'List<PepSearchResultArticle>',context!),
        'associations': JsonConverters.toJson(associations,'List<PepSearchResultIndividualAssociation>',context!),
        'businessAssociations': JsonConverters.toJson(businessAssociations,'List<PepSearchResultBusinessAssociation>',context!),
        'notes': JsonConverters.toJson(notes,'List<PepSearchResultNote>',context!),
        'politicalPositions': JsonConverters.toJson(politicalPositions,'List<PepSearchResultPoliticalPosition>',context!)
    };

    getTypeName() => "PepSearchResult";
    TypeContext? context = _ctx;
}

class PepSearchResults implements IConvertible
{
    List<PepSearchResult>? results;

    PepSearchResults({this.results});
    PepSearchResults.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        results = JsonConverters.fromJson(json['results'],'List<PepSearchResult>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'results': JsonConverters.toJson(results,'List<PepSearchResult>',context!)
    };

    getTypeName() => "PepSearchResults";
    TypeContext? context = _ctx;
}

class PepSearchRecord implements IConvertible
{
    int? id;
    String? searchType;
    DateTime? dateSearched;
    DateTime? dateUpdated;
    DateTime? dateRenewal;
    DateTime? dateArchived;
    bool? isArchived;
    int? numOfResults;
    bool? clientInResults;
    bool? clientNotInResults;
    bool? affectedByUpdate;
    bool? isDayOneSearch;
    SearchCriteria? searchCriteria;
    PepSearchResults? searchResults;

    PepSearchRecord({this.id,this.searchType,this.dateSearched,this.dateUpdated,this.dateRenewal,this.dateArchived,this.isArchived,this.numOfResults,this.clientInResults,this.clientNotInResults,this.affectedByUpdate,this.isDayOneSearch,this.searchCriteria,this.searchResults});
    PepSearchRecord.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        searchType = json['searchType'];
        dateSearched = JsonConverters.fromJson(json['dateSearched'],'DateTime',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        dateRenewal = JsonConverters.fromJson(json['dateRenewal'],'DateTime',context!);
        dateArchived = JsonConverters.fromJson(json['dateArchived'],'DateTime',context!);
        isArchived = json['isArchived'];
        numOfResults = json['numOfResults'];
        clientInResults = json['clientInResults'];
        clientNotInResults = json['clientNotInResults'];
        affectedByUpdate = json['affectedByUpdate'];
        isDayOneSearch = json['isDayOneSearch'];
        searchCriteria = JsonConverters.fromJson(json['searchCriteria'],'SearchCriteria',context!);
        searchResults = JsonConverters.fromJson(json['searchResults'],'PepSearchResults',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'searchType': searchType,
        'dateSearched': JsonConverters.toJson(dateSearched,'DateTime',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'dateRenewal': JsonConverters.toJson(dateRenewal,'DateTime',context!),
        'dateArchived': JsonConverters.toJson(dateArchived,'DateTime',context!),
        'isArchived': isArchived,
        'numOfResults': numOfResults,
        'clientInResults': clientInResults,
        'clientNotInResults': clientNotInResults,
        'affectedByUpdate': affectedByUpdate,
        'isDayOneSearch': isDayOneSearch,
        'searchCriteria': JsonConverters.toJson(searchCriteria,'SearchCriteria',context!),
        'searchResults': JsonConverters.toJson(searchResults,'PepSearchResults',context!)
    };

    getTypeName() => "PepSearchRecord";
    TypeContext? context = _ctx;
}

class ValidIdRecord implements IConvertible
{
    int? id;
    int? sanctionsSearchId;
    int? pepSearchId;
    int? validIdPassportId;
    int? validIdPassportChipId;
    DateTime? date;
    String? searchListIds;
    bool? pepError;
    bool? replaced;
    int? replacementSearchId;
    bool? hasError;
    bool? hasCompletedRequest;
    bool? hasCompletedSearch;
    bool? hasExtendedOptions;
    int? type;
    String? reference;
    bool? passportChipEnabled;
    bool? passportEnabled;
    bool? drivingEnabled;
    bool? birthEnabled;
    bool? smartlinkEnabled;
    bool? niEnabled;
    bool? nhsEnabled;
    bool? electricityEnabled;
    bool? bankEnabled;
    bool? creditActiveEnabled;
    bool? cardNumberEnabled;
    bool? travelVisaEnabled;
    bool? idCardEnabled;
    bool? bankLiveEnabled;
    bool? companyDirectorEnabled;
    bool? searchActivityEnabled;
    bool? prsEnabled;
    bool? onlineProfileEnabled;
    bool? pollNumberEnabled;
    bool? marriageEnabled;
    bool? ageEnabled;
    ValidIdBasicRequest? basicRequest;
    ValidIdPassportRequest? passportRequest;
    ValidIdDrivingRequest? drivingRequest;
    ValidIdBirthRequest? birthRequest;
    ValidIdNIRequest? niRequest;
    ValidIdNHSRequest? nhsRequest;
    ValidIdElectricityRequest? electricityRequest;
    ValidIdBankRequest? bankRequest;
    ValidIdCardNumberRequest? cardNumberRequest;
    ValidIdTravelVisaRequest? travelVisaRequest;
    ValidIdIdCardRequest? idCardRequest;
    ValidIdPollNumberRequest? pollNumberRequest;
    ValidIdMarriageRequest? marriageRequest;
    ValidIdResult? result;
    SearchRecord? sanctionsResult;
    PepSearchRecord? pepSearchRecord;

    ValidIdRecord({this.id,this.sanctionsSearchId,this.pepSearchId,this.validIdPassportId,this.validIdPassportChipId,this.date,this.searchListIds,this.pepError,this.replaced,this.replacementSearchId,this.hasError,this.hasCompletedRequest,this.hasCompletedSearch,this.hasExtendedOptions,this.type,this.reference,this.passportChipEnabled,this.passportEnabled,this.drivingEnabled,this.birthEnabled,this.smartlinkEnabled,this.niEnabled,this.nhsEnabled,this.electricityEnabled,this.bankEnabled,this.creditActiveEnabled,this.cardNumberEnabled,this.travelVisaEnabled,this.idCardEnabled,this.bankLiveEnabled,this.companyDirectorEnabled,this.searchActivityEnabled,this.prsEnabled,this.onlineProfileEnabled,this.pollNumberEnabled,this.marriageEnabled,this.ageEnabled,this.basicRequest,this.passportRequest,this.drivingRequest,this.birthRequest,this.niRequest,this.nhsRequest,this.electricityRequest,this.bankRequest,this.cardNumberRequest,this.travelVisaRequest,this.idCardRequest,this.pollNumberRequest,this.marriageRequest,this.result,this.sanctionsResult,this.pepSearchRecord});
    ValidIdRecord.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        sanctionsSearchId = json['sanctionsSearchId'];
        pepSearchId = json['pepSearchId'];
        validIdPassportId = json['validIdPassportId'];
        validIdPassportChipId = json['validIdPassportChipId'];
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        searchListIds = json['searchListIds'];
        pepError = json['pepError'];
        replaced = json['replaced'];
        replacementSearchId = json['replacementSearchId'];
        hasError = json['hasError'];
        hasCompletedRequest = json['hasCompletedRequest'];
        hasCompletedSearch = json['hasCompletedSearch'];
        hasExtendedOptions = json['hasExtendedOptions'];
        type = json['type'];
        reference = json['reference'];
        passportChipEnabled = json['passportChipEnabled'];
        passportEnabled = json['passportEnabled'];
        drivingEnabled = json['drivingEnabled'];
        birthEnabled = json['birthEnabled'];
        smartlinkEnabled = json['smartlinkEnabled'];
        niEnabled = json['niEnabled'];
        nhsEnabled = json['nhsEnabled'];
        electricityEnabled = json['electricityEnabled'];
        bankEnabled = json['bankEnabled'];
        creditActiveEnabled = json['creditActiveEnabled'];
        cardNumberEnabled = json['cardNumberEnabled'];
        travelVisaEnabled = json['travelVisaEnabled'];
        idCardEnabled = json['idCardEnabled'];
        bankLiveEnabled = json['bankLiveEnabled'];
        companyDirectorEnabled = json['companyDirectorEnabled'];
        searchActivityEnabled = json['searchActivityEnabled'];
        prsEnabled = json['prsEnabled'];
        onlineProfileEnabled = json['onlineProfileEnabled'];
        pollNumberEnabled = json['pollNumberEnabled'];
        marriageEnabled = json['marriageEnabled'];
        ageEnabled = json['ageEnabled'];
        basicRequest = JsonConverters.fromJson(json['basicRequest'],'ValidIdBasicRequest',context!);
        passportRequest = JsonConverters.fromJson(json['passportRequest'],'ValidIdPassportRequest',context!);
        drivingRequest = JsonConverters.fromJson(json['drivingRequest'],'ValidIdDrivingRequest',context!);
        birthRequest = JsonConverters.fromJson(json['birthRequest'],'ValidIdBirthRequest',context!);
        niRequest = JsonConverters.fromJson(json['niRequest'],'ValidIdNIRequest',context!);
        nhsRequest = JsonConverters.fromJson(json['nhsRequest'],'ValidIdNHSRequest',context!);
        electricityRequest = JsonConverters.fromJson(json['electricityRequest'],'ValidIdElectricityRequest',context!);
        bankRequest = JsonConverters.fromJson(json['bankRequest'],'ValidIdBankRequest',context!);
        cardNumberRequest = JsonConverters.fromJson(json['cardNumberRequest'],'ValidIdCardNumberRequest',context!);
        travelVisaRequest = JsonConverters.fromJson(json['travelVisaRequest'],'ValidIdTravelVisaRequest',context!);
        idCardRequest = JsonConverters.fromJson(json['idCardRequest'],'ValidIdIdCardRequest',context!);
        pollNumberRequest = JsonConverters.fromJson(json['pollNumberRequest'],'ValidIdPollNumberRequest',context!);
        marriageRequest = JsonConverters.fromJson(json['marriageRequest'],'ValidIdMarriageRequest',context!);
        result = JsonConverters.fromJson(json['result'],'ValidIdResult',context!);
        sanctionsResult = JsonConverters.fromJson(json['sanctionsResult'],'SearchRecord',context!);
        pepSearchRecord = JsonConverters.fromJson(json['pepSearchRecord'],'PepSearchRecord',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'sanctionsSearchId': sanctionsSearchId,
        'pepSearchId': pepSearchId,
        'validIdPassportId': validIdPassportId,
        'validIdPassportChipId': validIdPassportChipId,
        'date': JsonConverters.toJson(date,'DateTime',context!),
        'searchListIds': searchListIds,
        'pepError': pepError,
        'replaced': replaced,
        'replacementSearchId': replacementSearchId,
        'hasError': hasError,
        'hasCompletedRequest': hasCompletedRequest,
        'hasCompletedSearch': hasCompletedSearch,
        'hasExtendedOptions': hasExtendedOptions,
        'type': type,
        'reference': reference,
        'passportChipEnabled': passportChipEnabled,
        'passportEnabled': passportEnabled,
        'drivingEnabled': drivingEnabled,
        'birthEnabled': birthEnabled,
        'smartlinkEnabled': smartlinkEnabled,
        'niEnabled': niEnabled,
        'nhsEnabled': nhsEnabled,
        'electricityEnabled': electricityEnabled,
        'bankEnabled': bankEnabled,
        'creditActiveEnabled': creditActiveEnabled,
        'cardNumberEnabled': cardNumberEnabled,
        'travelVisaEnabled': travelVisaEnabled,
        'idCardEnabled': idCardEnabled,
        'bankLiveEnabled': bankLiveEnabled,
        'companyDirectorEnabled': companyDirectorEnabled,
        'searchActivityEnabled': searchActivityEnabled,
        'prsEnabled': prsEnabled,
        'onlineProfileEnabled': onlineProfileEnabled,
        'pollNumberEnabled': pollNumberEnabled,
        'marriageEnabled': marriageEnabled,
        'ageEnabled': ageEnabled,
        'basicRequest': JsonConverters.toJson(basicRequest,'ValidIdBasicRequest',context!),
        'passportRequest': JsonConverters.toJson(passportRequest,'ValidIdPassportRequest',context!),
        'drivingRequest': JsonConverters.toJson(drivingRequest,'ValidIdDrivingRequest',context!),
        'birthRequest': JsonConverters.toJson(birthRequest,'ValidIdBirthRequest',context!),
        'niRequest': JsonConverters.toJson(niRequest,'ValidIdNIRequest',context!),
        'nhsRequest': JsonConverters.toJson(nhsRequest,'ValidIdNHSRequest',context!),
        'electricityRequest': JsonConverters.toJson(electricityRequest,'ValidIdElectricityRequest',context!),
        'bankRequest': JsonConverters.toJson(bankRequest,'ValidIdBankRequest',context!),
        'cardNumberRequest': JsonConverters.toJson(cardNumberRequest,'ValidIdCardNumberRequest',context!),
        'travelVisaRequest': JsonConverters.toJson(travelVisaRequest,'ValidIdTravelVisaRequest',context!),
        'idCardRequest': JsonConverters.toJson(idCardRequest,'ValidIdIdCardRequest',context!),
        'pollNumberRequest': JsonConverters.toJson(pollNumberRequest,'ValidIdPollNumberRequest',context!),
        'marriageRequest': JsonConverters.toJson(marriageRequest,'ValidIdMarriageRequest',context!),
        'result': JsonConverters.toJson(result,'ValidIdResult',context!),
        'sanctionsResult': JsonConverters.toJson(sanctionsResult,'SearchRecord',context!),
        'pepSearchRecord': JsonConverters.toJson(pepSearchRecord,'PepSearchRecord',context!)
    };

    getTypeName() => "ValidIdRecord";
    TypeContext? context = _ctx;
}

class GetValidIdData extends BaseResponse implements IBaseSearchResponse, IConvertible
{
    ArrayOfLinkedTo? linkedTo;
    bool? resolveSanctionsResults;
    ValidIdRecord? searchRecord;
    int? sanctionsSearchId;
    int? pepSearchId;
    int? validIdSearchId;

    GetValidIdData({this.linkedTo,this.resolveSanctionsResults,this.searchRecord,this.sanctionsSearchId,this.pepSearchId,this.validIdSearchId});
    GetValidIdData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        linkedTo = JsonConverters.fromJson(json['linkedTo'],'ArrayOfLinkedTo',context!);
        resolveSanctionsResults = json['resolveSanctionsResults'];
        searchRecord = JsonConverters.fromJson(json['searchRecord'],'ValidIdRecord',context!);
        sanctionsSearchId = json['sanctionsSearchId'];
        pepSearchId = json['pepSearchId'];
        validIdSearchId = json['validIdSearchId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'linkedTo': JsonConverters.toJson(linkedTo,'ArrayOfLinkedTo',context!),
        'resolveSanctionsResults': resolveSanctionsResults,
        'searchRecord': JsonConverters.toJson(searchRecord,'ValidIdRecord',context!),
        'sanctionsSearchId': sanctionsSearchId,
        'pepSearchId': pepSearchId,
        'validIdSearchId': validIdSearchId
    });

    getTypeName() => "GetValidIdData";
    TypeContext? context = _ctx;
}

// @DataContract
class GetValidIdResponse implements IConvertible
{
    // @DataMember
    GetValidIdData? data;

    GetValidIdResponse({this.data});
    GetValidIdResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        data = JsonConverters.fromJson(json['data'],'GetValidIdData',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'data': JsonConverters.toJson(data,'GetValidIdData',context!)
    };

    getTypeName() => "GetValidIdResponse";
    TypeContext? context = _ctx;
}

class GetValidIdRequest implements IConvertible
{
    /**
    * If the search should be saved against a single Sub User account, specify their username here
    */
    // @ApiMember(Description="If the search should be saved against a single Sub User account, specify their username here")
    String? subUserName;

    int? id;

    GetValidIdRequest({this.subUserName,this.id});
    GetValidIdRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        subUserName = json['subUserName'];
        id = json['id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'subUserName': subUserName,
        'id': id
    };

    getTypeName() => "GetValidIdRequest";
    TypeContext? context = _ctx;
}

// @DataContract
class GetValidId extends BaseRequest implements IConvertible
{
    // @DataMember
    GetValidIdRequest? request;

    GetValidId({this.request});
    GetValidId.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        request = JsonConverters.fromJson(json['request'],'GetValidIdRequest',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'request': JsonConverters.toJson(request,'GetValidIdRequest',context!)
    });

    getTypeName() => "GetValidId";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.sanctionssearch.com', types: <String, TypeInfo> {
    'Authentication': TypeInfo(TypeOf.Class, create:() => Authentication()),
    'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
    'ArrayOfResponseError': TypeInfo(TypeOf.Class, create:() => ArrayOfResponseError()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'LinkedTo': TypeInfo(TypeOf.Class, create:() => LinkedTo()),
    'ArrayOfLinkedTo': TypeInfo(TypeOf.Class, create:() => ArrayOfLinkedTo()),
    'ValidIdBasicRequest': TypeInfo(TypeOf.Class, create:() => ValidIdBasicRequest()),
    'ValidIdPassportRequest': TypeInfo(TypeOf.Class, create:() => ValidIdPassportRequest()),
    'ValidIdDrivingRequest': TypeInfo(TypeOf.Class, create:() => ValidIdDrivingRequest()),
    'ValidIdBirthRequest': TypeInfo(TypeOf.Class, create:() => ValidIdBirthRequest()),
    'ValidIdNIRequest': TypeInfo(TypeOf.Class, create:() => ValidIdNIRequest()),
    'ValidIdNHSRequest': TypeInfo(TypeOf.Class, create:() => ValidIdNHSRequest()),
    'ValidIdElectricityRequest': TypeInfo(TypeOf.Class, create:() => ValidIdElectricityRequest()),
    'ValidIdBankRequest': TypeInfo(TypeOf.Class, create:() => ValidIdBankRequest()),
    'ValidIdCardNumberRequest': TypeInfo(TypeOf.Class, create:() => ValidIdCardNumberRequest()),
    'ValidIdTravelVisaRequest': TypeInfo(TypeOf.Class, create:() => ValidIdTravelVisaRequest()),
    'ValidIdIdCardRequest': TypeInfo(TypeOf.Class, create:() => ValidIdIdCardRequest()),
    'ValidIdPollNumberRequest': TypeInfo(TypeOf.Class, create:() => ValidIdPollNumberRequest()),
    'ValidIdMarriageRequest': TypeInfo(TypeOf.Class, create:() => ValidIdMarriageRequest()),
    'ValidIdResultSummary': TypeInfo(TypeOf.Class, create:() => ValidIdResultSummary()),
    'ValidIdResultErrors': TypeInfo(TypeOf.Class, create:() => ValidIdResultErrors()),
    'ValidIdDrivingResult': TypeInfo(TypeOf.Class, create:() => ValidIdDrivingResult()),
    'ValidIdDOBResult': TypeInfo(TypeOf.Class, create:() => ValidIdDOBResult()),
    'ValidIdNHSResult': TypeInfo(TypeOf.Class, create:() => ValidIdNHSResult()),
    'ValidIdNIResult': TypeInfo(TypeOf.Class, create:() => ValidIdNIResult()),
    'ValidIdPassportResult': TypeInfo(TypeOf.Class, create:() => ValidIdPassportResult()),
    'ValidIdPassportChipResult': TypeInfo(TypeOf.Class, create:() => ValidIdPassportChipResult()),
    'ValidIdBirthResult': TypeInfo(TypeOf.Class, create:() => ValidIdBirthResult()),
    'ValidIdElectricityResult': TypeInfo(TypeOf.Class, create:() => ValidIdElectricityResult()),
    'ValidIdBankResult': TypeInfo(TypeOf.Class, create:() => ValidIdBankResult()),
    'ValidIdCardNumberResult': TypeInfo(TypeOf.Class, create:() => ValidIdCardNumberResult()),
    'ValidIdCreditActiveResult': TypeInfo(TypeOf.Class, create:() => ValidIdCreditActiveResult()),
    'ValidIdAddressOccupantsResult': TypeInfo(TypeOf.Class, create:() => ValidIdAddressOccupantsResult()),
    'ValidIdAddressSaleResult': TypeInfo(TypeOf.Class, create:() => ValidIdAddressSaleResult()),
    'ValidIdAddressResult': TypeInfo(TypeOf.Class, create:() => ValidIdAddressResult()),
    'List<ValidIdAddressOccupantsResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdAddressOccupantsResult>[]),
    'List<ValidIdAddressSaleResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdAddressSaleResult>[]),
    'ValidIdSmartlinkAddressResult': TypeInfo(TypeOf.Class, create:() => ValidIdSmartlinkAddressResult()),
    'ValidIdSmartlinkResult': TypeInfo(TypeOf.Class, create:() => ValidIdSmartlinkResult()),
    'List<ValidIdSmartlinkAddressResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdSmartlinkAddressResult>[]),
    'ValidIdDeathscreenDeathResult': TypeInfo(TypeOf.Class, create:() => ValidIdDeathscreenDeathResult()),
    'ValidIdDeathscreenResult': TypeInfo(TypeOf.Class, create:() => ValidIdDeathscreenResult()),
    'List<ValidIdDeathscreenDeathResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdDeathscreenDeathResult>[]),
    'ValidIdPEPPersonAddressResult': TypeInfo(TypeOf.Class, create:() => ValidIdPEPPersonAddressResult()),
    'ValidIdPEPPersonAliasResult': TypeInfo(TypeOf.Class, create:() => ValidIdPEPPersonAliasResult()),
    'ValidIdPEPPersonPositionResult': TypeInfo(TypeOf.Class, create:() => ValidIdPEPPersonPositionResult()),
    'ValidIdPEPPersonResult': TypeInfo(TypeOf.Class, create:() => ValidIdPEPPersonResult()),
    'List<ValidIdPEPPersonAddressResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdPEPPersonAddressResult>[]),
    'List<ValidIdPEPPersonAliasResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdPEPPersonAliasResult>[]),
    'List<ValidIdPEPPersonPositionResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdPEPPersonPositionResult>[]),
    'ValidIdPEPResult': TypeInfo(TypeOf.Class, create:() => ValidIdPEPResult()),
    'List<ValidIdPEPPersonResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdPEPPersonResult>[]),
    'ValidIdCCJCaseResult': TypeInfo(TypeOf.Class, create:() => ValidIdCCJCaseResult()),
    'ValidIdCCJResult': TypeInfo(TypeOf.Class, create:() => ValidIdCCJResult()),
    'List<ValidIdCCJCaseResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdCCJCaseResult>[]),
    'ValidIdInsolvencyCaseResult': TypeInfo(TypeOf.Class, create:() => ValidIdInsolvencyCaseResult()),
    'ValidIdInsolvencyResult': TypeInfo(TypeOf.Class, create:() => ValidIdInsolvencyResult()),
    'List<ValidIdInsolvencyCaseResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdInsolvencyCaseResult>[]),
    'ValidIdTravelVisaResult': TypeInfo(TypeOf.Class, create:() => ValidIdTravelVisaResult()),
    'ValidIdIdCardResult': TypeInfo(TypeOf.Class, create:() => ValidIdIdCardResult()),
    'ValidIdBankLiveResult': TypeInfo(TypeOf.Class, create:() => ValidIdBankLiveResult()),
    'ValidIdCompanyAppointmentResult': TypeInfo(TypeOf.Class, create:() => ValidIdCompanyAppointmentResult()),
    'ValidIdCompanyDirectorshipResult': TypeInfo(TypeOf.Class, create:() => ValidIdCompanyDirectorshipResult()),
    'List<ValidIdCompanyAppointmentResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdCompanyAppointmentResult>[]),
    'ValidIdCompanyDirectorResult': TypeInfo(TypeOf.Class, create:() => ValidIdCompanyDirectorResult()),
    'List<ValidIdCompanyDirectorshipResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdCompanyDirectorshipResult>[]),
    'ValidIdSearchActivityHistoryResult': TypeInfo(TypeOf.Class, create:() => ValidIdSearchActivityHistoryResult()),
    'ValidIdSearchActivityItemResult': TypeInfo(TypeOf.Class, create:() => ValidIdSearchActivityItemResult()),
    'List<ValidIdSearchActivityHistoryResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdSearchActivityHistoryResult>[]),
    'ValidIdSearchActivityResult': TypeInfo(TypeOf.Class, create:() => ValidIdSearchActivityResult()),
    'List<ValidIdSearchActivityItemResult>': TypeInfo(TypeOf.Class, create:() => <ValidIdSearchActivityItemResult>[]),
    'ValidIdPRSResult': TypeInfo(TypeOf.Class, create:() => ValidIdPRSResult()),
    'ValidIdPollNumberResult': TypeInfo(TypeOf.Class, create:() => ValidIdPollNumberResult()),
    'ValidIdOnlineProfileResult': TypeInfo(TypeOf.Class, create:() => ValidIdOnlineProfileResult()),
    'ValidIdMarriageResult': TypeInfo(TypeOf.Class, create:() => ValidIdMarriageResult()),
    'ValidIdAgeResult': TypeInfo(TypeOf.Class, create:() => ValidIdAgeResult()),
    'ValidIdResult': TypeInfo(TypeOf.Class, create:() => ValidIdResult()),
    'List<ValidIdResultErrors>': TypeInfo(TypeOf.Class, create:() => <ValidIdResultErrors>[]),
    'SearchCriteria': TypeInfo(TypeOf.Class, create:() => SearchCriteria()),
    'SearchResultEuAddress': TypeInfo(TypeOf.Class, create:() => SearchResultEuAddress()),
    'SearchResultEuBirth': TypeInfo(TypeOf.Class, create:() => SearchResultEuBirth()),
    'SearchResultOfacEuCitizenship': TypeInfo(TypeOf.Class, create:() => SearchResultOfacEuCitizenship()),
    'SearchResultEuName': TypeInfo(TypeOf.Class, create:() => SearchResultEuName()),
    'SearchResultEuPassport': TypeInfo(TypeOf.Class, create:() => SearchResultEuPassport()),
    'SearchResultEu': TypeInfo(TypeOf.Class, create:() => SearchResultEu()),
    'List<SearchResultEuAddress>': TypeInfo(TypeOf.Class, create:() => <SearchResultEuAddress>[]),
    'List<SearchResultEuBirth>': TypeInfo(TypeOf.Class, create:() => <SearchResultEuBirth>[]),
    'List<SearchResultOfacEuCitizenship>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfacEuCitizenship>[]),
    'List<SearchResultEuName>': TypeInfo(TypeOf.Class, create:() => <SearchResultEuName>[]),
    'List<SearchResultEuPassport>': TypeInfo(TypeOf.Class, create:() => <SearchResultEuPassport>[]),
    'SearchResultHmTreasury': TypeInfo(TypeOf.Class, create:() => SearchResultHmTreasury()),
    'SearchResultOfacAddress': TypeInfo(TypeOf.Class, create:() => SearchResultOfacAddress()),
    'SearchResultOfacAka': TypeInfo(TypeOf.Class, create:() => SearchResultOfacAka()),
    'SearchResultOfacDateOfBirth': TypeInfo(TypeOf.Class, create:() => SearchResultOfacDateOfBirth()),
    'SearchResultOfacNationality': TypeInfo(TypeOf.Class, create:() => SearchResultOfacNationality()),
    'SearchResultOfacPlaceOfBirth': TypeInfo(TypeOf.Class, create:() => SearchResultOfacPlaceOfBirth()),
    'SearchResultOfac': TypeInfo(TypeOf.Class, create:() => SearchResultOfac()),
    'List<SearchResultOfacAddress>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfacAddress>[]),
    'List<SearchResultOfacAka>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfacAka>[]),
    'List<SearchResultOfacDateOfBirth>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfacDateOfBirth>[]),
    'List<SearchResultOfacNationality>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfacNationality>[]),
    'List<SearchResultOfacPlaceOfBirth>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfacPlaceOfBirth>[]),
    'SearchResultDfat': TypeInfo(TypeOf.Class, create:() => SearchResultDfat()),
    'SearchResultOsfi': TypeInfo(TypeOf.Class, create:() => SearchResultOsfi()),
    'SearchResultCanadianJustice': TypeInfo(TypeOf.Class, create:() => SearchResultCanadianJustice()),
    'SearchResultCanadianSema': TypeInfo(TypeOf.Class, create:() => SearchResultCanadianSema()),
    'SearchResultAddress': TypeInfo(TypeOf.Class, create:() => SearchResultAddress()),
    'SearchResultDateOfBirth': TypeInfo(TypeOf.Class, create:() => SearchResultDateOfBirth()),
    'SearchResultName': TypeInfo(TypeOf.Class, create:() => SearchResultName()),
    'SearchResultNationality': TypeInfo(TypeOf.Class, create:() => SearchResultNationality()),
    'SearchResultPlaceOfBirth': TypeInfo(TypeOf.Class, create:() => SearchResultPlaceOfBirth()),
    'SearchResultRemark': TypeInfo(TypeOf.Class, create:() => SearchResultRemark()),
    'SearchResultEntry': TypeInfo(TypeOf.Class, create:() => SearchResultEntry()),
    'List<SearchResultAddress>': TypeInfo(TypeOf.Class, create:() => <SearchResultAddress>[]),
    'List<SearchResultDateOfBirth>': TypeInfo(TypeOf.Class, create:() => <SearchResultDateOfBirth>[]),
    'List<SearchResultName>': TypeInfo(TypeOf.Class, create:() => <SearchResultName>[]),
    'List<SearchResultNationality>': TypeInfo(TypeOf.Class, create:() => <SearchResultNationality>[]),
    'List<SearchResultPlaceOfBirth>': TypeInfo(TypeOf.Class, create:() => <SearchResultPlaceOfBirth>[]),
    'List<SearchResultRemark>': TypeInfo(TypeOf.Class, create:() => <SearchResultRemark>[]),
    'SearchResults': TypeInfo(TypeOf.Class, create:() => SearchResults()),
    'List<SearchResultEu>': TypeInfo(TypeOf.Class, create:() => <SearchResultEu>[]),
    'List<SearchResultHmTreasury>': TypeInfo(TypeOf.Class, create:() => <SearchResultHmTreasury>[]),
    'List<SearchResultOfac>': TypeInfo(TypeOf.Class, create:() => <SearchResultOfac>[]),
    'List<SearchResultDfat>': TypeInfo(TypeOf.Class, create:() => <SearchResultDfat>[]),
    'List<SearchResultOsfi>': TypeInfo(TypeOf.Class, create:() => <SearchResultOsfi>[]),
    'List<SearchResultCanadianJustice>': TypeInfo(TypeOf.Class, create:() => <SearchResultCanadianJustice>[]),
    'List<SearchResultCanadianSema>': TypeInfo(TypeOf.Class, create:() => <SearchResultCanadianSema>[]),
    'List<SearchResultEntry>': TypeInfo(TypeOf.Class, create:() => <SearchResultEntry>[]),
    'SearchSource': TypeInfo(TypeOf.Class, create:() => SearchSource()),
    'ArrayOfSearchResultEntries': TypeInfo(TypeOf.Class, create:() => ArrayOfSearchResultEntries()),
    'SearchRecord': TypeInfo(TypeOf.Class, create:() => SearchRecord()),
    'List<SearchSource>': TypeInfo(TypeOf.Class, create:() => <SearchSource>[]),
    'PepSearchResultAddress': TypeInfo(TypeOf.Class, create:() => PepSearchResultAddress()),
    'PepSearchResultAlias': TypeInfo(TypeOf.Class, create:() => PepSearchResultAlias()),
    'PepSearchResultArticleSnippet': TypeInfo(TypeOf.Class, create:() => PepSearchResultArticleSnippet()),
    'PepSearchResultArticle': TypeInfo(TypeOf.Class, create:() => PepSearchResultArticle()),
    'List<PepSearchResultArticleSnippet>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultArticleSnippet>[]),
    'PepSearchResultIndividualAssociation': TypeInfo(TypeOf.Class, create:() => PepSearchResultIndividualAssociation()),
    'PepSearchResultBusinessAssociation': TypeInfo(TypeOf.Class, create:() => PepSearchResultBusinessAssociation()),
    'PepSearchResultNote': TypeInfo(TypeOf.Class, create:() => PepSearchResultNote()),
    'PepSearchResultPoliticalPosition': TypeInfo(TypeOf.Class, create:() => PepSearchResultPoliticalPosition()),
    'PepSearchResult': TypeInfo(TypeOf.Class, create:() => PepSearchResult()),
    'List<PepSearchResultAddress>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultAddress>[]),
    'List<PepSearchResultAlias>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultAlias>[]),
    'List<PepSearchResultArticle>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultArticle>[]),
    'List<PepSearchResultIndividualAssociation>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultIndividualAssociation>[]),
    'List<PepSearchResultBusinessAssociation>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultBusinessAssociation>[]),
    'List<PepSearchResultNote>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultNote>[]),
    'List<PepSearchResultPoliticalPosition>': TypeInfo(TypeOf.Class, create:() => <PepSearchResultPoliticalPosition>[]),
    'PepSearchResults': TypeInfo(TypeOf.Class, create:() => PepSearchResults()),
    'List<PepSearchResult>': TypeInfo(TypeOf.Class, create:() => <PepSearchResult>[]),
    'PepSearchRecord': TypeInfo(TypeOf.Class, create:() => PepSearchRecord()),
    'ValidIdRecord': TypeInfo(TypeOf.Class, create:() => ValidIdRecord()),
    'GetValidIdData': TypeInfo(TypeOf.Class, create:() => GetValidIdData()),
    'GetValidIdResponse': TypeInfo(TypeOf.Class, create:() => GetValidIdResponse()),
    'GetValidIdRequest': TypeInfo(TypeOf.Class, create:() => GetValidIdRequest()),
    'GetValidId': TypeInfo(TypeOf.Class, create:() => GetValidId()),
});

Dart GetValidId DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /validid/get HTTP/1.1 
Host: api.sanctionssearch.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"request":{"subUserName":"String","id":0},"authentication":{"apiUserId":"String","apiUserKey":"String"}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"data":{"linkedTo":[{"clientId":0,"id":0,"type":"String","subtype":"String","status":"String","description":"String","isArchived":false,"name":"String","date":"\/Date(-62135596800000-0000)\/"}],"resolveSanctionsResults":false,"searchRecord":{"id":0,"sanctionsSearchId":0,"pepSearchId":0,"validIdPassportId":0,"validIdPassportChipId":0,"date":"\/Date(-62135596800000-0000)\/","searchListIds":"String","pepError":false,"replaced":false,"replacementSearchId":0,"hasError":false,"hasCompletedRequest":false,"hasCompletedSearch":false,"hasExtendedOptions":false,"type":0,"reference":"String","passportChipEnabled":false,"passportEnabled":false,"drivingEnabled":false,"birthEnabled":false,"smartlinkEnabled":false,"niEnabled":false,"nhsEnabled":false,"electricityEnabled":false,"bankEnabled":false,"creditActiveEnabled":false,"cardNumberEnabled":false,"travelVisaEnabled":false,"idCardEnabled":false,"bankLiveEnabled":false,"companyDirectorEnabled":false,"searchActivityEnabled":false,"prsEnabled":false,"onlineProfileEnabled":false,"pollNumberEnabled":false,"marriageEnabled":false,"ageEnabled":false,"basicRequest":{"name1":"String","name2":"String","name3":"String","dateOfBirth":"\/Date(-62135596800000-0000)\/","gender":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String"},"passportRequest":{"passport1":"String","passport2":"String","passport3":"String","passport4":"String","passport5":"String","passport6":"String","passport7":"String","passport8":"String","passportMrzLineOne1":"String","passportMrzLineOne2":"String","passportMrzLineOne3":"String"},"drivingRequest":{"driving1":"String","driving2":"String","driving3":"String","drivingPostcode":"String","drivingMailSort":"String"},"birthRequest":{"birthForeName":"String","birthMiddleName":"String","birthSurname":"String","birthMaidenName":"String","birthDistrict":"String","birthCertIssueNum":"String"},"niRequest":{"niNumber":"String"},"nhsRequest":{"nhsNumber":"String"},"electricityRequest":{"mpanNumber1":"String","mpanNumber2":"String","mpanNumber3":"String","mpanNumber4":"String"},"bankRequest":{"bankSortCode":"String","bankAccountNumber":"String"},"cardNumberRequest":{"cardNumber":"String","cardType":"String"},"travelVisaRequest":{"travelVisa1":"String","travelVisa2":"String","travelVisa3":"String","travelVisa4":"String","travelVisa5":"String","travelVisa6":"String","travelVisa7":"String","travelVisa8":"String","travelVisa9":"String"},"idCardRequest":{"idCard1":"String","idCard2":"String","idCard3":"String","idCard4":"String","idCard5":"String","idCard6":"String","idCard7":"String","idCard8":"String","idCard9":"String","idCard10":"String"},"pollNumberRequest":{"pollNumber":"String"},"marriageRequest":{"forename":"String","surname":"String","partnerForename":"String","partnerSurname":"String","date":"String","district":"String","certIssueNum":"String"},"result":{"summaryResult":{"summaryStatus":false,"summaryId":0,"summaryReference":"String","summarySmartscore":0,"summaryResultText":"String","noticeOfCorrection":"String"},"errors":[{"service":"String","details":"String"}],"drivingResult":{"drivingLicenseResultFlag":false,"drivingLicenseMailSortFlag":false,"drivingLicenseMiddleNameWarning":false,"drivingLicenceErrors":"String"},"dobResult":{"dobTracesmartCount":0,"dobExperianCount":0,"dobEquifaxCount":0,"dobEquifaxSpecified":false,"dobEquifaxStatus":"String"},"nhsResult":{"nhsResultFlag":false},"niResult":{"niResultFlag":false},"passportResult":{"passportMRZLine1Valid":false,"passportMRZValid":false,"passportDOBValid":false,"passportGenderValid":false,"passportExpiryValid":false,"passportNameValid":false,"passportErrors":"String"},"passportChipResult":{"contentAuthenticity":false,"chipAuthenticity":false,"chipDataToImageDataMatch":false,"chipPhotoToImagePhotoMatch":false,"passportChipMrzLineOne":"String","passportChipMrzLineTwo":"String","passportChipMrzLineOneValid":false,"passportChipMrzLineTwoValid":false,"passportChipDOBValid":false,"passportChipGenderValid":false,"passportChipExpiryValid":false,"passportChipNameValid":false,"passportChipErrors":"String"},"birthResult":{"birthResultFlag":"String","birthName":"String","birthMaidenName":"String","birthRegDate":"String","birthRegDistrict":"String"},"electricityResult":{"mpanResultFlag":false},"bankResult":{"bankAccountResultFlag":false,"bankAccountName":"String","bankAccountBranch":"String","bankAccountBACSPayments":false,"bankAccountCHAPSPayments":false,"bankAccountFasterPayments":false,"bankAccountDirectDebits":false},"cardNumberResult":{"cardNumberValid":false,"cardTypeValid":false,"cardTypeConfirm":"String","cardFraudCheck":"String"},"creditActiveResult":{"creditActiveAccounts":0,"creditActiveLenders":0,"creditActiveCIFAS":"String","creditActiveCAIS":0,"creditActiveInsightAccounts":0},"addressResult":{"addressForename":"String","addressMiddleName":"String","addressSurname":"String","addressMatchType":"String","addressDOB":"\/Date(-62135596800000-0000)\/","addressForenameAppended":false,"addressMiddleNameAppended":false,"addressDOBAppended":false,"addressTelephone":"String","addressTelephoneName":"String","addressGoneAway":"String","addressSource":"String","credivaFullER":false,"addressValidated":false,"addressRecency":"\/Date(-62135596800000-0000)\/","occupants":[{"name":"String","dob":"\/Date(-62135596800000-0000)\/","recency":"\/Date(-62135596800000-0000)\/","residency":"String","telephone":"String","telephoneName":"String","source":"String","residencyScore":"String"}],"sales":[{"type":"String","tenure":"String","date":"\/Date(-62135596800000-0000)\/","price":"String","silhouette":"String"}]},"smartlinkResult":{"addresses":[{"title":"String","forename":"String","middleName":"String","surname":"String","dob":"\/Date(-62135596800000-0000)\/","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String","deliveryPointSuffix":"String","recency":"\/Date(-62135596800000-0000)\/","residency":"String","linkSource":"String"}]},"deathscreenResult":{"deaths":[{"forename":"String","secondName":"String","thirdName":"String","fourthName":"String","surname":"String","district":"String","dob":"\/Date(-62135596800000-0000)\/","dod":"\/Date(-62135596800000-0000)\/","dor":"String","volumeNo":"String","distNo":"String","pageNo":"String","regNo":"String","entryNo":"String","placeOfBirth":"String","maidenName":"String","groReference":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String","matchType":"String"}]},"pepResult":{"pepPersons":[{"name":"String","recency":"\/Date(-62135596800000-0000)\/","dob":"String","addresses":[{"address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String","deliveryPointSuffix":"String"}],"aliases":[{"name":"String"}],"positions":[{"position":"String"}]}]},"ccjResult":{"ccJs":[{"name":"String","dob":"\/Date(-62135596800000-0000)\/","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String","judgementDate":"\/Date(-62135596800000-0000)\/","judgementType":"String","amount":"String","caseNo":"String","courtName":"String","dateEnd":"\/Date(-62135596800000-0000)\/"}]},"insolvencyResult":{"insolvencies":[{"type":"String","caseType":"String","name":"String","caseNo":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String","deliveryPointSuffix":"String","dob":"\/Date(-62135596800000-0000)\/","court":"String","startDate":"\/Date(-62135596800000-0000)\/","status":"String","occupation":"String","aliases":"String","description":"String","serviceOffice":"String","telephoneNumber":"String","tradingNames":"String","debtTotal":"String","assetTotal":"String","previousAddress1":"String","previousAddress2":"String","previousAddress3":"String","previousAddress4":"String","previousAddress5":"String","previousPostCode":"String","previousDeliveryPointSuffix":"String","presentationDate":"\/Date(-62135596800000-0000)\/"}]},"travelVisaResult":{"visaMRZValid":false,"visaInDate":false,"visaUKResidenceValid":false},"idCardResult":{"idCardMRZValid":false,"idCardDOBValid":false,"idCardGenderValid":false,"idCardExpiryValid":false,"idCardCountryValid":false},"bankLiveResult":{"bankLiveSortcode":"String","bankLiveNumber":"String","bankLiveName":"String","bankLiveAddress":"String","bankLiveStatus":"String","bankLiveError":"String"},"companyDirectorResult":{"directorships":[{"matchType":"String","dateAppointed":"\/Date(-62135596800000-0000)\/","companyRegNo":"String","companyName":"String","registeredOffice":"String","appointments":[{"title":"String","name":"String","address":"String","dob":"\/Date(-62135596800000-0000)\/","occupation":"String","nationality":"String","appointmentDate":"\/Date(-62135596800000-0000)\/","appointmentType":"String"}]}]},"searchActivityResult":{"activity":[{"profileType":"String","oneMonth":0,"threeMonth":0,"sixMonth":0,"history":[{"businesActivity":"String","date":"\/Date(-62135596800000-0000)\/"}]}]},"prsResult":{"matchResult":"String","propertyOwnership":"String","titleNumber":"String"},"pollNumberResult":{"pollNumberMatch":0},"onlineProfileResult":{"onlineProfileStatus":0,"onlineTwitterUsername":"String","onlineTwitterActivityMonth1":0,"onlineTwitterActivityMonth2":0,"onlineTwitterActivityMonth3":0,"onlineTwitterActivityMonth4":0,"onlineTwitterActivityMonth5":0,"onlineTwitterActivityMonth6":0,"onlineTwitterActivityMonth7":0,"onlineTwitterActivityMonth8":0,"onlineTwitterActivityMonth9":0,"onlineTwitterActivityMonth10":0,"onlineTwitterActivityMonth11":0,"onlineTwitterActivityMonth12":0},"marriageResult":{"marriageCertFlag":0,"marriageResultFlag":0},"ageResult":{"ageIsAboveLower":false,"ageIsBelowUpper":false}},"sanctionsResult":{"id":0,"searchType":"String","dateSearched":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","dateArchived":"\/Date(-62135596800000-0000)\/","isArchived":false,"numOfResults":0,"clientInResults":false,"clientNotInResults":false,"affectedByUpdate":false,"searchCriteria":{"name":"String","address":"String","country":"String","dateOfBirth":"String","nationality":"String","reference":"String"},"searchResults":{"euResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","addresses":[{"street":"String","city":"String","country":"String","postCode":"String","other":"String"}],"births":[{"date":"String","place":"String","country":"String"}],"citizenships":[{"country":"String"}],"names":[{"fullName":"String","gender":"String"}],"passports":[{"number":"String","country":"String"}]}],"hmtResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateListed":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","name1":"String","name2":"String","name3":"String","name4":"String","name5":"String","name6":"String","dateOfBirth":"String","countryOfBirth":"String","nationality":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","address6":"String","postCode":"String","country":"String"}],"hmtUkraineResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateListed":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","name1":"String","name2":"String","name3":"String","name4":"String","name5":"String","name6":"String","dateOfBirth":"String","countryOfBirth":"String","nationality":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","address6":"String","postCode":"String","country":"String"}],"ofacResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","firstName":"String","lastName":"String","addresses":[{"address1":"String","address2":"String","address3":"String","city":"String","state":"String","postCode":"String","country":"String"}],"akas":[{"firstName":"String","lastName":"String","type":"String","strength":"String"}],"dateOfBirths":[{"dateOfBirth":"String"}],"nationalities":[{"country":"String"}],"placeOfBirths":[{"placeOfBirth":"String"}]}],"ofacConsolidatedResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","firstName":"String","lastName":"String","addresses":[{"address1":"String","address2":"String","address3":"String","city":"String","state":"String","postCode":"String","country":"String"}],"akas":[{"firstName":"String","lastName":"String","type":"String","strength":"String"}],"dateOfBirths":[{"dateOfBirth":"String"}],"nationalities":[{"country":"String"}],"placeOfBirths":[{"placeOfBirth":"String"}]}],"dfatResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","fullName":"String","address":"String","dateOfBirth":"String","placeOfBirth":"String","nationality":"String"}],"osfiResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","fullName":"String","address":"String","dateOfBirth":"String","placeOfBirth":"String","nationality":"String"}],"canadianJusticeResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","name":"String","dateOfBirth":"String","country":"String","refId":0}],"canadianSemaResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","name":"String","dateOfBirth":"String","country":"String","schedule":"String","item":"String"}],"swissSecoResults":[{"searchResultId":0,"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","sanctionsListId":"String","sanctionsListName":"String","addresses":[{"searchResultAddressId":0,"type":"String","address1":"String","address2":"String","address3":"String","city":"String","county":"String","postCode":"String","country":"String"}],"datesOfBirth":[{"searchResultDateOfBirthId":0,"dateOfBirth":"String","year":0,"month":0,"day":0,"type":"String"}],"names":[{"searchResultNameId":0,"type":"String","title":"String","fullName":"String","resultSimilarity":0}],"nationalities":[{"searchResultNationalityId":0,"nationality":"String"}],"placesOfBirth":[{"searchResultPlaceOfBirthId":0,"placeOfBirth":"String","countryOfBirth":"String"}],"remarks":[{"searchResultRemarkId":0,"name":"String","description":"String"}]}]},"searchSources":[{"listId":"String","listName":"String","listShortName":"String","isAffectedByListUpdate":false}],"listSearchResults":[{"searchResultId":0,"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","sanctionsListId":"String","sanctionsListName":"String","addresses":[{"searchResultAddressId":0,"type":"String","address1":"String","address2":"String","address3":"String","city":"String","county":"String","postCode":"String","country":"String"}],"datesOfBirth":[{"searchResultDateOfBirthId":0,"dateOfBirth":"String","year":0,"month":0,"day":0,"type":"String"}],"names":[{"searchResultNameId":0,"type":"String","title":"String","fullName":"String","resultSimilarity":0}],"nationalities":[{"searchResultNationalityId":0,"nationality":"String"}],"placesOfBirth":[{"searchResultPlaceOfBirthId":0,"placeOfBirth":"String","countryOfBirth":"String"}],"remarks":[{"searchResultRemarkId":0,"name":"String","description":"String"}]}]},"pepSearchRecord":{"id":0,"searchType":"String","dateSearched":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","dateRenewal":"\/Date(-62135596800000-0000)\/","dateArchived":"\/Date(-62135596800000-0000)\/","isArchived":false,"numOfResults":0,"clientInResults":false,"clientNotInResults":false,"affectedByUpdate":false,"isDayOneSearch":false,"searchCriteria":{"name":"String","address":"String","country":"String","dateOfBirth":"String","nationality":"String","reference":"String"},"searchResults":{"results":[{"resultSimilarity":0,"resultResolved":false,"dateLastUpdated":"\/Date(-62135596800000-0000)\/","resultIsClient":false,"id":0,"type":"String","title":"String","forename":"String","middlename":"String","surname":"String","softDelete":false,"dateOfSoftDelete":"\/Date(-62135596800000-0000)\/","dateOfCapture":"\/Date(-62135596800000-0000)\/","dateOfBirth":"\/Date(-62135596800000-0000)\/","dateOfDeath":"\/Date(-62135596800000-0000)\/","yearOfBirth":0,"yearOfDeath":0,"gender":"String","homeTelephone":"String","businessTelephone":"String","mobileTelephone":"String","fax":"String","email":"String","nationality":"String","source":"String","category":"String","picture":"String","alternateTitle":"String","businessName":"String","description":"String","telephone":"String","website":"String","pepTier":0,"addresses":[{"addressLine1":"String","addressLine2":"String","addressLine3":"String","addressLine4":"String","town":"String","county":"String","postCode":"String","country":"String","isoCountry":"String","softDelete":false,"dateLastUpdated":"\/Date(-62135596800000-0000)\/"}],"aliases":[{"forename":"String","middleName":"String","surname":"String","softDelete":false,"dateOfSoftDelete":"\/Date(-62135596800000-0000)\/","dateLastUpdated":"\/Date(-62135596800000-0000)\/","title":"String","alternateTitle":"String","businessName":"String"}],"articles":[{"url":"String","originalUrl":"String","source":"String","dateOfCapture":"\/Date(-62135596800000-0000)\/","dateLastUpdated":"\/Date(-62135596800000-0000)\/","snippets":[{"title":"String","text":"String","adverseTerms":"String"}]}],"associations":[{"linkDescription":"String","softDelete":false,"dateLastUpdated":"\/Date(-62135596800000-0000)\/","fullName":"String"}],"businessAssociations":[{"linkDescription":"String","softDelete":false,"dateLastUpdated":"\/Date(-62135596800000-0000)\/","businessName":"String"}],"notes":[{"source":"String","notes":"String","softDelete":false,"dateLastUpdated":"\/Date(-62135596800000-0000)\/"}],"politicalPositions":[{"description":"String","from":"String","to":"String","country":"String","softDelete":false,"dateLastUpdated":"\/Date(-62135596800000-0000)\/"}]}]}}},"sanctionsSearchId":0,"pepSearchId":0,"validIdSearchId":0,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}