Sanctions Search API: v2

<back to all web services

AddSearch

Add a sanctions 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 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 AddSearchData extends BaseResponse implements IBaseSearchResponse, IConvertible
{
    ArrayOfLinkedTo? linkedTo;
    SearchRecord? searchRecord;
    bool? includesPepSearchRecord;
    PepSearchRecord? pepSearchRecord;

    AddSearchData({this.linkedTo,this.searchRecord,this.includesPepSearchRecord,this.pepSearchRecord});
    AddSearchData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        linkedTo = JsonConverters.fromJson(json['linkedTo'],'ArrayOfLinkedTo',context!);
        searchRecord = JsonConverters.fromJson(json['searchRecord'],'SearchRecord',context!);
        includesPepSearchRecord = json['includesPepSearchRecord'];
        pepSearchRecord = JsonConverters.fromJson(json['pepSearchRecord'],'PepSearchRecord',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'linkedTo': JsonConverters.toJson(linkedTo,'ArrayOfLinkedTo',context!),
        'searchRecord': JsonConverters.toJson(searchRecord,'SearchRecord',context!),
        'includesPepSearchRecord': includesPepSearchRecord,
        'pepSearchRecord': JsonConverters.toJson(pepSearchRecord,'PepSearchRecord',context!)
    });

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

// @DataContract
class AddSearchResponse implements IConvertible
{
    // @DataMember
    AddSearchData? data;

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

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

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

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

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

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

class AddSearchRequest implements IAddSearchRequest, 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;

    String? type;
    String? name;
    String? country;
    String? address;
    String? dateOfBirth;
    String? nationality;
    String? reference;
    bool? excludeResults;
    ArrayOfLists? selectedLists;
    bool? performPepSearch;
    bool? dayOneSearch;
    /**
    * If the search should be linked to other searches, specify the them here
    */
    // @ApiMember(Description="If the search should be linked to other searches, specify the them here")
    ArrayOfLinkedTo? linkedTo;

    AddSearchRequest({this.subUserName,this.type,this.name,this.country,this.address,this.dateOfBirth,this.nationality,this.reference,this.excludeResults,this.selectedLists,this.performPepSearch,this.dayOneSearch,this.linkedTo});
    AddSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        subUserName = json['subUserName'];
        type = json['type'];
        name = json['name'];
        country = json['country'];
        address = json['address'];
        dateOfBirth = json['dateOfBirth'];
        nationality = json['nationality'];
        reference = json['reference'];
        excludeResults = json['excludeResults'];
        selectedLists = JsonConverters.fromJson(json['selectedLists'],'ArrayOfLists',context!);
        performPepSearch = json['performPepSearch'];
        dayOneSearch = json['dayOneSearch'];
        linkedTo = JsonConverters.fromJson(json['linkedTo'],'ArrayOfLinkedTo',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'subUserName': subUserName,
        'type': type,
        'name': name,
        'country': country,
        'address': address,
        'dateOfBirth': dateOfBirth,
        'nationality': nationality,
        'reference': reference,
        'excludeResults': excludeResults,
        'selectedLists': JsonConverters.toJson(selectedLists,'ArrayOfLists',context!),
        'performPepSearch': performPepSearch,
        'dayOneSearch': dayOneSearch,
        'linkedTo': JsonConverters.toJson(linkedTo,'ArrayOfLinkedTo',context!)
    };

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

// @DataContract
class AddSearch extends BaseRequest implements IConvertible
{
    // @DataMember
    AddSearchRequest? request;

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

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

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

    getTypeName() => "AddSearch";
    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()),
    '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()),
    'AddSearchData': TypeInfo(TypeOf.Class, create:() => AddSearchData()),
    'AddSearchResponse': TypeInfo(TypeOf.Class, create:() => AddSearchResponse()),
    'ArrayOfLists': TypeInfo(TypeOf.Class, create:() => ArrayOfLists()),
    'AddSearchRequest': TypeInfo(TypeOf.Class, create:() => AddSearchRequest()),
    'AddSearch': TypeInfo(TypeOf.Class, create:() => AddSearch()),
});

