Tax Filing Service

<back to all web services

HolePortalZertifikatEigenschaften

SyncHoleZertifikat

A synchronous service to get the properties of a specified portal certificate.

Requires Authentication
The following routes are available for this service:
POST/HolePortalZertifikatEigenschaftenA synchronous service to get the properties of a specified portal certificate.
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

/**
* Represents a base class for a file with raw data.
*/
// @Api(Description="Represents a base class for a file with raw data.")
abstract class FileBase
{
    /**
    * The raw data content of the file in bytes.
    */
    // @ApiMember(Description="The raw data content of the file in bytes.", Name="Content")
    Uint8List? content;

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

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

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

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

/**
* Represents a portal certificate that is protected by a password.
*/
// @Api(Description="Represents a portal certificate that is protected by a password.")
class PortalCertificate extends FileBase implements ISecuredCertificate, IConvertible
{
    /**
    * The file name of the certificate.
    */
    // @ApiMember(Description="The file name of the certificate.")
    // @StringLength(128)
    String? name;

    /**
    * The password to protect the certificate from unauthorized access.
    */
    // @StringLength(255)
    // @ApiMember(Description="The password to protect the certificate from unauthorized access.")
    String? pin;

    /**
    * The description of the certificate.
    */
    // @StringLength(2147483647)
    // @ApiMember(Description="The description of the certificate.")
    String? description;

    /**
    * Tags that can be used to label or identify the certificate.
    */
    // @ApiMember(Description="Tags that can be used to label or identify the certificate.")
    List<String>? tags = [];

    PortalCertificate({this.name,this.pin,this.description,this.tags});
    PortalCertificate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        name = json['name'];
        pin = json['pin'];
        description = json['description'];
        tags = JsonConverters.fromJson(json['tags'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'name': name,
        'pin': pin,
        'description': description,
        'tags': JsonConverters.toJson(tags,'List<String>',context!)
    });

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

/**
* A base service to get the properties of a specified portal certificate.
*/
// @Api(Description="A base service to get the properties of a specified portal certificate.")
abstract class HolePortalZertifikatEigenschaftenBase implements IPost
{
    /**
    * The portal certificate.
    */
    // @ApiMember(Description="The portal certificate.", Name="Zertifikat")
    PortalCertificate? zertifikat;

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

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

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

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

/**
* Specifies a service response from an ERiC service operation.
*/
// @Api(Description="Specifies a service response from an ERiC service operation.")
abstract class ServiceReponseBase implements IHasIndex
{
    /**
    * The unique identifier of the response.
    */
    // @ApiMember(Description="The unique identifier of the response.")
    String? id;

    /**
    * The position of the response element in an indexed collection.
    */
    // @ApiMember(Description="The position of the response element in an indexed collection.")
    int? index;

