Source code for bo4e.bo.geschaeftspartner

"""
Contains Geschaeftspartner class
and corresponding marshmallow schema for de-/serialization
"""
# pylint: disable=too-many-instance-attributes, too-few-public-methods
from typing import List, Optional

from bo4e.bo.geschaeftsobjekt import Geschaeftsobjekt
from bo4e.com.adresse import Adresse
from bo4e.enum.anrede import Anrede
from bo4e.enum.botyp import BoTyp
from bo4e.enum.geschaeftspartnerrolle import Geschaeftspartnerrolle
from bo4e.enum.kontaktart import Kontaktart


[docs]class Geschaeftspartner(Geschaeftsobjekt): """ Mit diesem Objekt können Geschäftspartner übertragen werden. Sowohl Unternehmen, als auch Privatpersonen können Geschäftspartner sein. Hinweis: Marktteilnehmer haben ein eigenes BO, welches sich von diesem BO ableitet. Hier sollte daher keine Zuordnung zu Marktrollen erfolgen. .. raw:: html <object data="../_static/images/bo4e/bo/Geschaeftspartner.svg" type="image/svg+xml"></object> .. HINT:: `Geschaeftspartner JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/Hochfrequenz/BO4E-python/main/json_schemas/bo/Geschaeftspartner.json>`_ """ # required attributes bo_typ: BoTyp = BoTyp.GESCHAEFTSPARTNER name1: str """ Erster Teil des Namens. Hier kann der Firmenname oder bei Privatpersonen beispielsweise der Nachname dagestellt werden. Beispiele: Yellow Strom GmbH oder Hagen """ # todo: replace name1/2/3 with something more readable. no one wants to deal with that. maybe serialize as name1/2/3 # but resolve to readable python fields under the hood gewerbekennzeichnung: bool """ Kennzeichnung ob es sich um einen Gewerbe/Unternehmen (gewerbeKennzeichnung = true) oder eine Privatperson handelt. (gewerbeKennzeichnung = false) """ #: Rollen, die die Geschäftspartner inne haben (z.B. Interessent, Kunde) geschaeftspartnerrolle: List[Geschaeftspartnerrolle] # todo: rename to plural # optional attributes #: Die Anrede für den GePa, Z.B. "Herr" anrede: Optional[Anrede] = None name2: Optional[str] = None """ Zweiter Teil des Namens. Hier kann der eine Erweiterung zum Firmennamen oder bei Privatpersonen beispielsweise der Vorname dagestellt werden. Beispiele: Bereich Süd oder Nina """ name3: Optional[str] = None """ Dritter Teil des Namens. Hier können weitere Ergänzungen zum Firmennamen oder bei Privatpersonen Zusätze zum Namen dagestellt werden. Beispiele: und Afrika oder Sängerin """ #: Handelsregisternummer des Geschäftspartners hrnummer: Optional[str] = None #: Amtsgericht bzw Handelsregistergericht, das die Handelsregisternummer herausgegeben hat amtsgericht: Optional[str] = None #: Bevorzugte Kontaktwege des Geschäftspartners kontaktweg: Optional[List[Kontaktart]] = [] #: Die Steuer-ID des Geschäftspartners; Beispiel: "DE 813281825" umsatzsteuer_id: Optional[str] = None #: Die Gläubiger-ID welche im Zahlungsverkehr verwendet wird; Z.B. "DE 47116789" glaeubiger_id: Optional[str] = None #: E-Mail-Adresse des Ansprechpartners. Z.B. "info@hochfrequenz.de" e_mail_adresse: Optional[str] = None #: Internetseite des Marktpartners website: Optional[str] = None #: Adressen der Geschäftspartner, an denen sich der Hauptsitz befindet partneradresse: Optional[Adresse] = None # todo: is it plural or not? the docs are bad