Dart AddSearch DTOs

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

HTTP + SOAP11

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

POST /soap11 HTTP/1.1 
Host: api.sanctionssearch.com 
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: AddSearch

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>

<AddSearch xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Authentication>
    <ApiUserId>String</ApiUserId>
    <ApiUserKey>String</ApiUserKey>
  </Authentication>
  <Request>
    <Address>String</Address>
    <Country>String</Country>
    <DateOfBirth>String</DateOfBirth>
    <DayOneSearch>false</DayOneSearch>
    <ExcludeResults>false</ExcludeResults>
    <LinkedTo>
      <LinkedTo>
        <ClientId>0</ClientId>
        <Date>0001-01-01T00:00:00</Date>
        <Description>String</Description>
        <Id>0</Id>
        <IsArchived>false</IsArchived>
        <Name>String</Name>
        <Status>String</Status>
        <Subtype>String</Subtype>
        <Type>String</Type>
      </LinkedTo>
    </LinkedTo>
    <Name>String</Name>
    <Nationality>String</Nationality>
    <PerformPepSearch>false</PerformPepSearch>
    <Reference>String</Reference>
    <SelectedLists>
      <ListId>String</ListId>
    </SelectedLists>
    <SubUserName>String</SubUserName>
    <Type>String</Type>
  </Request>
</AddSearch>

</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>

<AddSearchResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Data>
    <ResponseStatus>
      <ErrorCode>String</ErrorCode>
      <Message>String</Message>
      <StackTrace>String</StackTrace>
      <Errors>
        <ResponseError>
          <ErrorCode>String</ErrorCode>
          <FieldName>String</FieldName>
          <Message>String</Message>
          <Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </Meta>
        </ResponseError>
      </Errors>
      <Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Meta>
    </ResponseStatus>
    <IncludesPepSearchRecord>false</IncludesPepSearchRecord>
    <LinkedTo>
      <LinkedTo>
        <ClientId>0</ClientId>
        <Date>0001-01-01T00:00:00</Date>
        <Description>String</Description>
        <Id>0</Id>
        <IsArchived>false</IsArchived>
        <Name>String</Name>
        <Status>String</Status>
        <Subtype>String</Subtype>
        <Type>String</Type>
      </LinkedTo>
    </LinkedTo>
    <PepSearchRecord>
      <AffectedByUpdate>false</AffectedByUpdate>
      <ClientInResults>false</ClientInResults>
      <ClientNotInResults>false</ClientNotInResults>
      <DateArchived>0001-01-01T00:00:00</DateArchived>
      <DateRenewal>0001-01-01T00:00:00</DateRenewal>
      <DateSearched>0001-01-01T00:00:00</DateSearched>
      <DateUpdated>0001-01-01T00:00:00</DateUpdated>
      <Id>0</Id>
      <IsArchived>false</IsArchived>
      <IsDayOneSearch>false</IsDayOneSearch>
      <NumOfResults>0</NumOfResults>
      <SearchCriteria>
        <Address>String</Address>
        <Country>String</Country>
        <DateOfBirth>String</DateOfBirth>
        <Name>String</Name>
        <Nationality>String</Nationality>
        <Reference>String</Reference>
      </SearchCriteria>
      <SearchResults>
        <Results>
          <PepSearchResult>
            <Addresses>
              <PepSearchResultAddress>
                <AddressLine1>String</AddressLine1>
                <AddressLine2>String</AddressLine2>
                <AddressLine3>String</AddressLine3>
                <AddressLine4>String</AddressLine4>
                <Country>String</Country>
                <County>String</County>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <ISOCountry>String</ISOCountry>
                <PostCode>String</PostCode>
                <SoftDelete>false</SoftDelete>
                <Town>String</Town>
              </PepSearchResultAddress>
            </Addresses>
            <Aliases>
              <PepSearchResultAlias>
                <AlternateTitle>String</AlternateTitle>
                <BusinessName>String</BusinessName>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <DateOfSoftDelete>0001-01-01T00:00:00</DateOfSoftDelete>
                <Forename>String</Forename>
                <MiddleName>String</MiddleName>
                <SoftDelete>false</SoftDelete>
                <Surname>String</Surname>
                <Title>String</Title>
              </PepSearchResultAlias>
            </Aliases>
            <AlternateTitle>String</AlternateTitle>
            <Articles>
              <PepSearchResultArticle>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <DateOfCapture>0001-01-01T00:00:00</DateOfCapture>
                <OriginalUrl>String</OriginalUrl>
                <Snippets>
                  <PepSearchResultArticleSnippet>
                    <AdverseTerms>String</AdverseTerms>
                    <Text>String</Text>
                    <Title>String</Title>
                  </PepSearchResultArticleSnippet>
                </Snippets>
                <Source>String</Source>
                <Url>String</Url>
              </PepSearchResultArticle>
            </Articles>
            <Associations>
              <PepSearchResultIndividualAssociation>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <FullName>String</FullName>
                <LinkDescription>String</LinkDescription>
                <SoftDelete>false</SoftDelete>
              </PepSearchResultIndividualAssociation>
            </Associations>
            <BusinessAssociations>
              <PepSearchResultBusinessAssociation>
                <BusinessName>String</BusinessName>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <LinkDescription>String</LinkDescription>
                <SoftDelete>false</SoftDelete>
              </PepSearchResultBusinessAssociation>
            </BusinessAssociations>
            <BusinessName>String</BusinessName>
            <BusinessTelephone>String</BusinessTelephone>
            <Category>String</Category>
            <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
            <DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
            <DateOfCapture>0001-01-01T00:00:00</DateOfCapture>
            <DateOfDeath>0001-01-01T00:00:00</DateOfDeath>
            <DateOfSoftDelete>0001-01-01T00:00:00</DateOfSoftDelete>
            <Description>String</Description>
            <Email>String</Email>
            <Fax>String</Fax>
            <Forename>String</Forename>
            <Gender>String</Gender>
            <HomeTelephone>String</HomeTelephone>
            <Id>0</Id>
            <Middlename>String</Middlename>
            <MobileTelephone>String</MobileTelephone>
            <Nationality>String</Nationality>
            <Notes>
              <PepSearchResultNote>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <Notes>String</Notes>
                <SoftDelete>false</SoftDelete>
                <Source>String</Source>
              </PepSearchResultNote>
            </Notes>
            <PepTier>0</PepTier>
            <Picture>String</Picture>
            <PoliticalPositions>
              <PepSearchResultPoliticalPosition>
                <Country>String</Country>
                <DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
                <Description>String</Description>
                <From>String</From>
                <SoftDelete>false</SoftDelete>
                <To>String</To>
              </PepSearchResultPoliticalPosition>
            </PoliticalPositions>
            <ResultIsClient>false</ResultIsClient>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <SoftDelete>false</SoftDelete>
            <Source>String</Source>
            <Surname>String</Surname>
            <Telephone>String</Telephone>
            <Title>String</Title>
            <Type>String</Type>
            <Website>String</Website>
            <YearOfBirth>0</YearOfBirth>
            <YearOfDeath>0</YearOfDeath>
          </PepSearchResult>
        </Results>
      </SearchResults>
      <SearchType>String</SearchType>
    </PepSearchRecord>
    <SearchRecord>
      <AffectedByUpdate>false</AffectedByUpdate>
      <ClientInResults>false</ClientInResults>
      <ClientNotInResults>false</ClientNotInResults>
      <DateArchived>0001-01-01T00:00:00</DateArchived>
      <DateSearched>0001-01-01T00:00:00</DateSearched>
      <DateUpdated>0001-01-01T00:00:00</DateUpdated>
      <Id>0</Id>
      <IsArchived>false</IsArchived>
      <ListSearchResults>
        <SearchResultEntry>
          <Addresses>
            <SearchResultAddress>
              <Address1>String</Address1>
              <Address2>String</Address2>
              <Address3>String</Address3>
              <City>String</City>
              <Country>String</Country>
              <County>String</County>
              <PostCode>String</PostCode>
              <SearchResultAddressId>0</SearchResultAddressId>
              <Type>String</Type>
            </SearchResultAddress>
          </Addresses>
          <DateUpdated>0001-01-01T00:00:00</DateUpdated>
          <DatesOfBirth>
            <SearchResultDateOfBirth>
              <DateOfBirth>String</DateOfBirth>
              <Day>0</Day>
              <Month>0</Month>
              <SearchResultDateOfBirthId>0</SearchResultDateOfBirthId>
              <Type>String</Type>
              <Year>0</Year>
            </SearchResultDateOfBirth>
          </DatesOfBirth>
          <Names>
            <SearchResultName>
              <FullName>String</FullName>
              <ResultSimilarity>0</ResultSimilarity>
              <SearchResultNameId>0</SearchResultNameId>
              <Title>String</Title>
              <Type>String</Type>
            </SearchResultName>
          </Names>
          <Nationalities>
            <SearchResultNationality>
              <Nationality>String</Nationality>
              <SearchResultNationalityId>0</SearchResultNationalityId>
            </SearchResultNationality>
          </Nationalities>
          <PlacesOfBirth>
            <SearchResultPlaceOfBirth>
              <CountryOfBirth>String</CountryOfBirth>
              <PlaceOfBirth>String</PlaceOfBirth>
              <SearchResultPlaceOfBirthId>0</SearchResultPlaceOfBirthId>
            </SearchResultPlaceOfBirth>
          </PlacesOfBirth>
          <Remarks>
            <SearchResultRemark>
              <Description>String</Description>
              <Name>String</Name>
              <SearchResultRemarkId>0</SearchResultRemarkId>
            </SearchResultRemark>
          </Remarks>
          <ResultResolved>false</ResultResolved>
          <ResultSimilarity>0</ResultSimilarity>
          <ResultStrength>0</ResultStrength>
          <ResultType>String</ResultType>
          <SanctionsListId>String</SanctionsListId>
          <SanctionsListName>String</SanctionsListName>
          <SearchResultId>0</SearchResultId>
        </SearchResultEntry>
      </ListSearchResults>
      <NumOfResults>0</NumOfResults>
      <SearchCriteria>
        <Address>String</Address>
        <Country>String</Country>
        <DateOfBirth>String</DateOfBirth>
        <Name>String</Name>
        <Nationality>String</Nationality>
        <Reference>String</Reference>
      </SearchCriteria>
      <SearchResults>
        <CanadianJusticeResults>
          <SearchResultCanadianJustice>
            <Country>String</Country>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <Name>String</Name>
            <RefId>0</RefId>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultCanadianJustice>
        </CanadianJusticeResults>
        <CanadianSemaResults>
          <SearchResultCanadianSema>
            <Country>String</Country>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <Item>String</Item>
            <Name>String</Name>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
            <Schedule>String</Schedule>
          </SearchResultCanadianSema>
        </CanadianSemaResults>
        <DfatResults>
          <SearchResultDfat>
            <Address>String</Address>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <FullName>String</FullName>
            <Nationality>String</Nationality>
            <PlaceOfBirth>String</PlaceOfBirth>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultDfat>
        </DfatResults>
        <EuResults>
          <SearchResultEu>
            <Addresses>
              <SearchResultEuAddress>
                <City>String</City>
                <Country>String</Country>
                <Other>String</Other>
                <PostCode>String</PostCode>
                <Street>String</Street>
              </SearchResultEuAddress>
            </Addresses>
            <Births>
              <SearchResultEuBirth>
                <Country>String</Country>
                <Date>String</Date>
                <Place>String</Place>
              </SearchResultEuBirth>
            </Births>
            <Citizenships>
              <SearchResultOfacEuCitizenship>
                <Country>String</Country>
              </SearchResultOfacEuCitizenship>
            </Citizenships>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <Names>
              <SearchResultEuName>
                <FullName>String</FullName>
                <Gender>String</Gender>
              </SearchResultEuName>
            </Names>
            <Passports>
              <SearchResultEuPassport>
                <Country>String</Country>
                <Number>String</Number>
              </SearchResultEuPassport>
            </Passports>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultEu>
        </EuResults>
        <HMTResults>
          <SearchResultHmTreasury>
            <Address1>String</Address1>
            <Address2>String</Address2>
            <Address3>String</Address3>
            <Address4>String</Address4>
            <Address5>String</Address5>
            <Address6>String</Address6>
            <Country>String</Country>
            <CountryOfBirth>String</CountryOfBirth>
            <DateListed>0001-01-01T00:00:00</DateListed>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <Name1>String</Name1>
            <Name2>String</Name2>
            <Name3>String</Name3>
            <Name4>String</Name4>
            <Name5>String</Name5>
            <Name6>String</Name6>
            <Nationality>String</Nationality>
            <PostCode>String</PostCode>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultHmTreasury>
        </HMTResults>
        <HMTUkraineResults>
          <SearchResultHmTreasury>
            <Address1>String</Address1>
            <Address2>String</Address2>
            <Address3>String</Address3>
            <Address4>String</Address4>
            <Address5>String</Address5>
            <Address6>String</Address6>
            <Country>String</Country>
            <CountryOfBirth>String</CountryOfBirth>
            <DateListed>0001-01-01T00:00:00</DateListed>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <Name1>String</Name1>
            <Name2>String</Name2>
            <Name3>String</Name3>
            <Name4>String</Name4>
            <Name5>String</Name5>
            <Name6>String</Name6>
            <Nationality>String</Nationality>
            <PostCode>String</PostCode>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultHmTreasury>
        </HMTUkraineResults>
        <OfacConsolidatedResults>
          <SearchResultOfac>
            <Addresses>
              <SearchResultOfacAddress>
                <Address1>String</Address1>
                <Address2>String</Address2>
                <Address3>String</Address3>
                <City>String</City>
                <Country>String</Country>
                <PostCode>String</PostCode>
                <State>String</State>
              </SearchResultOfacAddress>
            </Addresses>
            <Akas>
              <SearchResultOfacAka>
                <FirstName>String</FirstName>
                <LastName>String</LastName>
                <Strength>String</Strength>
                <Type>String</Type>
              </SearchResultOfacAka>
            </Akas>
            <DateOfBirths>
              <SearchResultOfacDateOfBirth>
                <DateOfBirth>String</DateOfBirth>
              </SearchResultOfacDateOfBirth>
            </DateOfBirths>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <FirstName>String</FirstName>
            <LastName>String</LastName>
            <Nationalities>
              <SearchResultOfacNationality>
                <Country>String</Country>
              </SearchResultOfacNationality>
            </Nationalities>
            <PlaceOfBirths>
              <SearchResultOfacPlaceOfBirth>
                <PlaceOfBirth>String</PlaceOfBirth>
              </SearchResultOfacPlaceOfBirth>
            </PlaceOfBirths>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultOfac>
        </OfacConsolidatedResults>
        <OfacResults>
          <SearchResultOfac>
            <Addresses>
              <SearchResultOfacAddress>
                <Address1>String</Address1>
                <Address2>String</Address2>
                <Address3>String</Address3>
                <City>String</City>
                <Country>String</Country>
                <PostCode>String</PostCode>
                <State>String</State>
              </SearchResultOfacAddress>
            </Addresses>
            <Akas>
              <SearchResultOfacAka>
                <FirstName>String</FirstName>
                <LastName>String</LastName>
                <Strength>String</Strength>
                <Type>String</Type>
              </SearchResultOfacAka>
            </Akas>
            <DateOfBirths>
              <SearchResultOfacDateOfBirth>
                <DateOfBirth>String</DateOfBirth>
              </SearchResultOfacDateOfBirth>
            </DateOfBirths>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <FirstName>String</FirstName>
            <LastName>String</LastName>
            <Nationalities>
              <SearchResultOfacNationality>
                <Country>String</Country>
              </SearchResultOfacNationality>
            </Nationalities>
            <PlaceOfBirths>
              <SearchResultOfacPlaceOfBirth>
                <PlaceOfBirth>String</PlaceOfBirth>
              </SearchResultOfacPlaceOfBirth>
            </PlaceOfBirths>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultOfac>
        </OfacResults>
        <OsfiResults>
          <SearchResultOsfi>
            <Address>String</Address>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <FullName>String</FullName>
            <Nationality>String</Nationality>
            <PlaceOfBirth>String</PlaceOfBirth>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultOsfi>
        </OsfiResults>
        <SwissSecoResults>
          <SearchResultEntry>
            <Addresses>
              <SearchResultAddress>
                <Address1>String</Address1>
                <Address2>String</Address2>
                <Address3>String</Address3>
                <City>String</City>
                <Country>String</Country>
                <County>String</County>
                <PostCode>String</PostCode>
                <SearchResultAddressId>0</SearchResultAddressId>
                <Type>String</Type>
              </SearchResultAddress>
            </Addresses>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <DatesOfBirth>
              <SearchResultDateOfBirth>
                <DateOfBirth>String</DateOfBirth>
                <Day>0</Day>
                <Month>0</Month>
                <SearchResultDateOfBirthId>0</SearchResultDateOfBirthId>
                <Type>String</Type>
                <Year>0</Year>
              </SearchResultDateOfBirth>
            </DatesOfBirth>
            <Names>
              <SearchResultName>
                <FullName>String</FullName>
                <ResultSimilarity>0</ResultSimilarity>
                <SearchResultNameId>0</SearchResultNameId>
                <Title>String</Title>
                <Type>String</Type>
              </SearchResultName>
            </Names>
            <Nationalities>
              <SearchResultNationality>
                <Nationality>String</Nationality>
                <SearchResultNationalityId>0</SearchResultNationalityId>
              </SearchResultNationality>
            </Nationalities>
            <PlacesOfBirth>
              <SearchResultPlaceOfBirth>
                <CountryOfBirth>String</CountryOfBirth>
                <PlaceOfBirth>String</PlaceOfBirth>
                <SearchResultPlaceOfBirthId>0</SearchResultPlaceOfBirthId>
              </SearchResultPlaceOfBirth>
            </PlacesOfBirth>
            <Remarks>
              <SearchResultRemark>
                <Description>String</Description>
                <Name>String</Name>
                <SearchResultRemarkId>0</SearchResultRemarkId>
              </SearchResultRemark>
            </Remarks>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
            <SanctionsListId>String</SanctionsListId>
            <SanctionsListName>String</SanctionsListName>
            <SearchResultId>0</SearchResultId>
          </SearchResultEntry>
        </SwissSecoResults>
      </SearchResults>
      <SearchSources>
        <SearchSource>
          <IsAffectedByListUpdate>false</IsAffectedByListUpdate>
          <ListId>String</ListId>
          <ListName>String</ListName>
          <ListShortName>String</ListShortName>
        </SearchSource>
      </SearchSources>
      <SearchType>String</SearchType>
    </SearchRecord>
  </Data>
</AddSearchResponse>

</soap:Body>
</soap:Envelope>