    /**
    * Metadata that contains structured error information on the service response.
    */
    // @ApiMember(Description="Metadata that contains structured error information on the service response.")
    ResponseStatus? responseStatus;

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

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

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

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

/**
* Enumeration of ERiC API error codes.
*/
enum EricFehlerCode
{
    ERIC_OK,
    ERIC_GLOBAL_UNKNOWN,
    ERIC_GLOBAL_PRUEF_FEHLER,
    ERIC_GLOBAL_HINWEISE,
    ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN,
    ERIC_GLOBAL_KEINE_DATEN_VORHANDEN,
    ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER,
    ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN,
    ERIC_GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT,
    ERIC_GLOBAL_ILLEGAL_STATE,
    ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT,
    ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT,
    ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION,
    ERIC_GLOBAL_TESTMERKER_UNGUELTIG,
    ERIC_GLOBAL_DATENSATZ_ZU_GROSS,
    ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT,
    ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT,
    ERIC_GLOBAL_ERROR_XML_CREATE,
    ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX,
    ERIC_GLOBAL_INTERNER_FEHLER,
    ERIC_GLOBAL_ARITHMETIKFEHLER,
    ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG,
    ERIC_GLOBAL_STEUERNUMMER_FALSCHE_LAENGE,
    ERIC_GLOBAL_STEUERNUMMER_NICHT_NUMERISCH,
    ERIC_GLOBAL_LANDESNUMMER_UNBEKANNT,
    ERIC_GLOBAL_BUFANR_UNBEKANNT,
    ERIC_GLOBAL_LANDESNUMMER_BUFANR,
    ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT,
    ERIC_GLOBAL_PUFFER_UEBERLAUF,
    ERIC_GLOBAL_DATENARTVERSION_UNBEKANNT,
    ERIC_GLOBAL_DATENARTVERSION_XML_INKONSISTENT,
    ERIC_GLOBAL_COMMONDATA_NICHT_VERFUEGBAR,
    ERIC_GLOBAL_LOG_EXCEPTION,
    ERIC_GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT,
    ERIC_GLOBAL_OEFFENTLICHER_SCHLUESSEL_UNGUELTIG,
    ERIC_GLOBAL_TRANSPORTSCHLUESSEL_TYP_FALSCH,
    ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ,
    ERIC_GLOBAL_VORSATZ_UNGUELTIG,
    ERIC_GLOBAL_DATEIZUGRIFF_VERWEIGERT,
    ERIC_GLOBAL_UNGUELTIGE_INSTANZ,
    ERIC_GLOBAL_NICHT_INITIALISIERT,
    ERIC_GLOBAL_MEHRFACHE_INITIALISIERUNG,
    ERIC_GLOBAL_FEHLER_INITIALISIERUNG,
    ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR,
    ERIC_GLOBAL_CHECK_CORRUPTED_NDS,
    ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN,
    ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES,
    ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION,
    ERIC_GLOBAL_UNGUELTIGER_PARAMETER,
    ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT,
    ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION,
    ERIC_GLOBAL_TRANSFERHANDLE,
    ERIC_GLOBAL_PLUGININITIALISIERUNG,
    ERIC_GLOBAL_INKOMPATIBLE_VERSIONEN,
    ERIC_GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_MEHRFACHAUFRUFE_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED,
    ERIC_GLOBAL_IBAN_FORMALER_FEHLER,
    ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER,
    ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER,
    ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER,
    ERIC_GLOBAL_BIC_FORMALER_FEHLER,
    ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER,
    ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG,
    ERIC_GLOBAL_IDNUMMER_UNGUELTIG,
    ERIC_GLOBAL_NULL_PARAMETER,
    ERIC_GLOBAL_EWAZ_UNGUELTIG,
    ERIC_GLOBAL_EWAZ_LANDESKUERZEL_UNBEKANNT,
    ERIC_GLOBAL_UPDATE_NECESSARY,
    ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG,
    ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG,
    ERIC_GLOBAL_ERR_DEKODIEREN,
    ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG,
    ERIC_GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH,
    ERIC_GLOBAL_BUNDESLAENDER_UNEINHEITLICH,
    ERIC_GLOBAL_ZEITRAEUME_UNEINHEITLICH,
    ERIC_GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT,
    ERIC_TRANSFER_COM_ERROR,
    ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT,
    ERIC_TRANSFER_ERR_XML_THEADER,
    ERIC_TRANSFER_ERR_PARAM,
    ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND,
    ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT,
    ERIC_TRANSFER_ERR_ENDDATENLIEFERANT,
    ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL,
    ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL,
    ERIC_TRANSFER_ERR_BEGINDATENGROESSE,
    ERIC_TRANSFER_ERR_ENDDATENGROESSE,
    ERIC_TRANSFER_ERR_SEND,
    ERIC_TRANSFER_ERR_NOTENCRYPTED,
    ERIC_TRANSFER_ERR_PROXYCONNECT,
    ERIC_TRANSFER_ERR_CONNECTSERVER,
    ERIC_TRANSFER_ERR_NORESPONSE,
    ERIC_TRANSFER_ERR_PROXYAUTH,
    ERIC_TRANSFER_ERR_SEND_INIT,
    ERIC_TRANSFER_ERR_TIMEOUT,
    ERIC_TRANSFER_ERR_PROXYPORT_INVALID,
    ERIC_TRANSFER_ERR_OTHER,
    ERIC_TRANSFER_ERR_XML_NHEADER,
    ERIC_TRANSFER_ERR_XML_ENCODING,
    ERIC_TRANSFER_ERR_ENDSIGUSER,
    ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN,
    ERIC_TRANSFER_ERR_DATENTEILFEHLER,
    ERIC_TRANSFER_EID_ZERTIFIKATFEHLER,
    ERIC_TRANSFER_EID_KEINKONTO,
    ERIC_TRANSFER_EID_IDNRNICHTEINDEUTIG,
    ERIC_TRANSFER_EID_SERVERFEHLER,
    ERIC_TRANSFER_EID_KEINCLIENT,
    ERIC_TRANSFER_EID_CLIENTFEHLER,
    ERIC_TRANSFER_EID_FEHLENDEFELDER,
    ERIC_TRANSFER_EID_IDENTIFIKATIONABGEBROCHEN,
    ERIC_TRANSFER_EID_NPABLOCKIERT,
    ERIC_CRYPT_ERROR_CREATE_KEY,
    ERIC_CRYPT_E_INVALID_HANDLE,
    ERIC_CRYPT_E_MAX_SESSION,
    ERIC_CRYPT_E_BUSY,
    ERIC_CRYPT_E_OUT_OF_MEM,
    ERIC_CRYPT_E_PSE_PATH,
    ERIC_CRYPT_E_PIN_WRONG,
    ERIC_CRYPT_E_PIN_LOCKED,
    ERIC_CRYPT_E_P7_READ,
    ERIC_CRYPT_E_P7_DECODE,
    ERIC_CRYPT_E_P7_RECIPIENT,
    ERIC_CRYPT_E_P12_READ,
    ERIC_CRYPT_E_P12_DECODE,
    ERIC_CRYPT_E_P12_SIG_KEY,
    ERIC_CRYPT_E_P12_ENC_KEY,
    ERIC_CRYPT_E_P11_SIG_KEY,
    ERIC_CRYPT_E_P11_ENC_KEY,
    ERIC_CRYPT_E_XML_PARSE,
    ERIC_CRYPT_E_XML_SIG_ADD,
    ERIC_CRYPT_E_XML_SIG_TAG,
    ERIC_CRYPT_E_XML_SIG_SIGN,
    ERIC_CRYPT_E_ENCODE_UNKNOWN,
    ERIC_CRYPT_E_ENCODE_ERROR,
    ERIC_CRYPT_E_XML_INIT,
    ERIC_CRYPT_E_ENCRYPT,
    ERIC_CRYPT_E_DECRYPT,
    ERIC_CRYPT_E_P11_SLOT_EMPTY,
    ERIC_CRYPT_E_NO_SIG_ENC_KEY,
    ERIC_CRYPT_E_LOAD_DLL,
    ERIC_CRYPT_E_NO_SERVICE,
    ERIC_CRYPT_E_ESICL_EXCEPTION,
    ERIC_CRYPT_E_ESIGNER_NICHT_GELADEN,
    ERIC_CRYPT_E_INKOMPATIBLE_ESIGNER_VERSION,
    ERIC_CRYPT_E_VERALTETE_ESIGNER_VERSION,
    ERIC_CRYPT_E_TOKEN_TYPE_MISMATCH,
    ERIC_CRYPT_E_P12_CREATE,
    ERIC_CRYPT_E_VERIFY_CERT_CHAIN,
    ERIC_CRYPT_E_P11_ENGINE_LOADED,
    ERIC_CRYPT_E_USER_CANCEL,
    ERIC_CRYPT_ZERTIFIKAT,
    ERIC_CRYPT_SIGNATUR,
    ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT,
    ERIC_CRYPT_PIN_BENOETIGT,
    ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND,
    ERIC_CRYPT_E_INTERN,
    ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS,
    ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS,
    ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN,
    ERIC_CRYPT_CORRUPTED,
    ERIC_CRYPT_EIDKARTE_NICHT_UNTERSTUETZT,
    ERIC_CRYPT_E_SC_SLOT_EMPTY,
    ERIC_CRYPT_E_SC_NO_APPLET,
    ERIC_CRYPT_E_SC_SESSION,
    ERIC_CRYPT_E_P11_NO_SIG_CERT,
    ERIC_CRYPT_E_P11_INIT_FAILED,
    ERIC_CRYPT_E_P11_NO_ENC_CERT,
    ERIC_CRYPT_E_P12_NO_SIG_CERT,
    ERIC_CRYPT_E_P12_NO_ENC_CERT,
    ERIC_CRYPT_E_SC_ENC_KEY,
    ERIC_CRYPT_E_SC_NO_SIG_CERT,
    ERIC_CRYPT_E_SC_NO_ENC_CERT,
    ERIC_CRYPT_E_SC_INIT_FAILED,
    ERIC_CRYPT_E_SC_SIG_KEY,
    ERIC_CRYPT_E_DATA_NOT_INITIALIZED,
    ERIC_CRYPT_E_ASN1_READ_BUFFER_TOO_SMALL,
    ERIC_CRYPT_E_ASN1_READ_DATA_INCOMPLETE,
    ERIC_CRYPT_E_ASN1_NO_ENVELOPED_DATA,
    ERIC_CRYPT_E_ASN1_NO_CONTENT_DATA,
    ERIC_IO_FEHLER,
    ERIC_IO_DATEI_INKORREKT,
    ERIC_IO_PARSE_FEHLER,
    ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN,
    ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR,
    ERIC_IO_STEUERZEICHEN_IM_NDS,
    ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN,
    ERIC_IO_FALSCHES_VERFAHREN,
    ERIC_IO_READER_MEHRFACHE_STEUERFAELLE,
    ERIC_IO_READER_UNERWARTETE_ELEMENTE,
    ERIC_IO_READER_FORMALE_FEHLER,
    ERIC_IO_READER_FALSCHES_ENCODING,
    ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE,
    ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE,
    ERIC_IO_UNBEKANNTE_DATENART,
    ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG,
    ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE,
    ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER,
    ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER,
    ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN,
    ERIC_IO_READER_RABE_FEHLER,
    ERIC_IO_READER_KEINE_RABEID,
    ERIC_IO_READER_RABEID_UNGUELTIG,
    ERIC_IO_READER_RABE_VERIFIKATIONSID_UNGUELTIG,
    ERIC_IO_READER_RABE_REFERENZID_UNGUELTIG,
    ERIC_IO_READER_RABE_REFERENZID_NICHT_ERLAUBT,
    ERIC_IO_READER_RABE_REFERENZIDS_NICHT_EINDEUTIG,
    ERIC_IO_READER_ZU_VIELE_ANHAENGE,
    ERIC_IO_READER_ANHANG_ZU_GROSS,
    ERIC_IO_READER_ANHAENGE_ZU_GROSS,
    ERIC_IO_READER_ANHANG_ZU_KLEIN,
    ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER,
    ERIC_IO_READER_UNBEKANNTE_XML_ENTITY,
    ERIC_IO_TESTHERSTELLERID_GESPERRT,
    ERIC_IO_DATENTEILNOTFOUND,
    ERIC_IO_DATENTEILENDNOTFOUND,
    ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT,
    ERIC_IO_UNGUELTIGE_UTF8_SEQUENZ,
    ERIC_IO_UNGUELTIGE_ZEICHEN_IN_PARAMETER,
    ERIC_PRINT_INTERNER_FEHLER,
    ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN,
    ERIC_PRINT_UNGUELTIGER_DATEI_PFAD,
    ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT,
    ERIC_PRINT_AUSGABEZIEL_UNBEKANNT,
    ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG,
    ERIC_PRINT_ABBRUCH_GENERIERUNG,
    ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT,
    ERIC_PRINT_FUSSTEXT_ZU_LANG,
    ERIC_PRINT_PDFCALLBACK,
}

/**
* Represent a base response that encapsulate any ERiC API function return value.
*/
// @Api(Description="Represent a base response that encapsulate any ERiC API function return value.")
class EricFehlerCodeResponse extends ServiceReponseBase implements IConvertible
{
    /**
    * The status code that the ERiC API function returns.
    */
    // @ApiMember(Description="The status code that the ERiC API function returns.")
    EricFehlerCode? statusCode;

