""" Options: Date: 2026-05-09 17:12:19 Version: 6.110 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://ws4.fibudata.net #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: LoginMandantRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class Oem(IntEnum): FIBUDATA = 0 SPECTRUM = 3 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class mandlogin(IMandnr, IPrimaryKey, ITableBaseErstelltAenderung): mandnr: Optional[int] = None _erstellt: Optional[datetime.datetime] = None _aenderung: Optional[datetime.datetime] = None bnr: Optional[int] = None passw: Optional[str] = None email: Optional[str] = None passw_m_d5: Optional[str] = None kurzbezeichnung: Optional[str] = None img_sec: Optional[int] = None auth_email: Optional[str] = None auth_token: Optional[str] = None beraternr: Optional[int] = None ber_mandant_nr: Optional[int] = None dbnr: Optional[int] = None ver: Optional[Decimal] = None altern: Optional[str] = None updatedatei: Optional[str] = None zugriffdat: Optional[datetime.datetime] = None version: Optional[Decimal] = None pwberater__a_l_t: Optional[str] = None pwberater: Optional[str] = None post: Optional[int] = None name: Optional[str] = None strasse: Optional[str] = None ort: Optional[str] = None briefkasten: Optional[int] = None mustermandant: Optional[int] = None einzug: Optional[int] = None konto: Optional[int] = None blz: Optional[int] = None bank: Optional[str] = None plz: Optional[str] = None land: Optional[str] = None b_mid: Optional[int] = None bernrind: Optional[int] = None speicherzeit: Optional[int] = None kne: Optional[str] = None berater_zugriffsrechte_ids: Optional[str] = None plus_digifibu: Optional[int] = None ersterlogin: Optional[datetime.datetime] = None letzterlogin: Optional[datetime.datetime] = None abrechnung: Optional[int] = None gesamtrecht: Optional[int] = None datev_wj: Optional[str] = None skr_typ: Optional[int] = None skontozuordnung: Optional[str] = None gutschein: Optional[int] = None briefkasten_arbeitsanweisung: Optional[str] = None kontakt_telefon: Optional[str] = None kontakt_email: Optional[str] = None demo: Optional[int] = None demo_reg_am: Optional[datetime.datetime] = None demo_gueltig_bis: Optional[datetime.datetime] = None fibu_ext_login: Optional[str] = None is_skonto_immer: Optional[int] = None is_kne_nur_personen: Optional[int] = None is_ust_erfassung: Optional[int] = None mail_user: Optional[str] = None mail_adresse: Optional[str] = None mail_passwort: Optional[str] = None mail_passwort_aes: Optional[str] = None steuernummer: Optional[str] = None steuerid: Optional[str] = None ustva_typ: Optional[int] = None ustva_fertig: Optional[int] = None elster_steuernummer: Optional[str] = None fakt_uni1_bez: Optional[str] = None fakt_uni2_bez: Optional[str] = None fakt_uni1_regex: Optional[str] = None fakt_uni2_regex: Optional[str] = None fakt_text: Optional[str] = None sepa_gl_id: Optional[str] = None umstellung: Optional[int] = None hardlock: Optional[str] = None mahngebuer: Optional[str] = None mahnzins: Optional[str] = None mahntage: Optional[str] = None freigabe10: Optional[int] = None plusbearbeitung: Optional[int] = None iban_zugferd: Optional[str] = None universal: Optional[str] = None fremd__i_d: Optional[str] = None frei_feld: Optional[str] = None kuerzel: Optional[str] = None buchhaltungstyp: Optional[str] = None freigabe: Optional[datetime.datetime] = None mobil: Optional[str] = None hashtags: Optional[str] = None sstelle: Optional[str] = None sstelle_stamm: Optional[str] = None beraternummer_export: Optional[str] = None fibu_interface: Optional[str] = None # @Ignore() mandant: Optional[int] = None # @Ignore() primary_key: Optional[int] = None # @Ignore() bd_anzahl1: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class zugriffsrechte(IMandnr, IPrimaryKey, INutzerid, ITableBaseErstelltAenderung, IPKindex): id: Optional[int] = None _erstellt: Optional[datetime.datetime] = None _aenderung: Optional[datetime.datetime] = None mandnr: Optional[int] = None passw_m_d5: Optional[str] = None name: Optional[str] = None vorname: Optional[str] = None e_mail: Optional[str] = None e_mail_tax: Optional[str] = None auth_token: Optional[str] = None auth_email: Optional[str] = None rechte: Optional[int] = None gruppe: Optional[int] = None aktiv: Optional[int] = None admin: Optional[int] = None anlagedatum: Optional[datetime.datetime] = None guid: Optional[str] = None pers_typ: Optional[int] = None hardlock: Optional[str] = None stundensatz: Optional[Decimal] = None freigabeberechtigter: Optional[int] = None vertretung: Optional[int] = None genehmiger: Optional[int] = None eintritt: Optional[datetime.datetime] = None austritt: Optional[datetime.datetime] = None abteilung_guid: Optional[str] = None negativurlaub: Optional[bool] = None alturlaub: Optional[bool] = None bundesland: Optional[int] = None bild: Optional[bytes] = None mobil: Optional[str] = None geburtstag: Optional[datetime.datetime] = None privatsspaehre: Optional[int] = None intern: Optional[int] = None strasse: Optional[str] = None plz: Optional[str] = None ort: Optional[str] = None is_acc: Optional[bool] = None email_abruf: Optional[str] = None email_abruf_tax: Optional[str] = None recht_taetigkeittyp: Optional[str] = None rechte_acc: Optional[str] = None bemerkung: Optional[str] = None is_main_mail: Optional[int] = None two_factor_method: Optional[int] = None two_factor_enabled: Optional[int] = None two_factor_secret: Optional[str] = None two_factor_backup_codes: Optional[str] = None two_factor_enabled_date: Optional[datetime.datetime] = None two_factor_failed_attempts: Optional[int] = None two_factor_last_failure: Optional[datetime.datetime] = None two_factor_is_lockedout: Optional[int] = None default_ja: Optional[int] = None default_fibu: Optional[int] = None default_lohn: Optional[int] = None default_acc: Optional[int] = None default_vw: Optional[int] = None rechte_intern_mandanten: Optional[bool] = None pk_index: Optional[int] = None # @Ignore() mandant: Optional[int] = None # @Ignore() primary_key: Optional[int] = None # @Ignore() nutzerid: Optional[int] = None # @Flags() class Role(IntEnum): NONE = 0 MANDANT = 1 BERATER = 2 BENUTZER = 4 WEB_CLIENT = 8 STEUERBERATER = 16 EXTERN_BERATER = 32 MFA = 64 MFA_BERATER = 128 class IPrimaryKey: primary_key: Optional[int] = None class IMandnr: mandant: Optional[int] = None class ITableBaseErstelltAenderung: _erstellt: Optional[datetime.datetime] = None _aenderung: Optional[datetime.datetime] = None class INutzerid: nutzerid: Optional[int] = None class IPKindex: pk_index: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class LoginMandantResponse: start: datetime.datetime = datetime.datetime(1, 1, 1) loginmand_ende: datetime.datetime = datetime.datetime(1, 1, 1) ende: datetime.datetime = datetime.datetime(1, 1, 1) mandlogin: Optional[mandlogin] = None zugriffsrechte: Optional[zugriffsrechte] = None token: Optional[str] = None mfa_token: Optional[str] = None rolle: Optional[Role] = None show_support_button: bool = False passwort_abgelaufen: Optional[bool] = None neues_passwort_gesetzt: Optional[bool] = None error_msg: Optional[str] = None anmeldeversuche: Optional[int] = None configs: Optional[List[str]] = None # @Route("/auth/LoginMandant", "GET, POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class LoginMandantRequest(IReturn[LoginMandantResponse]): mandnr: int = 0 e_mail: Optional[str] = None password: Optional[str] = None hardlock: Optional[List[str]] = None oem: Optional[Oem] = None is_web_client: Optional[int] = None fibuscan_version: Optional[Decimal] = None token: Optional[str] = None einladungs_token: Optional[str] = None mfa_code: Optional[str] = None mfa_token: Optional[str] = None