Tax Filing Service

<back to all web services

HoleFinanzamtsdaten

SyncHoleFinanzamt

A synchronous service to get tax office information for a specified Federal Tax Office Number.

Requires Authentication
The following routes are available for this service:
GET/HoleFinanzamtsdaten/{BufaNr}A synchronous service to get tax office information for a specified Federal Tax Office Number.
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

/**
* A base service to get tax office information for a specified Federal Tax Office Number.
*/
// @Api(Description="A base service to get tax office information for a specified Federal Tax Office Number.")
abstract class HoleFinanzamtsdatenBase implements IGet
{
    /**
    * The Federal Tax Office Number.
    */
    // @ApiMember(Description="The Federal Tax Office Number.", Name="BufaNr")
    String? bufaNr;

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

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

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

    getTypeName() => "HoleFinanzamtsdatenBase";
    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;
}

/**
* Represents a list of Adresse items.
*/
class AdresseListe implements IConvertible
{
    AdresseListe();
    AdresseListe.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

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

/**
* Represents a list of business contacts.
*/
class KontaktListe implements IConvertible
{
    KontaktListe();
    KontaktListe.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

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

/**
* Represents a list of bank details
*/
class BankverbindungListe implements IConvertible
{
    BankverbindungListe();
    BankverbindungListe.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

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

/**
* Represents a list of information on the opening hours.
*/
class OeffnungszeitListe implements IConvertible
{
    OeffnungszeitListe();
    OeffnungszeitListe.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

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

/**
* Represents a list of comments.
*/
class BemerkungListe implements IConvertible
{
    BemerkungListe();
    BemerkungListe.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

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

/**
* Represents Represents a central processing office.
*/
// @Api(Description="Represents Represents a central processing office.")
class Hauptstelle implements IConvertible
{
    /**
    * The Federal Tax Office (Bundesfinanzamt) identification number of the office.
    */
    // @ApiMember(Description="The Federal Tax Office (Bundesfinanzamt) identification number of the office.")
    String? buFaNr;

    /**
    * The name of the office.
    */
    // @ApiMember(Description="The name of the office.")
    String? name;

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

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

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

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

/**
* Represents a structure that encapsulates details of fiscal authorities.
*/
// @Api(Description="Represents a structure that encapsulates details of fiscal authorities.")
class Finanzamtsdaten implements IConvertible
{
    /**
    * The Federal Tax Office (Bundesfinanzamt) identification number of the fiscal authority.
    */
    // @ApiMember(Description="The Federal Tax Office (Bundesfinanzamt) identification number of the fiscal authority.")
    String? buFaNr;

    /**
    * The name of the fiscal authority.
    */
    // @ApiMember(Description="The name of the fiscal authority.")
    String? name;

    /**
    * The list of addresses of the fiscal authority.
    */
    // @ApiMember(Description="The list of addresses of the fiscal authority.")
    AdresseListe? adresseListe;

    /**
    * The list of business contacts of the fiscal authority.
    */
    // @ApiMember(Description="The list of business contacts of the fiscal authority.")
    KontaktListe? kontaktListe;

    /**
    * The list of bank accounts of the fiscal authority.
    */
    // @ApiMember(Description="The list of bank accounts of the fiscal authority.")
    BankverbindungListe? bankverbindungListe;

    /**
    * The opening hours of the fiscal authority.
    */
    // @ApiMember(Description="The opening hours of the fiscal authority.")
    OeffnungszeitListe? oeffnungszeitListe;

    /**
    * The list of comments of the fiscal authority.
    */
    // @ApiMember(Description="The list of comments of the fiscal authority.")
    BemerkungListe? bemerkungListe;

    /**
    * The central processing office of the fiscal authority.
    */
    // @ApiMember(Description="The central processing office of the fiscal authority.")
    Hauptstelle? hauptstelle;

    /**
    * The branch of the fiscal authority.
    */
    // @ApiMember(Description="The branch of the fiscal authority.")
    String? aussenstelle;