    /**
    * The status message that the ERiC API function returns.
    */
    // @ApiMember(Description="The status message that the ERiC API function returns.")
    String? statusText;

    EricFehlerCodeResponse({this.statusCode,this.statusText});
    EricFehlerCodeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Represent issuer details of a certificate.
*/
// @Api(Description="Represent issuer details of a certificate.")
class Info implements IConvertible
{
    /**
    * The name of the issuer detail.
    */
    // @ApiMember(Description="The name of the issuer detail.")
    String? name;

    /**
    * The value of the issuer detail.
    */
    // @ApiMember(Description="The value of the issuer detail.")
    String? wert;

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

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

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

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

/**
* Represents an issuer of certificates.
*/
// @Api(Description="Represents an issuer of certificates.")
class Issuer implements IConvertible
{
    /**
    * Details about the issuer of certificates.
    */
    // @ApiMember(Description="Details about the issuer of certificates.")
    List<Info>? infos = [];

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

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

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

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

/**
* Represents the subject of the certificate.
*/
// @Api(Description="Represents the subject of the certificate.")
class Subjekt implements IConvertible
{
    /**
    * Details about the subject of the certificate.
    */
    // @ApiMember(Description="Details about the subject of the certificate.")
    List<Info>? infos = [];

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

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

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

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

/**
* Represents a type of Identification characteristic. Identification marker that was specified when the certificate was generated. For portal certificates usually tax number or identification number.
*/
enum Identifikationsmerkmaltyp
{
    Unbekannt,
    Steuernummer,
    Identifikationsnummer,
    BZStNummer,
    Bearbeiternummer,
    Clienterzeugt,
}

/**
* Represents a type of registrar. Contains informatiom on the type of person or organization, for which a certificate is issued. Often 'Person' or 'Organisation'.
*/
enum Registrierertyp
{
    Unbekannt,
    Person,
    Organisation,
    Rechteverwalter,
    BZStInland,
    BZStAusland,
    BZStKevizz,
}

/**
* Represents a type of verification. Contains information on the verification of a person or organisation by an issuer of certificates.
*/
enum VerifikationsartTyp
{
    Unbekannt,
    Postweg,
    Neuerpersonalausweis,
}

/**
* Represents a type of token.Contains information about the type of token used to create a certificate.
*/
enum TokenTyp
{
    Unbekannt,
    Software,
    Stick,
    Karte,
    Ausweis,
}

/**
* Represents the characteristics of a certificate.
*/
// @Api(Description="Represents the characteristics of a certificate.")
class Zertifikateigenschaften implements IConvertible
{
    /**
    * The start validity date of the certificate.
    */
    // @ApiMember(Description="The start validity date of the certificate.")
    DateTime? ausgestelltAm;

    /**
    * The expiry date of the certificate.
    */
    // @ApiMember(Description="The expiry date of the certificate.")
    DateTime? gueltigBis;

    /**
    * The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')
    */
    // @ApiMember(Description="The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')")
    String? signaturalgorithmus;

    /**
    * The MD5-hash of the public key.
    */
    // @ApiMember(Description="The MD5-hash of the public key.")
    String? publicKeyMD5;

    /**
    * The SHA1-hash of the public key.
    */
    // @ApiMember(Description="The SHA1-hash of the public key.")
    String? publicKeySHA1;

    /**
    * The key length of the public key in units of bits. For example '2048 bits'
    */
    // @ApiMember(Description="The key length of the public key in units of bits. For example '2048 bits'")
    int? publicKeyBitLength;

    /**
    * The issuer of the certificate.
    */
    // @ApiMember(Description="The issuer of the certificate.")
    Issuer? issuer;

    /**
    * The subject of the certificate.
    */
    // @ApiMember(Description="The subject of the certificate.")
    Subjekt? subjekt;

    /**
    * The identification characteristics of the certificate.
    */
    // @ApiMember(Description="The identification characteristics of the certificate.")
    Identifikationsmerkmaltyp? identifikationsmerkmaltyp;

    /**
    * The type of registrar, to which the key is issued.
    */
    // @ApiMember(Description="The type of registrar, to which the key is issued.")
    Registrierertyp? registrierertyp;