    Finanzamtsdaten({this.buFaNr,this.name,this.adresseListe,this.kontaktListe,this.bankverbindungListe,this.oeffnungszeitListe,this.bemerkungListe,this.hauptstelle,this.aussenstelle});
    Finanzamtsdaten.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        buFaNr = json['buFaNr'];
        name = json['name'];
        adresseListe = JsonConverters.fromJson(json['adresseListe'],'AdresseListe',context!);
        kontaktListe = JsonConverters.fromJson(json['kontaktListe'],'KontaktListe',context!);
        bankverbindungListe = JsonConverters.fromJson(json['bankverbindungListe'],'BankverbindungListe',context!);
        oeffnungszeitListe = JsonConverters.fromJson(json['oeffnungszeitListe'],'OeffnungszeitListe',context!);
        bemerkungListe = JsonConverters.fromJson(json['bemerkungListe'],'BemerkungListe',context!);
        hauptstelle = JsonConverters.fromJson(json['hauptstelle'],'Hauptstelle',context!);
        aussenstelle = json['aussenstelle'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'buFaNr': buFaNr,
        'name': name,
        'adresseListe': JsonConverters.toJson(adresseListe,'AdresseListe',context!),
        'kontaktListe': JsonConverters.toJson(kontaktListe,'KontaktListe',context!),
        'bankverbindungListe': JsonConverters.toJson(bankverbindungListe,'BankverbindungListe',context!),
        'oeffnungszeitListe': JsonConverters.toJson(oeffnungszeitListe,'OeffnungszeitListe',context!),
        'bemerkungListe': JsonConverters.toJson(bemerkungListe,'BemerkungListe',context!),
        'hauptstelle': JsonConverters.toJson(hauptstelle,'Hauptstelle',context!),
        'aussenstelle': aussenstelle
    };

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

/**
* Represents a structure that encapsulates the list of details of fiscal authorities.
*/
// @Api(Description="Represents a structure that encapsulates the list of details of fiscal authorities.")
class EricHoleFinanzamtsdaten implements IConvertible
{
    /**
    * The version of the information structure.
    */
    // @ApiMember(Description="The version of the information structure.")
    int? version;

    /**
    * The details of the fiscal authority.
    */
    // @ApiMember(Description="The details of the fiscal authority.")
    Finanzamtsdaten? finanzamtsdaten;

    EricHoleFinanzamtsdaten({this.version,this.finanzamtsdaten});
    EricHoleFinanzamtsdaten.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'version': version,
        'finanzamtsdaten': JsonConverters.toJson(finanzamtsdaten,'Finanzamtsdaten',context!)
    };

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

/**
* Represents a type that encapsulates the return values of the ERiC API function, which retrieves all tax office numbers.
*/
// @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves all tax office numbers.")
class HoleFinanzamtsdatenResponse extends EricFehlerCodeResponse implements IConvertible
{
    /**
    * The details of a specified tax office.
    */
    // @ApiMember(Description="The details of a specified tax office.")
    EricHoleFinanzamtsdaten? rueckgabe;

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

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

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

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

/**
* A synchronous service to get tax office information for a specified Federal Tax Office Number.
*/
// @Api(Description="A synchronous service to get tax office information for a specified Federal Tax Office Number.")
class HoleFinanzamtsdaten extends HoleFinanzamtsdatenBase implements IConvertible
{
    HoleFinanzamtsdaten();
    HoleFinanzamtsdaten.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() => "HoleFinanzamtsdaten";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'taxfiling.staging.pwc.de', types: <String, TypeInfo> {
    'HoleFinanzamtsdatenBase': TypeInfo(TypeOf.AbstractClass),
    'ServiceReponseBase': TypeInfo(TypeOf.AbstractClass),
    'EricFehlerCode': TypeInfo(TypeOf.Enum, enumValues:EricFehlerCode.values),
    'EricFehlerCodeResponse': TypeInfo(TypeOf.Class, create:() => EricFehlerCodeResponse()),
    'AdresseListe': TypeInfo(TypeOf.Class, create:() => AdresseListe()),
    'KontaktListe': TypeInfo(TypeOf.Class, create:() => KontaktListe()),
    'BankverbindungListe': TypeInfo(TypeOf.Class, create:() => BankverbindungListe()),
    'OeffnungszeitListe': TypeInfo(TypeOf.Class, create:() => OeffnungszeitListe()),
    'BemerkungListe': TypeInfo(TypeOf.Class, create:() => BemerkungListe()),
    'Hauptstelle': TypeInfo(TypeOf.Class, create:() => Hauptstelle()),
    'Finanzamtsdaten': TypeInfo(TypeOf.Class, create:() => Finanzamtsdaten()),
    'EricHoleFinanzamtsdaten': TypeInfo(TypeOf.Class, create:() => EricHoleFinanzamtsdaten()),
    'HoleFinanzamtsdatenResponse': TypeInfo(TypeOf.Class, create:() => HoleFinanzamtsdatenResponse()),
    'HoleFinanzamtsdaten': TypeInfo(TypeOf.Class, create:() => HoleFinanzamtsdaten()),
});

Dart HoleFinanzamtsdaten DTOs

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

HTTP + OTHER

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

GET /HoleFinanzamtsdaten/{BufaNr} HTTP/1.1 
Host: taxfiling.staging.pwc.de 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"rueckgabe":{"version":0,"finanzamtsdaten":{"buFaNr":"String","name":"String","adresseListe":[{"typ":"Grosskundenadresse","plz":"String","ort":"String","postfachnummer":"String","strasse":"String"}],"kontaktListe":[{"bezeichnung":"String","inhalt":"String"}],"bankverbindungListe":[{"iban":"String","bic":"String","finanzinstitut":"String","kontoinhaber":"String","kontonummer":"String","blz":"String"}],"oeffnungszeitListe":[{"inhalt":"String"}],"bemerkungListe":[{"inhalt":"String"}],"hauptstelle":{"buFaNr":"String","name":"String"},"aussenstelle":"String"}},"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"}}}