    /**
    * The type of verification conducted for the person or organisation, to which the certificate is issued.
    */
    // @ApiMember(Description="The type of verification conducted for the person or organisation, to which the certificate is issued.")
    VerifikationsartTyp? verifikationsart;

    /**
    * The type of token used to create the certificate.
    */
    // @ApiMember(Description="The type of token used to create the certificate.")
    TokenTyp? tokenTyp;

    /**
    * Is the certificate is a test certificate? True if it is a test certificate; otherwise false.
    */
    // @ApiMember(Description="Is the certificate is a test certificate? True if it is a test certificate; otherwise false.")
    bool? testzertifikat;

    Zertifikateigenschaften({this.ausgestelltAm,this.gueltigBis,this.signaturalgorithmus,this.publicKeyMD5,this.publicKeySHA1,this.publicKeyBitLength,this.issuer,this.subjekt,this.identifikationsmerkmaltyp,this.registrierertyp,this.verifikationsart,this.tokenTyp,this.testzertifikat});
    Zertifikateigenschaften.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ausgestelltAm = JsonConverters.fromJson(json['ausgestelltAm'],'DateTime',context!);
        gueltigBis = JsonConverters.fromJson(json['gueltigBis'],'DateTime',context!);
        signaturalgorithmus = json['signaturalgorithmus'];
        publicKeyMD5 = json['publicKeyMD5'];
        publicKeySHA1 = json['publicKeySHA1'];
        publicKeyBitLength = json['publicKeyBitLength'];
        issuer = JsonConverters.fromJson(json['issuer'],'Issuer',context!);
        subjekt = JsonConverters.fromJson(json['subjekt'],'Subjekt',context!);
        identifikationsmerkmaltyp = JsonConverters.fromJson(json['identifikationsmerkmaltyp'],'Identifikationsmerkmaltyp',context!);
        registrierertyp = JsonConverters.fromJson(json['registrierertyp'],'Registrierertyp',context!);
        verifikationsart = JsonConverters.fromJson(json['verifikationsart'],'VerifikationsartTyp',context!);
        tokenTyp = JsonConverters.fromJson(json['tokenTyp'],'TokenTyp',context!);
        testzertifikat = json['testzertifikat'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ausgestelltAm': JsonConverters.toJson(ausgestelltAm,'DateTime',context!),
        'gueltigBis': JsonConverters.toJson(gueltigBis,'DateTime',context!),
        'signaturalgorithmus': signaturalgorithmus,
        'publicKeyMD5': publicKeyMD5,
        'publicKeySHA1': publicKeySHA1,
        'publicKeyBitLength': publicKeyBitLength,
        'issuer': JsonConverters.toJson(issuer,'Issuer',context!),
        'subjekt': JsonConverters.toJson(subjekt,'Subjekt',context!),
        'identifikationsmerkmaltyp': JsonConverters.toJson(identifikationsmerkmaltyp,'Identifikationsmerkmaltyp',context!),
        'registrierertyp': JsonConverters.toJson(registrierertyp,'Registrierertyp',context!),
        'verifikationsart': JsonConverters.toJson(verifikationsart,'VerifikationsartTyp',context!),
        'tokenTyp': JsonConverters.toJson(tokenTyp,'TokenTyp',context!),
        'testzertifikat': testzertifikat
    };

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

/**
* Represents a list of properties for a specified certificate.
*/
// @Api(Description="Represents a list of properties for a specified certificate.")
class EricHoleZertifikatEigenschaften implements IConvertible
{
    /**
    * The properties of the certificate used for signing. These are not available for client-side certificates.
    */
    // @ApiMember(Description="The properties of the certificate used for signing. These are not available for client-side certificates.")
    Zertifikateigenschaften? signaturzertifikateigenschaften;

    /**
    * The properties of certificates used for encryption.
    */
    // @ApiMember(Description="The properties of certificates used for encryption.")
    Zertifikateigenschaften? verschluesselungszertifikateigenschaften;

    EricHoleZertifikatEigenschaften({this.signaturzertifikateigenschaften,this.verschluesselungszertifikateigenschaften});
    EricHoleZertifikatEigenschaften.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'signaturzertifikateigenschaften': JsonConverters.toJson(signaturzertifikateigenschaften,'Zertifikateigenschaften',context!),
        'verschluesselungszertifikateigenschaften': JsonConverters.toJson(verschluesselungszertifikateigenschaften,'Zertifikateigenschaften',context!)
    };

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

/**
* Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.
*/
// @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.")
class HoleZertifikatEigenschaftenResponse extends EricFehlerCodeResponse implements IConvertible
{
    /**
    * The list of test fiscal authoririties.
    */
    // @ApiMember(Description="The list of test fiscal authoririties.")
    EricHoleZertifikatEigenschaften? rueckgabe;

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

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

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

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

/**
* A synchronous service to get the properties of a specified portal certificate.
*/
// @Api(Description="A synchronous service to get the properties of a specified portal certificate.")
class HolePortalZertifikatEigenschaften extends HolePortalZertifikatEigenschaftenBase implements IConvertible
{
    HolePortalZertifikatEigenschaften();
    HolePortalZertifikatEigenschaften.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "HolePortalZertifikatEigenschaften";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'taxfiling.staging.pwc.de', types: <String, TypeInfo> {
    'FileBase': TypeInfo(TypeOf.AbstractClass),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'PortalCertificate': TypeInfo(TypeOf.Class, create:() => PortalCertificate()),
    'HolePortalZertifikatEigenschaftenBase': TypeInfo(TypeOf.AbstractClass),
    'ServiceReponseBase': TypeInfo(TypeOf.AbstractClass),
    'EricFehlerCode': TypeInfo(TypeOf.Enum, enumValues:EricFehlerCode.values),
    'EricFehlerCodeResponse': TypeInfo(TypeOf.Class, create:() => EricFehlerCodeResponse()),
    'Info': TypeInfo(TypeOf.Class, create:() => Info()),
    'Issuer': TypeInfo(TypeOf.Class, create:() => Issuer()),
    'List<Info>': TypeInfo(TypeOf.Class, create:() => <Info>[]),
    'Subjekt': TypeInfo(TypeOf.Class, create:() => Subjekt()),
    'Identifikationsmerkmaltyp': TypeInfo(TypeOf.Enum, enumValues:Identifikationsmerkmaltyp.values),
    'Registrierertyp': TypeInfo(TypeOf.Enum, enumValues:Registrierertyp.values),
    'VerifikationsartTyp': TypeInfo(TypeOf.Enum, enumValues:VerifikationsartTyp.values),
    'TokenTyp': TypeInfo(TypeOf.Enum, enumValues:TokenTyp.values),
    'Zertifikateigenschaften': TypeInfo(TypeOf.Class, create:() => Zertifikateigenschaften()),
    'EricHoleZertifikatEigenschaften': TypeInfo(TypeOf.Class, create:() => EricHoleZertifikatEigenschaften()),
    'HoleZertifikatEigenschaftenResponse': TypeInfo(TypeOf.Class, create:() => HoleZertifikatEigenschaftenResponse()),
    'HolePortalZertifikatEigenschaften': TypeInfo(TypeOf.Class, create:() => HolePortalZertifikatEigenschaften()),
});

Dart HolePortalZertifikatEigenschaften DTOs

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

HTTP + JSV

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

POST /HolePortalZertifikatEigenschaften HTTP/1.1 
Host: taxfiling.staging.pwc.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	zertifikat: 
	{
		name: String,
		pin: String,
		description: String,
		tags: 
		[
			String
		],
		content: AA==
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	rueckgabe: 
	{
		signaturzertifikateigenschaften: 
		{
			ausgestelltAm: 0001-01-01,
			gueltigBis: 0001-01-01,
			signaturalgorithmus: String,
			publicKeyMD5: String,
			publicKeySHA1: String,
			publicKeyBitLength: 0,
			issuer: 
			{
				infos: 
				[
					{
						name: String,
						wert: String
					}
				]
			},
			subjekt: 
			{
				infos: 
				[
					{
						name: String,
						wert: String
					}
				]
			},
			identifikationsmerkmaltyp: Unbekannt,
			registrierertyp: Unbekannt,
			verifikationsart: Unbekannt,
			tokenTyp: Unbekannt,
			testzertifikat: False
		},
		verschluesselungszertifikateigenschaften: 
		{
			ausgestelltAm: 0001-01-01,
			gueltigBis: 0001-01-01,
			signaturalgorithmus: String,
			publicKeyMD5: String,
			publicKeySHA1: String,
			publicKeyBitLength: 0,
			issuer: 
			{
				infos: 
				[
					{
						name: String,
						wert: String
					}
				]
			},
			subjekt: 
			{
				infos: 
				[
					{
						name: String,
						wert: String
					}
				]
			},
			identifikationsmerkmaltyp: Unbekannt,
			registrierertyp: Unbekannt,
			verifikationsart: Unbekannt,
			tokenTyp: Unbekannt,
			testzertifikat: False
		}
	},
	statusCode: ERIC_OK,
	statusText: String,
	id: String,
	index: 0,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}