from __future__ import annotations

from dataclasses import dataclass, field
from typing import Any

from xsdata.models.datatype import XmlDate, XmlTime

from xjustiz.model_gen.xjustiz_0000_grunddatensatz_3_6 import (
    TypeGdsAktenzeichen,
    TypeGdsAnschrift,
    TypeGdsBasisnachricht,
    TypeGdsBehoerde,
    TypeGdsDauer,
    TypeGdsFahrzeug,
    TypeGdsGeldbetrag,
    TypeGdsGrunddaten,
    TypeGdsNachrichtenkopf,
    TypeGdsRefRollennummer,
    TypeGdsSchriftgutobjekte,
    TypeGdsStraftatbestand,
    TypeGdsSuchdaten,
)
from xjustiz.model_gen.xjustiz_0010_cl_allgemein_3_7 import (
    CodeGdsPolizeibehoerdenTyp3,
)
from xjustiz.model_gen.xjustiz_0020_cl_gerichte_3_3 import CodeGdsGerichteTyp3
from xjustiz.model_gen.xjustiz_0040_cl_rollenbezeichnung_3_5 import (
    CodeGdsRollenbezeichnungTyp3,
)
from xjustiz.model_gen.xjustiz_0050_cl_staaten_3_2 import CodeGdsStaatenTyp3
from xjustiz.model_gen.xjustiz_0510_cl_straf_3_5 import (
    CodeStrafAbwesenheitsartTyp3,
    CodeStrafAnordnungsartTyp3,
    CodeStrafAsservatAuftragTyp3,
    CodeStrafAsservatGegenstandsartTyp3,
    CodeStrafAsservatStatusmitteilungTyp3,
    CodeStrafAuflagenTyp3,
    CodeStrafBescheidartTyp3,
    CodeStrafBeschlussartTyp3,
    CodeStrafBesuchserlaubnisartTyp3,
    CodeStrafBeteiligungsartTyp3,
    CodeStrafBeweismittelTyp3,
    CodeStrafEinstellungsartTyp3,
    CodeStrafEntscheidungsartTyp3,
    CodeStrafErgebnisartTyp3,
    CodeStrafErledigungsartenTyp3,
    CodeStrafFahndungsanlassTyp3,
    CodeStrafFahndungsregionTyp3,
    CodeStrafFahndungsverfahrenTyp3,
    CodeStrafFahndungszweckTyp3,
    CodeStrafGeldanordnungsartTyp3,
    CodeStrafHaftartTyp3,
    CodeStrafHaftbeginnTyp3,
    CodeStrafHaftzeitendeartTyp3,
    CodeStrafHerkunftsartTyp3,
    CodeStrafLoeschungsgrundTyp3,
    CodeStrafOwiErledigungsartTyp3,
    CodeStrafPruefvorschriftTyp3,
    CodeStrafRechtsfolgenTyp3,
    CodeStrafRechtsmittelTyp3,
    CodeStrafVaErledigungsartTyp3,
    CodeStrafWeisungenTyp3,
)
from xjustiz.model_gen.xjustiz_0520_cl_personenwerte_3_2 import (
    CodeStrafFahrerlaubnisartTyp3,
    CodeStrafFuehrerscheinklasseTyp3,
    CodeStrafStrafverfolgungshindernisTyp3,
)
from xjustiz.model_gen.xjustiz_0530_cl_instanzwerte_3_1 import (
    CodeStrafSachgebietsschluesselTyp3,
)
from xjustiz.model_gen.xjustiz_0550_cl_nachrichten_3_3 import (
    CodeStrafAnordnungsbefugterTyp3,
    CodeStrafBfjArtDerAuskunftsdatenTyp3,
    CodeStrafBfjBehoerdenfuehrungszeugnisBzrGrundTyp3,
    CodeStrafBfjBenachrichtigungGrundTyp3,
    CodeStrafBfjBzrFreiheitsentziehungArtTyp3,
    CodeStrafBfjBzrHinweisArtTyp3,
    CodeStrafBfjBzrTextkennzahlTyp3,
    CodeStrafBfjGzrGewerbeartTyp3,
    CodeStrafBfjGzrGewerbeschluesselTyp3,
    CodeStrafBfjGzrRechtsvorschriftenTyp3,
    CodeStrafBfjGzrTextkennzahlTyp3,
    CodeStrafBfjHinweisAnlassTyp3,
    CodeStrafBfjNachrichtencodeBzrAnfrageUnbeschraenkteAuskunftTyp3,
    CodeStrafBfjNachrichtencodeBzrAntragBehoerdenfuehrungszeugnisTyp3,
    CodeStrafBfjNachrichtencodeBzrAuskunftTyp3,
    CodeStrafBfjNachrichtencodeBzrMitteilungenTyp3,
    CodeStrafBfjNachrichtencodeGzrAnfrageOeffentlicheStelleTyp3,
    CodeStrafBfjNachrichtencodeGzrAuskunftTyp3,
    CodeStrafBfjNachrichtencodeGzrMitteilungenTyp3,
    CodeStrafBfjUebermittelndeStelleTyp3,
    CodeStrafBfjVerwendungszweckAuskunftTyp3,
    CodeStrafMassnahmeartTyp3,
    CodeStrafMassnahmegegenstandTyp3,
    CodeStrafSicherungsmassnahmeTyp3,
    CodeStrafTatmerkmalTyp3,
    CodeStrafWebRegZurechnungTyp3,
)

__NAMESPACE__ = "http://www.xjustiz.de"


@dataclass(kw_only=True)
class TypeStrafBfjAusgangszusatztext:
    """
    :ivar position: Dieses Attribut dient zur Sortierung von
        Ausgangstexten, die einer bestimmten Entscheidung zugeordnet
        sind. Es ist eine positive ganze Zahl einzutragen.
    :ivar ausgangstext: Dieses Element steht für eine Zusatzinformation
        zur vorliegenden Entscheidung. Das Element darf maximal 2048
        Zeichen lang sein. Es dürfen verwendet werden: Buchstaben,
        Ziffern, Sonderzeichen (Zwischenraum und die Zeichen: " ' ´ ` (
        ) * + , - . / ; = ? §). Gleiche Sonderzeichen dürfen nicht
        aufeinander folgen.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Ausgangszusatztext"

    position: int = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    ausgangstext: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )


@dataclass(kw_only=True)
class TypeStrafBfjBetrag:
    """
    :ivar betrag: Sofern Centbeträge oder Pfennigbeträge angegeben
        werden, sind diese durch das Zeichen "." vom vollen Betrag zu
        trennen. Es sind nur positive Werte einschließlich "null"
        erlaubt.
    :ivar auswahl_waehrung: Dieses Element steht für die Währung, in der
        der Betrag angegeben ist.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Betrag"

    betrag: float = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    auswahl_waehrung: TypeStrafBfjBetrag.AuswahlWaehrung = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class AuswahlWaehrung:
        eur: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        dm: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafBfjDatenRechtswirksamkeit:
    """
    :ivar datum_rechtskraft: Datum, an dem die Rechtskraft einer
        Entscheidung eingetreten ist.
    :ivar datum_vollziehbarkeit: Datum, an dem die Vollziehbarkeit der
        Verwaltungsentscheidung eingetreten ist.
    :ivar datum_unanfechtbar: Datum, an dem die Unanfechtbarkeit der
        Verwaltungsentscheidung eingetreten ist.
    :ivar datum_verzicht_rechtswirksamkeit: Datum, an dem die
        Rechtswirksamkeit eines Verzichts eingetreten ist.
    """

    class Meta:
        name = "Type.STRAF.BFJ.DatenRechtswirksamkeit"

    datum_rechtskraft: None | XmlDate = field(
        default=None,
        metadata={
            "name": "datumRechtskraft",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    datum_vollziehbarkeit: None | XmlDate = field(
        default=None,
        metadata={
            "name": "datumVollziehbarkeit",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    datum_unanfechtbar: None | XmlDate = field(
        default=None,
        metadata={
            "name": "datumUnanfechtbar",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    datum_verzicht_rechtswirksamkeit: None | XmlDate = field(
        default=None,
        metadata={
            "name": "datumVerzichtRechtswirksamkeit",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjFahrerlaubnis:
    """
    :ivar fahrerlaubnissperre_bis: Falls eine befristete Sperre für die
        Neuerteilung der Fahrerlaubnis vorliegt, ist hier das Datum
        einzutragen, an dem die Sperre endet.
    :ivar fahrerlaubnissperre_fuer_immer: Falls die Sperre für die
        Neuerteilung der Fahrerlaubnis für immer gilt, ist dieses
        Element zu übermitteln.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Fahrerlaubnis"

    fahrerlaubnissperre_bis: None | XmlDate = field(
        default=None,
        metadata={
            "name": "fahrerlaubnissperreBis",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    fahrerlaubnissperre_fuer_immer: None | bool = field(
        default=None,
        metadata={
            "name": "fahrerlaubnissperreFuerImmer",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjStraftat:
    """
    :ivar datum_der_tat: Datum der Tat. Bei mehreren Straftaten: Datum
        der letzten Tat. Bei fortgesetzter Handlung: Datum des Endes der
        Tathandlung. Wenn in diesem Element keine Angabe gemacht wird,
        ist der Tatzeitpunkt nicht bekannt.
    :ivar tatbezeichnung: Rechtliche Bezeichnung der Tat, wie sie sich
        aus der Urteilsformel ergibt, ggf. mit Angaben zu Täterschaft
        und Teilnahme sowie zum Versuch.Dieses Element darf maximal 2048
        Zeichen lang sein.
    :ivar angewendete_rechtsvorschriften: Die nach § 260 Abs. 5 StPO
        nach der Urteilsformel aufgeführten Vorschriften. Die
        Bezeichnung des angewendeten Gesetzes ist vorangestellt. Die
        einzelne Vorschrift beginnt mit dem Zeichen § bzw. der Angabe
        "Artikel". Mehrere Vorschriften sind jeweils durch Kommata
        getrennt. Beispiel: StGB §§ 211, 22, 23. Dieses Element darf
        maximal 2048 Zeichen lang sein.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Straftat"

    datum_der_tat: None | str = field(
        default=None,
        metadata={
            "name": "datumDerTat",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    tatbezeichnung: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    angewendete_rechtsvorschriften: str = field(
        metadata={
            "name": "angewendeteRechtsvorschriften",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )


@dataclass(kw_only=True)
class TypeStrafKennziffer:
    """
    Dieser Datentyp dient zur Abbildung einer Kennziffer oder Nummer eines
    benannten Katalogs und dessen Version.

    :ivar katalog: Hier ist die Bezeichnung des Katalogs oder
        Verzeichnisses anzugeben, um klarzustellen, welcher Katalog für
        nachfolgende Kennziffer verwendet wird. Bsp: PKS, GKG, AUMIAU,
        ZSTV etc.
    :ivar version: Welche konkrete Version des Katalogs oder Datum des
        Verzeichnisses liegt vor? z.B.. 1.4
    :ivar wert: Hier steht der konkrete Wert der Kennziffer aus dem
        bezeichneten Katalog z.B. 1110
    :ivar zusatz: Dieses Textelement dient zur Konkretisierung des
        Wertes und ist abhängig von dem verwendeten Katalog. Hier können
        auch Angaben gemacht werden, die als Zusatzinformation zu dem
        Wert gelten.
    """

    class Meta:
        name = "Type.STRAF.Kennziffer"

    katalog: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    version: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    wert: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    zusatz: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafMessung:
    """
    Dieser Datentyp kann zur Angabe von Messergebnissen verwendet werden
    z.B. von Blutalkohol-Untersuchungen oder Geschwindigkeitsmessungen.

    :ivar messwert: Der Wert der Messung z.B. 2,3
    :ivar einheit: z.B. km/h, Tonnen, Promille
    :ivar gegenstand: Eine Beschreibung der gemessenen Größe bzw. der
        Gegenstand der Messung z.B. Geschwindigkeit, Gewicht, Alkohol,
        ...
    """

    class Meta:
        name = "Type.STRAF.Messung"

    messwert: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    einheit: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    gegenstand: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafOwiEinspruch:
    class Meta:
        name = "Type.STRAF.OWI.Einspruch"

    datum_des_einspruchs: XmlDate = field(
        metadata={
            "name": "datumDesEinspruchs",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    bussgeldbehoerde: TypeStrafOwiEinspruch.Bussgeldbehoerde = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    bussgeldbescheiddatum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Bussgeldbehoerde:
        ref_instanznummer: str = field(
            metadata={
                "name": "ref.instanznummer",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )


@dataclass(kw_only=True)
class TypeStrafAsservate:
    """
    :ivar nummer: Die Nummer wird als eindeutige Kennziffer innerhalb
        des XML-Dokuments benötigt, wenn aus anderen Elementen innerhalb
        des XML-Dokuments heraus auf dieses Asservat verwiesen wird.
    :ivar asservaten_id: Jedes Asservat erhält eine eindeutige
        Asservaten-ID. Diese setzt sich aus Länderkennzeichen
        (2stellig), Jahr (2stellig), laufende Nummer (6 bzw. 8stellig),
        Prüfziffer (2stellig), Art der ID zusammen. Die ID soll als
        bundesweit eindeutiger Schlüssel bei jedem Kommunikationsanlass
        zu diesem Asservat übermittelt werden. Für die Asservate die bei
        der Justiz erfasst werden gilt folgende Regel: asservatenID =
        XJustiz-ID_UUID
    :ivar auswahl_asservatmitteilung:
    :ivar grund: Grund für die Nichtübernahme oder veränderte Übernahme
        des Asservates z.B. fehlende Anlieferung, falsche Menge etc.
    :ivar gegenstandsart:
    :ivar aufbewahrungsbehoerde:
    :ivar gefahrgut:
    :ivar lagerhinweis:
    :ivar bezeichnung:
    :ivar menge: Hier kann die Menge als Freitext erfasst werden.
    :ivar einheit:
    :ivar herkunft:
    :ivar asservatengruppe:
    :ivar einlagerungsdatum:
    """

    class Meta:
        name = "Type.STRAF.Asservate"

    nummer: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    asservaten_id: str = field(
        metadata={
            "name": "asservatenID",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    auswahl_asservatmitteilung: (
        None | TypeStrafAsservate.AuswahlAsservatmitteilung
    ) = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    grund: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    gegenstandsart: None | CodeStrafAsservatGegenstandsartTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    aufbewahrungsbehoerde: None | TypeGdsBehoerde = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    gefahrgut: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    lagerhinweis: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    bezeichnung: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    menge: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    einheit: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    herkunft: list[TypeStrafAsservate.Herkunft] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    asservatengruppe: None | TypeStrafAsservate.Asservatengruppe = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    einlagerungsdatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class AuswahlAsservatmitteilung:
        statusmitteilung: None | CodeStrafAsservatStatusmitteilungTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        auftrag: None | CodeStrafAsservatAuftragTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Herkunft:
        """
        :ivar person: Die beteiligte Person wird über einen Verweis auf
            die Rollennummer eines Beteiligten im Grunddatensatz
            angegeben.
        :ivar herkunftsart:
        """

        person: TypeGdsRefRollennummer = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        herkunftsart: None | CodeStrafHerkunftsartTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Asservatengruppe:
        """
        :ivar gruppe: Gemeint ist die Gruppe, unter der das Asservat
            erfasst wurde, z.B. 8/04
        :ivar laufende_nummer: Die laufende Nummer in der
            Asservatengruppe, z.B. Nr.4
        """

        gruppe: str = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )
        laufende_nummer: None | str = field(
            default=None,
            metadata={
                "name": "laufendeNummer",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class TypeStrafBfjBzrTextkennzahl:
    """
    :ivar textkennzahl: Dieses Element bezeichnet die verwendete
        Textkennzahl.
    :ivar zusatztext: Dieses Element gibt den zu einer Textkennzahl im
        Register zu vermerkenden bzw. vermerkten Inhalt wieder, ggf. mit
        Zusätzen oder Datumsangaben. Das Element darf maximal 2042
        Zeichen lang sein. Es dürfen verwendet werden: Buchstaben,
        Ziffern, Sonderzeichen (Zwischenraum und die Zeichen: " ' ´ ` (
        ) * + , - . / ; = ? §). Gleiche Sonderzeichen dürfen nicht
        aufeinander folgen.
    """

    class Meta:
        name = "Type.STRAF.BFJ.BZR.Textkennzahl"

    textkennzahl: CodeStrafBfjBzrTextkennzahlTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    zusatztext: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjGzrRechtsvorschrift:
    """
    :ivar bezeichnung_lang: Deskriptive Bezeichnung der Rechtsvorschrift
        (muss angegeben werden, falls kein Code angegeben ist. Dieses
        Element darf maximal 2048 Zeichen lang sein.
    :ivar bezeichnung_code: Identifizierung der Rechtsvorschrift über
        einen Code (muss angegeben werden, falls keine deskriptive
        Bezeichnung angegeben ist.
    :ivar paragraph: Angabe des Paragraphen zur Rechtsvorschrift. Dieses
        Element darf maximal 5 Zeichen lang sein.
    :ivar artikel: Angabe zur Rechtsvorschrift: Artikel Dieses Element
        darf maximal 5 Zeichen lang sein.
    :ivar absatz: Angabe zur Rechtsvorschrift: Absatz Dieses Element
        darf maximal 2 Zeichen lang sein.
    :ivar nummer: Angabe zur Rechtsvorschrift: Nummer Dieses Element
        darf maximal 5 Zeichen lang sein.
    :ivar buchstabe: Angabe zur Rechtsvorschrift: Buchstabe Dieses
        Element darf maximal 1 Zeichen lang sein.
    :ivar satz: Angabe zur Rechtsvorschrift: Satz Dieses Element darf
        maximal 1 Zeichen lang sein.
    :ivar halbsatz: Angabe zur Rechtsvorschrift: Halbsatz Dieses Element
        darf maximal 1 Zeichen lang sein.
    :ivar alternative: Angabe zur Rechtsvorschrift: Alternative Dieses
        Element darf maximal 3 Zeichen lang sein.
    """

    class Meta:
        name = "Type.STRAF.BFJ.GZR.Rechtsvorschrift"

    bezeichnung_lang: None | str = field(
        default=None,
        metadata={
            "name": "bezeichnungLang",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    bezeichnung_code: None | CodeStrafBfjGzrRechtsvorschriftenTyp3 = field(
        default=None,
        metadata={
            "name": "bezeichnungCode",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    paragraph: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    artikel: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    absatz: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    nummer: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    buchstabe: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    satz: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    halbsatz: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    alternative: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjGzrTextkennzahl:
    """
    :ivar textkennzahl: Dieses Element bezeichnet die verwendete
        Textkennzahl.
    :ivar zusatztext: Dieses Element gibt den ggf. zu einer Textkennzahl
        im Register zu vermerkenden bzw. vermerkten Inhalt wieder, ggf.
        mit Datumsangaben. Das Element darf maximal 2042 Zeichen lang
        sein. Es dürfen verwendet werden: Buchstaben, Ziffern, Sonderzei
        chen (Zwischenraum und die Zeichen: " ' ´ ` ( ) * + , - . / ; =
        ? §). Gleiche Sonderzeichen dürfen nicht aufeinander folgen.
    """

    class Meta:
        name = "Type.STRAF.BFJ.GZR.Textkennzahl"

    textkennzahl: CodeStrafBfjGzrTextkennzahlTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    zusatztext: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjGeldstrafe:
    """
    :ivar anzahl_tagessaetze: Hier ist Anzahl der verhängten Tagessätze
        einzutragen, falls eine Geldstrafe vorliegt.
    :ivar hoehe_tagessaetze: Höhe des Tagessatzes einer Geldstrafe.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Geldstrafe"

    anzahl_tagessaetze: int = field(
        metadata={
            "name": "anzahlTagessaetze",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    hoehe_tagessaetze: TypeStrafBfjBetrag = field(
        metadata={
            "name": "hoeheTagessaetze",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )


@dataclass(kw_only=True)
class TypeStrafBfjOrdnungsdaten:
    """
    :ivar entscheidungsdatum: Datum der ersten Entscheidung des ersten
        Rechtszugs. Ist gegen einen Strafbefehl Einspruch eingelegt
        worden, ist die auf den Einspruch ergangene Entscheidung erste
        Entscheidung des ersten Rechtszugs, außer wenn der Einspruch
        verworfen wurde.
    :ivar aktenzeichen_entscheidung: Bezeichnung des Vorgangs
        (Aktenzeichen, Geschäftszeichen), unter dem die Entscheidung
        getroffen bzw. der Verzicht erklärt wurde. Dieses Element darf
        maximal 100 Zeichen lang sein.
    :ivar behoerde_erkennend: Bezeichnung der Stelle, bei der die
        Entscheidung getroffen bzw. der Verzicht erklärt wurde.
    :ivar laufende_nummer: Im Register geführte laufende Nummer der
        Entscheidung zu der gegebenen Person.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Ordnungsdaten"

    entscheidungsdatum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    aktenzeichen_entscheidung: str = field(
        metadata={
            "name": "aktenzeichenEntscheidung",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    behoerde_erkennend: TypeStrafBfjOrdnungsdaten.BehoerdeErkennend = field(
        metadata={
            "name": "behoerdeErkennend",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    laufende_nummer: None | str = field(
        default=None,
        metadata={
            "name": "laufendeNummer",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )

    @dataclass(kw_only=True)
    class BehoerdeErkennend:
        """
        :ivar kennzeichnung: Hier ist die XJustiz-ID des Gerichts aus
            der Codeliste Code.GDS.Gerichte aufzuführen. Sollte für die
            erkennde Behörde keine XJustiz-ID vorhanden sein, soll der
            Name der Behörde in dem Element "behoerdenname" aufgeführt
            werden.
        :ivar behoerdenname: Namen der erkennenden (entscheidenden)
            Stelle.
        :ivar anschrift: Anschrift der erkennenden Stelle
        """

        kennzeichnung: None | TypeGdsBehoerde = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        behoerdenname: str = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )
        anschrift: None | TypeGdsAnschrift = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafBfjStatistik:
    """
    :ivar gewerbeart: Angabe der Art des Gewerbes
    :ivar gewerbeschluessel: Angabe des Gewerbeschlüssels.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Statistik"

    gewerbeart: CodeStrafBfjGzrGewerbeartTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    gewerbeschluessel: CodeStrafBfjGzrGewerbeschluesselTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )


@dataclass(kw_only=True)
class TypeStrafBfjUebermittelndeStelle:
    """
    :ivar sender: Der Sender der Nachricht auf Ebene der
        Transportschicht.
    :ivar empfaenger: Der Empfänger der Nachricht auf Ebene der
        Transportschicht.
    """

    class Meta:
        name = "Type.STRAF.BFJ.UebermittelndeStelle"

    sender: CodeStrafBfjUebermittelndeStelleTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    empfaenger: None | CodeStrafBfjUebermittelndeStelleTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjVerwendungszweck:
    """
    Dieser Datentyp steht für den Zweck, zu dem eine Auskunft benötigt
    wird.

    Dieser ist von der anfragenden Stelle bei der Anfrage anzugeben.
    Stellen erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen Zwecke
    eine Auskunft aus einem Register des BfJ.

    :ivar verwendungszweck_code: Dieses Element steht für den Zweck, zu
        dem die anfragende Stelle die Auskunft benötigt. Dieser ist von
        der anfragenden Stelle bei der Anfrage anzugeben. Stellen
        erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen Zwecke
        eine Auskunft aus einem Register des BfJ.
    :ivar zusatz: Für nähere Erläuterungen zum Zweck, für den die
        Auskunft benötigt wird, kann hier ein Freitext eingefügt werden.
        Der Freitext darf maximal 44 Zeichen lang sein. Alle Zusätze
        werden im BfJ intellektuell geprüft, wodurch sich die Erteilung
        der Auskunft verzögert. Daher sollte in der Regel auf Zusätze
        verzichtet werden. Falls im Element verwendungszweck der
        Verwendungszweck "U99" ausgewählt wird, muss zwingend eine
        Angabe im Element zusatz übermittelt werden.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Verwendungszweck"

    verwendungszweck_code: CodeStrafBfjVerwendungszweckAuskunftTyp3 = field(
        metadata={
            "name": "verwendungszweckCode",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    zusatz: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjWeitereAngabenBeteiligter:
    """
    :ivar ref_rollennummer: Die Rollennummer definiert, welcher
        konkreten Rolle die Beteiligtendaten im jeweiligen Kontext
        zuzuordnen sind.
    :ivar art_der_auskunftsdaten: Über diesen Wert wird definiert, ob es
        sich bei den wiedergegebenen Beteiligtendaten um die
        Beteiligtendaten der Anfrage oder um die führenden
        Beteiligtendaten des Registers oder um die von diesen Daten
        abweichenden Beteiligtendaten des Registers handelt.
    :ivar dnummer: Die DNummer (daktyloskopische Referenz-Nummer)
        referenziert auf alle beim BKA abgespeicherten Finger- und/oder
        Handflächenabdrücke zu einer Person. Sie besteht aus einem
        Buchstaben gefolgt von 12 Ziffern, mithin aus 13 Zeichen. Sie
        ist anzugeben, wenn es sich bei der betroffenen Person um einen
        Drittstaatsangehörigen (also um einen Staatsangehörigen eines
        Nicht-EU-Staates), einen Staatenlosen oder eine Person mit
        ungeklärter Staatsangehörigkeit handelt.
    :ivar anschrift_unstrukturiert: An dieser Stelle können die
        Anschriftsinformationen unstrukturiert eingetragen werden. Die
        Daten werden als fortlaufende Zeichenkette geschrieben. Eine
        bestimmte Reihenfolge oder Trennzeichen sind nicht vorgegeben
        (Beispiel: „53113 Bonn, Adenauerallee“).
    :ivar weitere_angaben: Zusätzliche Angaben aus den Daten des
        ausländischen Registers, z.B. frühere Namen der betroffenen
        Person.
    :ivar geburtsname_zweifelhaft: Ist in Mitteilungen an BZR oder
        GZRnat ein Alias-Geburtsname der betroffenen Person enthalten,
        muss dieses Element übermittelt werden. Es kann entweder ein 'A'
        oder ein 'B' enthalten, alternative Eintragungen sind nicht
        möglich. Falls der mitteilenden Stelle bekannt ist, dass der
        führende Geburtsname zutreffend ist, ist ein 'A' einzutragen.
        Andernfalls - wenn der mitteilenden Stelle also nicht bekannt
        ist, ob der führende Geburtsname oder aber ein Alias-Geburtsname
        zutreffend ist - ein 'B'.
    """

    class Meta:
        name = "Type.STRAF.BFJ.WeitereAngabenBeteiligter"

    ref_rollennummer: None | TypeGdsRefRollennummer = field(
        default=None,
        metadata={
            "name": "ref.rollennummer",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    art_der_auskunftsdaten: None | CodeStrafBfjArtDerAuskunftsdatenTyp3 = (
        field(
            default=None,
            metadata={
                "name": "artDerAuskunftsdaten",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
    )
    dnummer: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    anschrift_unstrukturiert: None | str = field(
        default=None,
        metadata={
            "name": "anschriftUnstrukturiert",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    weitere_angaben: list[str] = field(
        default_factory=list,
        metadata={
            "name": "weitereAngaben",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    geburtsname_zweifelhaft: None | str = field(
        default=None,
        metadata={
            "name": "geburtsnameZweifelhaft",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBeweismittel:
    """
    :ivar nummer: Da von anderen Elementen auf ein schon erfasstes
        Beweismittel verwiesen wird, ist eine eindeutige Nummer für das
        Element "Beweismittel" notwendig.
    :ivar art: Dieses Element enthält die "Art" des Beweismittels.
        Mögliche Werte sind hier z.B. Zeuge, Sachverständiger, Beiakte,
        Einlassung, pol. Ermittlungsvermerk.
    :ivar aktenblatt: Es ist die Blattzahl der Akte gemeint.
    :ivar kurzbezeichnung:
    :ivar inhalt: Dieses Element steht für eine Art Inhaltsangabe des
        Beweismittels. Beispielsweise kann ein Beweismittel mit der
        Kurzbezeichnung Gutachten erfasst werden. Im Inhalt kann dazu
        dann die weitergehende Bewertung vorgenommen werden, z.B.
        "Gutachten zu den Einbruchspuren".
    :ivar person: Ist das Beweismittel eine Person (Zeuge,
        Sachverständiger), kann hier ein Verweis auf die Rollennummer
        eines Beteiligten im Grunddatensatz angegeben werden.
    :ivar ref_asservate:
    """

    class Meta:
        name = "Type.STRAF.Beweismittel"

    nummer: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    art: None | CodeStrafBeweismittelTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    aktenblatt: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    kurzbezeichnung: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    inhalt: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    person: list[TypeGdsRefRollennummer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ref_asservate: None | str = field(
        default=None,
        metadata={
            "name": "ref.asservate",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafDauer:
    """
    Die Angabe einer zeitlichen Ausdehnung eines Ereignisses.

    Die Länge einer Zeitspanne bzw. Zeitraums.

    :ivar angaben_dauer:
    :ivar freizeitarreste: Mit diesem Element können die Freizeitarreste
        für die Freizeiten mitgeteilt werden. Bei der Angabe der
        Freizeitarreste ist die Anzahl der Freizeiten und nicht die
        Anzahl der einzelnen Tage anzugeben. Der mitgeteilte Wert darf
        keine führende Null haben.
    :ivar tagessatzhoehe:
    """

    class Meta:
        name = "Type.STRAF.Dauer"

    angaben_dauer: None | TypeGdsDauer = field(
        default=None,
        metadata={
            "name": "angabenDauer",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    freizeitarreste: None | int = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tagessatzhoehe: None | TypeGdsGeldbetrag = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafErgebnis:
    """
    Bezogen auf eine Tat kann hiermit ein Ergebnis aufgrund der Angabe
    einer Katalogkennziffer.

    :ivar ref_tat: Hier kann ein Verweis auf die entsprechende Tat
        angegeben werden.
    :ivar ergebnisart:
    :ivar kennziffer: Da es derzeit keinen bundeseinheitlichen
        Kennziffernkatalog (ZSTV, AUMIAU) für Erledigungsarten gibt,
        besteht hier die Möglichkeit den jeweiligen Katalog mit
        entsprechender Kennziffer einzubinden.
    """

    class Meta:
        name = "Type.STRAF.Ergebnis"

    ref_tat: None | str = field(
        default=None,
        metadata={
            "name": "ref.Tat",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    ergebnisart: None | CodeStrafErledigungsartenTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    kennziffer: list[TypeStrafKennziffer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafErledigung:
    """
    :ivar art: Für die Inhalte, die in diesem Element auftreten können,
        soll eine Codeliste verwendet werden (Zählkartenkennzeichen).
    :ivar neues_aktenzeichen: Möglichkeit der Mitteilung eines neuen
        Aktenzeichens bei interner Abgabe innerhalb der StA.
    :ivar erledigungsdatum:
    :ivar beteiligter: Dieses Element enthält einen Verweis auf die
        Rollennummer eines Beteiligten im Grunddatensatz. Dadurch kann
        auch die Erledigung eines Verfahrens für einzelne Beschuldigte
        erfasst werden.
    :ivar verfahren: Mit diesem Element wird angegeben, ob die
        Erledigung das gesamte Verfahren betrifft. Wenn das Element den
        Wert false enthält, bezieht sich die Erledigung nur auf einen
        Teil des Verfahrens, z.B. auf einzelne Mitbeschuldigte oder
        einzelne Tatkomplexe.
    :ivar ref_tat: Wenn sich die Erledigung nur auf einzelne Tatkomplexe
        bezieht, kann hier auf die erledigten Taten verwiesen werden.
    :ivar erledigungskennziffer:
    :ivar erledigungsbezeichnung:
    :ivar betroffene_instanz: Hier kann auf eine weitere Instanz
        verwiesen werden. Bei einer Erledigung durch Verbindung zu einem
        anderen Verfahren wird hier auf eine Instanz verwiesen, in der
        das führende AZ hinterlegt ist. Ist die Erledigung z.B. eine
        Abgabe, wird in der hier referenzierten Instanz die empfangende
        Behörde beschrieben.
    """

    class Meta:
        name = "Type.STRAF.Erledigung"

    art: None | CodeStrafErledigungsartenTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    neues_aktenzeichen: None | TypeGdsAktenzeichen = field(
        default=None,
        metadata={
            "name": "neuesAktenzeichen",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    erledigungsdatum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    beteiligter: list[TypeGdsRefRollennummer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    verfahren: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ref_tat: list[str] = field(
        default_factory=list,
        metadata={
            "name": "ref.Tat",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    erledigungskennziffer: list[TypeStrafKennziffer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    erledigungsbezeichnung: list[str] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    betroffene_instanz: None | TypeStrafErledigung.BetroffeneInstanz = field(
        default=None,
        metadata={
            "name": "betroffeneInstanz",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class BetroffeneInstanz:
        """
        :ivar ref_instanznummer: Dieses Element enthält einen Verweis
            auf die Instanz, bei der die oben angegebene ID verwendet
            wird. Verwiesen wird auf das Element Instanznummer.
        """

        ref_instanznummer: str = field(
            metadata={
                "name": "ref.instanznummer",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )


@dataclass(kw_only=True)
class TypeStrafFuehrerschein:
    """
    :ivar fahrerlaubnisart: Für die Abbildung der Art eines
        Führerscheins wird eine Codeliste WL_Fahrerlaubnisart verwendet
        werden. Mögliche Werte sind z.B. Allgemeine Fahrerlaubnis (§ 5
        StVZO)
    :ivar klasse: Für die Abbildung der Führerscheinklasse kann eine
        Codeliste WL_Fuehrerscheinklasse verwendet werden.
    :ivar ausstellungsdatum:
    :ivar ausstellungsbehoerde:
    :ivar fuehrerscheinnummer:
    :ivar abgabedatum:
    :ivar ablaufdatum:
    :ivar sicherstellungsdatum:
    :ivar rueckgabedatum:
    """

    class Meta:
        name = "Type.STRAF.Fuehrerschein"

    fahrerlaubnisart: None | CodeStrafFahrerlaubnisartTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    klasse: list[CodeStrafFuehrerscheinklasseTyp3] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ausstellungsdatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ausstellungsbehoerde: None | TypeGdsBehoerde = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    fuehrerscheinnummer: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    abgabedatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ablaufdatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    sicherstellungsdatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    rueckgabedatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafOwiVollzugsbehoerde:
    """
    :ivar wohnort_polizei: Hier kann der einschlägige Code der
        Polizeibehörde aus der Codeliste ausgewählt werden.
    :ivar wohnort_jva: Hier kann die XJustiz-ID der
        Justizvollzugsanstalt aus der Codeliste angegeben werden.
    """

    class Meta:
        name = "Type.STRAF.OWI.Vollzugsbehoerde"

    wohnort_polizei: None | CodeGdsPolizeibehoerdenTyp3 = field(
        default=None,
        metadata={
            "name": "wohnort.polizei",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    wohnort_jva: None | CodeGdsGerichteTyp3 = field(
        default=None,
        metadata={
            "name": "wohnort.jva",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafRechtskraft:
    """
    :ivar rechtskraftdatum:
    :ivar betroffener:
    :ivar gegenstand: Für den Fall der Teilrechtskraft
    """

    class Meta:
        name = "Type.STRAF.Rechtskraft"

    rechtskraftdatum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    betroffener: list[TypeGdsRefRollennummer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    gegenstand: list[str] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )


@dataclass(kw_only=True)
class TypeStrafRechtsmittel:
    class Meta:
        name = "Type.STRAF.Rechtsmittel"

    rechtsmittelart: CodeStrafRechtsmittelTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    rechtsmittel_id: None | str = field(
        default=None,
        metadata={
            "name": "rechtsmittelID",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    endedatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    ruecknahme: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    beteiligter: TypeGdsRefRollennummer = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )


@dataclass(kw_only=True)
class TypeStrafTatort:
    """
    :ivar anschrift: Type.GDS.Anschrift ergänzt um Gemeinde und dem
        Straßenkilometer.
    :ivar ortsbeschreibung: Freitext zur weiteren Beschreibung des
        Tatorts.
    :ivar auswahl_oertlichkeit:
    :ivar auswahl_strassenzustand:
    """

    class Meta:
        name = "Type.STRAF.Tatort"

    anschrift: list[TypeStrafTatort.Anschrift] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ortsbeschreibung: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    auswahl_oertlichkeit: None | TypeStrafTatort.AuswahlOertlichkeit = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    auswahl_strassenzustand: None | TypeStrafTatort.AuswahlStrassenzustand = (
        field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
    )

    @dataclass(kw_only=True)
    class Anschrift(TypeGdsAnschrift):
        gemeinde: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([ -~]|[¡-£]|¥|[§-¬]|[®-·]|[¹-»]|[¿-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        strassenkilometer: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )

    @dataclass(kw_only=True)
    class AuswahlOertlichkeit:
        innerorts: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        ausserorts: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class AuswahlStrassenzustand:
        glaette: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        naesse: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafTatvorwurf:
    """
    :ivar person:
    :ivar astral_id: Hier ist ein ASTRAL-Schlüssel gem.
        Code.STRAF.ASTRAL.Typ3 (entspricht der ASTRAL-Mastertabelle des
        Bundesamtes für Justiz) zu verwenden.
    """

    class Meta:
        name = "Type.STRAF.Tatvorwurf"

    person: list[TypeGdsRefRollennummer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    astral_id: TypeGdsStraftatbestand = field(
        metadata={
            "name": "astralID",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )


@dataclass(kw_only=True)
class TypeStrafUntersuchung:
    """
    :ivar nummer: Da von anderen Elementen auf eine schon erfasste
        Untersuchung verwiesen wird, ist eine eindeutige Nummer für das
        Element "Untersuchung" notwendig.
    :ivar auswahl_art:
    :ivar datum:
    :ivar uhrzeit:
    :ivar untersuchungsergebnis:
    :ivar untersuchter: Die zu untersuchende Person wird über einen
        Verweis auf die Rollennummer eines Beteiligten im Grunddatensatz
        angegeben.
    """

    class Meta:
        name = "Type.STRAF.Untersuchung"

    nummer: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    auswahl_art: TypeStrafUntersuchung.AuswahlArt = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    datum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    uhrzeit: None | XmlTime = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    untersuchungsergebnis: list[TypeStrafMessung] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "min_occurs": 1,
        },
    )
    untersuchter: None | TypeGdsRefRollennummer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class AuswahlArt:
        blutuntersuchung: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        urinuntersuchung: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafZahlung:
    """
    Angaben zu Zahlungen im Allgemeinen.

    :ivar auswahl_buchungsart:
    :ivar betrag: Hier ist stets ein positiver Wert anzugeben, auch bei
        Stornierungen
    :ivar eingangsdatum: Das Eingangsdatum einer Zahlung und die
        Belegnummer identifizieren eine Zahlung eindeutig (innerhalb
        einer Behörde)
    :ivar belegnummer: Die Belegnummer und Zahlungseingangsdatum
        identifizieren eine Zahlung eindeutig.
    """

    class Meta:
        name = "Type.STRAF.Zahlung"

    auswahl_buchungsart: TypeStrafZahlung.AuswahlBuchungsart = field(
        metadata={
            "name": "auswahl_Buchungsart",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    betrag: TypeGdsGeldbetrag = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    eingangsdatum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    belegnummer: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )

    @dataclass(kw_only=True)
    class AuswahlBuchungsart:
        storno: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        zahlung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafDatenaustauschInpol0500022:
    class Meta:
        name = "nachricht.straf.datenaustauschInpol.0500022"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafDatenaustauschInpol0500022.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        auswahl_suchkriterien: NachrichtStrafDatenaustauschInpol0500022.Fachdaten.AuswahlSuchkriterien = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class AuswahlSuchkriterien:
            """
            :ivar personendaten:
            :ivar d_nummer: Die DNummer (daktyloskopische Referenz-
                Nummer) referenziert auf alle beim BKA abgespeicherten
                Finger- und/oder Handflächenabdrücke zu einer Person.
                Sie besteht aus einem Buchstaben gefolgt von 12 Ziffern,
                mithin aus 13 Zeichen. Sie ist anzugeben, wenn es sich
                bei der betroffenen Person um einen
                Drittstaatsangehörigen (also um einen Staatsangehörigen
                eines Nicht-EU-Staates), einen Staatenlosen oder eine
                Person mit ungeklärter Staatsangehörigkeit handelt.
            :ivar azr_nummer: Das BAMF vergibt die AZR-Nummer als
                Geschäftszeichen bei der erstmaligen Speicherung von
                Daten eines Ausländers im allgemeinen Datenbestand des
                AZR. Mit diesem Datentyp wird die AZR-Nummer
                übermittelt. Sie beginnt mit sechs Ziffern, die das
                Datum der Erstanlage des AZR-Datensatzes wie folgt
                darstellen: JJMMTT. Darauf folgt eine beliebige Folge
                von sechs weiteren Ziffern. Dieser Typ ist eine
                Einschränkung des Basistyps datatypeC. Die Werte müssen
                dem Muster
                '[0-9]{2}([0][0-9]|[1][0-2])([0-2][0-9]|[3][0-1])[0-9]{6}'
                entsprechen.
            """

            personendaten: (
                None
                | NachrichtStrafDatenaustauschInpol0500022.Fachdaten.AuswahlSuchkriterien.Personendaten
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            d_nummer: None | str = field(
                default=None,
                metadata={
                    "name": "dNummer",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            azr_nummer: None | str = field(
                default=None,
                metadata={
                    "name": "azrNummer",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

            @dataclass(kw_only=True)
            class Personendaten:
                suchdaten: TypeGdsSuchdaten = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                rollenbezeichnung: CodeGdsRollenbezeichnungTyp3 = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )


@dataclass(kw_only=True)
class NachrichtStrafFehlermitteilung0500019:
    class Meta:
        name = "nachricht.straf.fehlermitteilung.0500019"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: None | TypeGdsGrunddaten = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafFehlermitteilung0500019.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        fehler: list[str] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "min_occurs": 1,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafLoeschmitteilung0500020:
    class Meta:
        name = "nachricht.straf.loeschmitteilung.0500020"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafLoeschmitteilung0500020.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        loeschung: str = field(
            metadata={
                "type": "Element",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )


@dataclass(kw_only=True)
class NachrichtStrafVermoegensabschoepfung0500014(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.vermoegensabschoepfung.0500014"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafVermoegensabschoepfung0500014.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        einleitdatum: XmlDate = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        sicherungsmassnahme: list[
            NachrichtStrafVermoegensabschoepfung0500014.Fachdaten.Sicherungsmassnahme
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "min_occurs": 1,
            },
        )
        sicherungsgrund: list[
            NachrichtStrafVermoegensabschoepfung0500014.Fachdaten.Sicherungsgrund
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "min_occurs": 1,
            },
        )
        vollziehungsmassnahme: list[
            NachrichtStrafVermoegensabschoepfung0500014.Fachdaten.Vollziehungsmassnahme
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        erledigung_vollziehungsmassnahme: list[
            NachrichtStrafVermoegensabschoepfung0500014.Fachdaten.ErledigungVollziehungsmassnahme
        ] = field(
            default_factory=list,
            metadata={
                "name": "erledigungVollziehungsmassnahme",
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Sicherungsmassnahme:
            """
            :ivar instanznummer: Instanznummer der Sicherungsmaßnahme
            :ivar kennzeichen:
            :ivar entscheidungsdatum:
            :ivar anordnungsbefugter:
            :ivar gericht:
            :ivar aktenzeichen: Aktenzeichen der Sicherungsmaßnahme
            """

            instanznummer: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            kennzeichen: CodeStrafSicherungsmassnahmeTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidungsdatum: XmlDate = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            anordnungsbefugter: None | CodeStrafAnordnungsbefugterTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            gericht: None | CodeGdsGerichteTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            aktenzeichen: None | TypeGdsAktenzeichen = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )

        @dataclass(kw_only=True)
        class Sicherungsgrund:
            """
            :ivar instanznummer: Instanznummer der Vollziehungsmaßnahme
            :ivar ref_sicherungsmassnahme: Instanznummer der
                Sicherungsmaßnahme
            :ivar betrag:
            :ivar beschreibung: Freitext
            :ivar vernichtung:
            """

            instanznummer: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            ref_sicherungsmassnahme: str = field(
                metadata={
                    "name": "ref.sicherungsmassnahme",
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            betrag: TypeGdsGeldbetrag = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            beschreibung: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            vernichtung: bool = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )

        @dataclass(kw_only=True)
        class Vollziehungsmassnahme:
            """
            :ivar instanznummer: Instanznummer der Vollziehungsmaßnahme
            :ivar ref_sicherungsgegenstand: Instanznummer des
                Sicherungsgegenstands
            :ivar massnahmengegenstand:
            :ivar massnahmenart:
            :ivar erledigungsart:
            :ivar einleitdatum:
            :ivar betrag:
            :ivar beschreibung: Freitext
            :ivar wirksamkeit:
            :ivar abschlussdatum:
            :ivar lagerort: Freitext
            :ivar mitteilung_verletzte: ja/nein
            :ivar drittschuldner: Hier wird auf eine an dem Verfahren
                beteiligte Person über deren Rollennummer im
                Grunddatensatz verwiesen.
            :ivar eintragungsbehoerde: Hier wird auf eine an dem
                Verfahren beteiligte Person über deren Rollennummer im
                Grunddatensatz verwiesen.
            """

            instanznummer: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            ref_sicherungsgegenstand: str = field(
                metadata={
                    "name": "ref.sicherungsgegenstand",
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            massnahmengegenstand: CodeStrafMassnahmegegenstandTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            massnahmenart: CodeStrafMassnahmeartTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            erledigungsart: None | CodeStrafVaErledigungsartTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            einleitdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            betrag: TypeGdsGeldbetrag = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            beschreibung: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            wirksamkeit: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            abschlussdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            lagerort: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            mitteilung_verletzte: None | bool = field(
                default=None,
                metadata={
                    "name": "mitteilungVerletzte",
                    "type": "Element",
                },
            )
            drittschuldner: None | TypeGdsRefRollennummer = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            eintragungsbehoerde: None | TypeGdsRefRollennummer = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )

        @dataclass(kw_only=True)
        class ErledigungVollziehungsmassnahme:
            """
            :ivar ref_vollziehungsmassnahme: Instanznummer der
                Vollziehungsmaßnahme
            :ivar erledigungsart:
            :ivar abschlussdatum:
            :ivar herausgabe: Hier wird auf eine an dem Verfahren
                beteiligte Person über deren Rollennummer im
                Grunddatensatz verwiesen.
            """

            ref_vollziehungsmassnahme: str = field(
                metadata={
                    "name": "ref.vollziehungsmassnahme",
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            erledigungsart: None | CodeStrafVaErledigungsartTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            abschlussdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            herausgabe: None | TypeGdsRefRollennummer = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )


@dataclass(kw_only=True)
class TypeStrafAnordnungsinhalt:
    """
    Hier kann es sich um eine Geldanordnung oder Sonstige Anordnung
    handeln.

    :ivar nummer: Diese Nummer ist notwendig, um vom Element Haftvollzug
        auf eine Anordnung zu verweisen, auf der die Haft zugrunde
        liegt.
    :ivar tatbestaende_einzelstrafen: Hier kann der Paragraph des
        Tatbestandes angegeben werden.
    :ivar tateinheit_mit_nichtregisterpflichtigen_taten: Liegt eine
        Tateinheit nach § 52 StGB vor, die sich aus registerpflichtigen
        und nichtregisterpflichtigen Taten zusammensetzt, ist dies hier
        anzugeben. Das Element bezieht sich auf die Eintragung von
        Tatbeständen in das Wettbewerbsregister und beziehen sich auf
        die registerpflichtigen Taten nach § 2 WRegG.
    :ivar geldanordnung: Gemeint ist jede Art von Sanktion, bei der Geld
        zu zahlen ist. Alle Formen der Verurteilung zu einer
        Geldzahlung.
    :ivar sonstige_anordnung: Anderweitige Anordnungen
    :ivar vollstreckungsverjaehrung: Das Datum, bis zu dem die
        Entscheidung / Anordnung vollstreckt werden darf.
    """

    class Meta:
        name = "Type.STRAF.Anordnungsinhalt"

    nummer: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    tatbestaende_einzelstrafen: None | str = field(
        default=None,
        metadata={
            "name": "tatbestaendeEinzelstrafen",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    tateinheit_mit_nichtregisterpflichtigen_taten: None | bool = field(
        default=None,
        metadata={
            "name": "tateinheitMitNichtregisterpflichtigenTaten",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    geldanordnung: None | TypeStrafAnordnungsinhalt.Geldanordnung = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    sonstige_anordnung: None | TypeStrafAnordnungsinhalt.SonstigeAnordnung = (
        field(
            default=None,
            metadata={
                "name": "sonstigeAnordnung",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
    )
    vollstreckungsverjaehrung: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Geldanordnung:
        """
        :ivar anordnungsart: Für die Inhalte dieses Elementes wird die
            Codeliste STRAF.Geldanordnungsart verwendet. Mögliche Werte
            sind hier z.B. Geldstrafe, Geldbuße...
        :ivar betrag:
        :ivar faelligkeit:
        :ivar strafvorbehalt:
        :ivar stundung:
        :ivar zahlung: Hier sind Zahlungen zu einer Geldanordnung zu
            erfassen. Dies können auch Ratenzahlungen oder
            Rücküberweisungen sein.
        """

        anordnungsart: None | CodeStrafGeldanordnungsartTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        betrag: None | TypeStrafAnordnungsinhalt.Geldanordnung.Betrag = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        faelligkeit: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        strafvorbehalt: TypeStrafAnordnungsinhalt.Geldanordnung.Strafvorbehalt = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        stundung: None | TypeStrafAnordnungsinhalt.Geldanordnung.Stundung = (
            field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
        )
        zahlung: list[TypeStrafZahlung] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

        @dataclass(kw_only=True)
        class Betrag:
            """
            :ivar anzahl_tagessaetze:
            :ivar hoehe_tagessatz:
            :ivar gesamtbetrag:
            :ivar stundensatz: Bei Ableistung durch gemeinnützige
                Arbeit: Wie viele Arbeitsstunden entsprechen einem
                Tagessatz?
            :ivar empfaenger: Dieses Element ist neu mitaufznehmen. Es
                kann einen Verweis auf einen Beteiligten im
                Grunddatensatz enthalten.
            """

            anzahl_tagessaetze: None | str = field(
                default=None,
                metadata={
                    "name": "anzahlTagessaetze",
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            hoehe_tagessatz: None | TypeGdsGeldbetrag = field(
                default=None,
                metadata={
                    "name": "hoeheTagessatz",
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            gesamtbetrag: TypeGdsGeldbetrag = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            stundensatz: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            empfaenger: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([ -~]|[¡-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

        @dataclass(kw_only=True)
        class Strafvorbehalt:
            """
            :ivar strafvorbehalt: Dieses Element enthält einen Ja/Nein-
                Wert. Ist dieser Wert auf "Ja" gesetzt, dann werden
                weitere Einzelheiten im Element "erlaeuterung"
                mitgeteilt.
            :ivar erlaeuterung: Hier werden weitere Einzelheiten zum
                Strafvorbehalt angegeben.
            """

            strafvorbehalt: bool = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            erlaeuterung: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

        @dataclass(kw_only=True)
        class Stundung:
            """
            :ivar ratenanzahl:
            :ivar ratenbetrag: Hier wird der Betrag der regelmäßig zu
                erbringenden Raten angegeben
            :ivar zahlungsbeginn:
            :ivar periode: monatlich, 1/4 jährlich...
            """

            ratenanzahl: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            ratenbetrag: None | TypeGdsGeldbetrag = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            zahlungsbeginn: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            periode: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

    @dataclass(kw_only=True)
    class SonstigeAnordnung:
        """
        :ivar anordnungsart: Für die Inhalte dieses Elementes wird eine
            Codeliste WL_Anordnungsart verwendet. Mögliche Werte sind
            hier z.B. Freiheitsstrafe, Entzug der Fahrerlaubnis,
            Sperrfrist für die Wiedererteilung
        :ivar grund: Ein Beispiel für den Grund einer Anordnung ist
            Fluchtgefahr bei einer U-Haftanordnung.
        :ivar beschreibung: Optionaler Freitext zu näheren Beschreibung
            der Sanktion (z.B. Entziehung der Fahrerlaubnis nur für
            bestimmte Erlaubnisklassen)
        :ivar ref_beweismittel: Optionaler Verweis auf ein Beweismittel.
        :ivar ref_asservate: Optionaler Verweis auf Asservate
        :ivar dauer:
        :ivar faelligkeit:
        :ivar beginn:
        :ivar ende:
        :ivar anrechnung: Anordnungen des Gerichts über die Anrechnung
            anderweitigen Freiheitsentzuges, z.B. U-Haft im Ausland.
        :ivar bewaehrungshelfer: Verweis auf Beteiligten. Das Element
            kann natürlich auch für vergleichbare Personen verwendet
            werden, wie z.B. Betreuungshelfer nach § 10 Abs. 1 Nr. 5 JGG
        :ivar arbeitgeber: Dieses Element beinhaltet einen Verweis auf
            einen Beteiligten im Grunddatensatz
        """

        anordnungsart: CodeStrafAnordnungsartTyp3 = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        grund: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        beschreibung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        ref_beweismittel: list[str] = field(
            default_factory=list,
            metadata={
                "name": "ref.beweismittel",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        ref_asservate: list[str] = field(
            default_factory=list,
            metadata={
                "name": "ref.asservate",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        dauer: None | TypeStrafDauer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        faelligkeit: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        beginn: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        ende: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        anrechnung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        bewaehrungshelfer: None | TypeGdsRefRollennummer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        arbeitgeber: None | TypeGdsRefRollennummer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafBfjBewaehrungszeitDauer:
    """
    :ivar dauer: Dauer der Bewährungszeit als zeitlicher Umfang.
    :ivar datum: Dauer der Bewährungszeit, falls dargestellt in der
        Schreibweise mit Datum. Es ist das Datum einzutragen, an dem die
        Bewährungszeit endet.
    """

    class Meta:
        name = "Type.STRAF.BFJ.BewaehrungszeitDauer"

    dauer: None | TypeStrafDauer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    datum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafBfjFreiheitsentziehung:
    """
    :ivar art: Art der Freiheitsentziehung: Die in der Entscheidung
        ausgesprochene Art der Freiheitsentziehung gemäß Codeliste
        Freiheitsentziehung, beispielsweise Jugendstrafe,
        Freiheitsstrafe etc.
    :ivar auswahl_dauer: Dauer der Freiheitsentziehung.
    """

    class Meta:
        name = "Type.STRAF.BFJ.Freiheitsentziehung"

    art: CodeStrafBfjBzrFreiheitsentziehungArtTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    auswahl_dauer: TypeStrafBfjFreiheitsentziehung.AuswahlDauer = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class AuswahlDauer:
        """
        :ivar dauer: Dauer der Freiheitsentziehung.
        :ivar lebenslang: Falls eine lebenslange Freiheitsstrafe
            verhängt wurde, ist dieses Element zu übermitteln.
        """

        dauer: None | TypeStrafDauer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        lebenslang: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafBeschlagnahme:
    """
    :ivar person: Hauptbeteiligte Person im Verfahren
    :ivar datum:
    :ivar fuehrerschein:
    :ivar gegenstand:
    """

    class Meta:
        name = "Type.STRAF.Beschlagnahme"

    person: TypeGdsRefRollennummer = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    datum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    fuehrerschein: list[TypeStrafFuehrerschein] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    gegenstand: list[TypeStrafBeschlagnahme.Gegenstand] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Gegenstand:
        """
        :ivar art: Art des Gegenstandes
        :ivar erlaeuterung: Erläuterung des Gegenstandes
        :ivar betroffener: Verweis auf die Person (über die Rollennummer
            des Grunddatensatzes), welche vermutlich im Besitz des
            Gegenstandes ist.
        :ivar herkunftsbezeichnung: Erläuterung des Gegenstandes; bei
            Dokumenten Ausstellungsbehörde; bei Scheckkarte Geldinstitut
            etc...
        :ivar typ: Typ/Modell/Nennwert
        :ivar kennzeichen: amtliches / Versicherungs-Kennzeichen
        :ivar nationalitaetskennzeichen: Bei Kfz, Kennzeichen und
            Personaldokumenten immer angeben.
        :ivar fin: Fahrzeugidentifikationsnummer
        :ivar gegenstandsnummer:
        :ivar motornummer:
        :ivar hinweise: Sachgebundene Hinweise: Sachwertdelikte, Gefahr
            der Bewaffnung, Explosionsgefahr, Gefährliche Stoffe,
            Ansteckungsgefahr
        :ivar besondere_merkmale: Bsp. Fahrrad: 18-Gang, 26-Zoll-Reifen,
            Herren-, Damen-, Rennrad oder Mountainbike ...
        :ivar farbe: Farbe des Gegenstandes
        :ivar materialbezeichnung:
        :ivar erl_materialbezeichnung: erl. Materialbezeichnung SEM
        """

        art: str = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )
        erlaeuterung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        betroffener: TypeGdsRefRollennummer = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        herkunftsbezeichnung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([ -~]|[¡-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        typ: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([ -~]|[¡-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        kennzeichen: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        nationalitaetskennzeichen: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        fin: None | str = field(
            default=None,
            metadata={
                "name": "FIN",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        gegenstandsnummer: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        motornummer: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        hinweise: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        besondere_merkmale: None | str = field(
            default=None,
            metadata={
                "name": "besondereMerkmale",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        farbe: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        materialbezeichnung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        erl_materialbezeichnung: None | str = field(
            default=None,
            metadata={
                "name": "erlMaterialbezeichnung",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class TypeStrafBewaehrung:
    class Meta:
        name = "Type.STRAF.Bewaehrung"

    bewaehrungsaufsicht: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bewaehrungshelfer: None | TypeGdsRefRollennummer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    zeitraum_bewaehrungshelferunterstellung: (
        None | TypeStrafBewaehrung.ZeitraumBewaehrungshelferunterstellung
    ) = field(
        default=None,
        metadata={
            "name": "zeitraumBewaehrungshelferunterstellung",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    entbindung: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    neubestellung: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    auflagen: list[TypeStrafBewaehrung.Auflagen] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    weisungen: list[TypeStrafBewaehrung.Weisungen] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    beginn: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ende: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    rechtskraft: list[TypeStrafRechtskraft] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    dauer: None | TypeStrafDauer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    vorbehalt: bool = field(
        default=False,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        },
    )

    @dataclass(kw_only=True)
    class ZeitraumBewaehrungshelferunterstellung:
        beginn: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        ende: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        dauer: None | TypeStrafDauer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Auflagen:
        auflage: CodeStrafAuflagenTyp3 = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        betrag: None | TypeGdsGeldbetrag = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        auflagen_freitext: None | str = field(
            default=None,
            metadata={
                "name": "auflagenFreitext",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )

    @dataclass(kw_only=True)
    class Weisungen:
        weisungen: CodeStrafWeisungenTyp3 = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        weisungen_freitext: None | str = field(
            default=None,
            metadata={
                "name": "weisungenFreitext",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class TypeStrafHaftbefehl:
    """
    :ivar person:
    :ivar haftanstalt: Hier kann die XJustiz-ID der
        Justizvollzugsanstalt aus der Codeliste angegeben werden.
    :ivar haftart:
    :ivar vorfuehrung:
    :ivar datum:
    :ivar fuehrendes_delikt:
    :ivar haftdauer:
    :ivar gesamtkosten:
    """

    class Meta:
        name = "Type.STRAF.Haftbefehl"

    person: TypeGdsRefRollennummer = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    haftanstalt: None | CodeGdsGerichteTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    haftart: CodeStrafHaftartTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    vorfuehrung: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    datum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    fuehrendes_delikt: None | TypeStrafKennziffer = field(
        default=None,
        metadata={
            "name": "fuehrendesDelikt",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    haftdauer: None | TypeStrafDauer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    gesamtkosten: None | TypeStrafHaftbefehl.Gesamtkosten = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Gesamtkosten:
        gesamtbetrag: TypeGdsGeldbetrag = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        kosten: None | TypeGdsGeldbetrag = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafOwiBussgeldkatalog:
    """
    :ivar auswahl_tatbestandsnummer_text:
    :ivar textalternative: Bestimmte Tatbestandsnummern erfordern die
        zusätzliche Angabe einer Alternative.
    :ivar konkretisierung: Bestimmte Tatbestandsnummern enthalten an
        einer oder mehreren Stellen Alternativen oder die Möglichkeit
        zum Einfügen von zusätzlichem Text. Für die Art und Weise, wie
        diese Konkretisierung anzugeben ist, gibt es eingehende Regeln.
        Die Einhaltung dieser Regeln werden mit XML-Mitteln nicht
        überprüft.
    :ivar gemessener_wert: Bestimmte Tatbestände erfordern die Angabe
        eines gemessenen Wertes.
    :ivar zulaessiger_wert: Bestimmte Tatbestände erfordern die Angabe
        eines zulässigen Wertes.
    :ivar differenz: Bestimmte Tatbestände erfordern die Angabe einer
        Differenz von gemessenem und zulässigem Wert.
    :ivar vorsatz: Handelt es sich um eine vorsätzliche Tat? J/N
    :ivar fahrverbot: Angabe der vorgesehenen Dauer des Fahrverbots, die
        laut Bussgeldkatalog anzusetzen ist. (z.B. 6 Monate)
    :ivar punkte: Die Flensburgpunkte, die laut Bussgeldkatalog
        anzuordnen sind.
    :ivar geldbusse: Die Wertangabe (auch Grenzangaben) der Geldbuße,
        die laut Bussgeldkatalog vorgesehen ist.
    :ivar tateinheit:
    :ivar tatmehrheit:
    """

    class Meta:
        name = "Type.STRAF.OWI.Bussgeldkatalog"

    auswahl_tatbestandsnummer_text: TypeStrafOwiBussgeldkatalog.AuswahlTatbestandsnummerText = field(
        metadata={
            "name": "auswahl_tatbestandsnummer.text",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    textalternative: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    konkretisierung: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    gemessener_wert: None | TypeStrafMessung = field(
        default=None,
        metadata={
            "name": "gemessenerWert",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    zulaessiger_wert: None | TypeStrafMessung = field(
        default=None,
        metadata={
            "name": "zulaessigerWert",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    differenz: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    vorsatz: None | bool = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    fahrverbot: None | TypeStrafDauer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    punkte: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    geldbusse: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    tateinheit: None | TypeStrafOwiBussgeldkatalog.Tateinheit = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tatmehrheit: None | TypeStrafOwiBussgeldkatalog.Tatmehrheit = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class AuswahlTatbestandsnummerText:
        """
        :ivar tatbestandsnummer: Hier ist die Tatbestandsnummer aus dem
            bezeichneten Bußgeldkatalog anzugeben wie auch die
            Tabellennummer im Zusatz.
        :ivar text: Beschreibung des Delikts mittels Freitext, falls
            dieses nicht über den Tatbestandskatalog abgedeckt werden
            kann.
        """

        tatbestandsnummer: None | TypeStrafKennziffer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        text: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )

    @dataclass(kw_only=True)
    class Tateinheit:
        ref_delikt: None | str = field(
            default=None,
            metadata={
                "name": "ref.delikt",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        beschreibung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )

    @dataclass(kw_only=True)
    class Tatmehrheit:
        ref_delikt: None | str = field(
            default=None,
            metadata={
                "name": "ref.delikt",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        beschreibung: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class TypeStrafOwiErledigungsmitteilung:
    class Meta:
        name = "Type.STRAF.OWI.Erledigungsmitteilung"

    erledigungsart: None | CodeStrafOwiErledigungsartTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    dauer: None | TypeStrafDauer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    erledigungsdatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    auslagen_ag: None | float = field(
        default=None,
        metadata={
            "name": "auslagenAg",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    auslagen_sta: None | float = field(
        default=None,
        metadata={
            "name": "auslagenSta",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    ratenhoehe: None | float = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafOwiTat:
    class Meta:
        name = "Type.STRAF.OWI.Tat"

    anfangsdatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    anfangsuhrzeit: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{1,2}(:\d{2}){0,2}",
        },
    )
    endedatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    endeuhrzeit: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{1,2}(:\d{2}){0,2}",
        },
    )
    tatort: list[TypeStrafTatort] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class TypeStrafPersonendaten:
    """
    :ivar person: Hier wird auf eine an dem Verfahren beteiligte Person
        über deren Rollennummer im Grunddatensatz verwiesen.
    :ivar gruppenzugehoerigkeit: z.B. "Mitglied im Motorradclub XYZ"
    :ivar fuehrerschein:
    :ivar personenbeschreibung: Freitextfeld für weitere
        Personenbeschreibungen.z.B. blonde, blauäugige, 1.80 große Frau
    :ivar strafverfolgungshindernis: Für die Übermittlung von
        Strafverfolgungshindernissen bzw. konkurrierende Gerichtsbarkeit
        und hierauf bezogener Mitteilungspflichten, z. B. Immunität von
        Abgeordneten oder Diplomaten, Anwendbarkeit des NTS oder EU-TS.
    :ivar dnummer: Die DNummer (daktyloskopische Referenz-Nummer)
        referenziert auf alle beim BKA abgespeicherten Finger- und/ oder
        Handflächenabdrücke zu einer Person. Sie besteht aus einem
        Buchstaben gefolgt von 12 Ziffern, mithin aus 13 Zeichen. Sie
        ist anzugeben, wenn es sich bei der betroffenen Person um einen
        Drittstaatsangehörigen (also um einen Staatsangehörigen eines
        Nicht-EU-Staates), einen Staatenlosen oder eine Person mit
        ungeklärter Staatsangehörigkeit handelt.
    :ivar sicherheitsleistung:
    """

    class Meta:
        name = "Type.STRAF.Personendaten"

    person: TypeGdsRefRollennummer = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    gruppenzugehoerigkeit: list[str] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    fuehrerschein: list[TypeStrafFuehrerschein] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    personenbeschreibung: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    strafverfolgungshindernis: (
        None | CodeStrafStrafverfolgungshindernisTyp3
    ) = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    dnummer: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    sicherheitsleistung: list[TypeGdsGeldbetrag] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )


@dataclass(kw_only=True)
class NachrichtStrafAktenzeichenmitteilung0500002(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.aktenzeichenmitteilung.0500002"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: None | NachrichtStrafAktenzeichenmitteilung0500002.Fachdaten = (
        field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        tatvorwurf: list[TypeStrafTatvorwurf] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "min_occurs": 1,
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafAsservate0500017(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.asservate.0500017"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: (
        None | NachrichtStrafAsservate0500017.Schriftgutobjekte
    ) = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafAsservate0500017.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Schriftgutobjekte(TypeGdsSchriftgutobjekte):
        """
        :ivar anschreiben: Das Anschreiben beschreibt ein Dokument, das
            dem Empfänger zur Erläuterung der Sendung beigefügt wird. Es
            muss im Type.GDS.Schriftgutobjekte entweder im Kindelement
            Dokument oder im Kindelement Akte mit allen Metadaten
            beschrieben sein. Im Kindelement „anschreiben“ wird auf
            dieses Dokument referenziert. Für diese Referenzierung wird
            die uuid des Dokumentes genutzt.
        :ivar akte:
        """

        anschreiben: Any = field(
            init=False,
            default=None,
            metadata={
                "type": "Ignore",
            },
        )
        akte: Any = field(
            init=False,
            default=None,
            metadata={
                "type": "Ignore",
            },
        )

    @dataclass(kw_only=True)
    class Fachdaten:
        asservate: list[TypeStrafAsservate] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "min_occurs": 1,
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafBfjBenachrichtigung0500650:
    """
    Mit dieser Nachricht unterrichtet das BfJ gemäß § 20 Absatz 1 Satz 5
    BZRG bzw. § 149 Absatz 3 Satz 5 GewO über die Vornahme einer Änderung
    im BZR oder im GZR (für natürliche oder juristische Personen bzw.

    Personenvereinigungen). Die Nachricht ist entweder an diejenige Stelle
    gerichtet, die die von der Änderung betroffene Entscheidung mitgeteilt
    hatte oder an eine Stelle, die eine Auskunft erhalten hatte. Bei
    Änderungen im BZR kann sie auch an eine Stelle gerichtet sein, die
    einen Hinweis erhalten hatte. Um die Details zu erfahren, kann die
    benachrichtigte Stelle eine Auskunft über die zur Person vorliegenden
    Daten anfordern.
    """

    class Meta:
        name = "nachricht.straf.bfj.benachrichtigung.0500650"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBenachrichtigung0500650.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar steuerungsdaten: Einbinden der Steuerungsdaten
        :ivar entscheidungsdaten: Mit diesem Element wird eine im
            Register zu speichernde Entscheidung zu der betroffenen
            natürlichen oder juristischen Person übermittelt.
        :ivar benachrichtigungsgrund: Dieses Element nennt den Anlass
            der vorliegenden Benachrichtigung.
        """

        steuerungsdaten: NachrichtStrafBfjBenachrichtigung0500650.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        entscheidungsdaten: list[
            NachrichtStrafBfjBenachrichtigung0500650.Fachdaten.Entscheidungsdaten
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        benachrichtigungsgrund: CodeStrafBfjBenachrichtigungGrundTyp3 = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar anlass_hinweiserteilung: Dieses Element nennt den
                Grund bzw. Anlass für die vorliegende Hinweiserteilung.
            :ivar referenz_benachrichtigung: Bezeichnung der Mitteilung,
                der Auskunft oder des Hinweises, auf die sich die
                vorliegende Benachrichtigung bezieht.
            :ivar verwendungszweck: Falls sich die vorliegende
                Benachrichtigung auf eine Anfrage bezieht: Der dieser
                Anfrage zugrundeliegende Verwendungszweck.
            """

            anlass_hinweiserteilung: CodeStrafBfjHinweisAnlassTyp3 = field(
                metadata={
                    "name": "anlassHinweiserteilung",
                    "type": "Element",
                    "required": True,
                }
            )
            referenz_benachrichtigung: str = field(
                metadata={
                    "name": "referenzBenachrichtigung",
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            verwendungszweck: None | TypeStrafBfjVerwendungszweck = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar ordnungsdaten: Dieses Element enthält die
                Ordnungsdaten zur Entscheidung.
            """

            ordnungsdaten: list[TypeStrafBfjOrdnungsdaten] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )


@dataclass(kw_only=True)
class NachrichtStrafBfjBzrAuskunftserteilungAnfrage0500100:
    """
    Mittels dieser Nachricht kann zu einer konkret bezeichneten natürlichen
    Person um eine unbeschränkte Auskunft aus dem Bundeszentralregister
    (Zentral- und/oder Erziehungsregister), um ein Behördenführungszeugnis
    nach § 31 BZRG und/oder um eine diesen Nachrichten entsprechende
    Auskunft aus einem oder mehreren Strafregister/n anderer
    EU-Mitgliedsstaaten oder Partnerstaaten ersucht werden.
    """

    class Meta:
        name = "nachricht.straf.bfj.bzr.auskunftserteilung.anfrage.0500100"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBzrAuskunftserteilungAnfrage0500100.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar uebermittelnde_stelle: Hier werden - je nach Kontext - die
            Informationen zum Sender bzw. zum Empfänger der
            Transportschicht eingebunden. Die „Übermittelnde Stelle“
            wird durch ein Kennzeichen identifiziert. Das Kennzeichen
            kann dem BfJ sowohl zur Identifizierung als auch zur Prüfung
            der Berechtigung dienen.
        :ivar steuerungsdaten: Einbinden der Steuerungsdaten für die
            Anfrage.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        """

        uebermittelnde_stelle: TypeStrafBfjUebermittelndeStelle = field(
            metadata={
                "name": "uebermittelndeStelle",
                "type": "Element",
                "required": True,
            }
        )
        steuerungsdaten: NachrichtStrafBfjBzrAuskunftserteilungAnfrage0500100.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: (
            None | TypeStrafBfjWeitereAngabenBeteiligter
        ) = field(
            default=None,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar auswahl_nachrichtencode: Der Nachrichtencode für die
                Auskunftserteilung wird benötigt, um die Art einer beim
                BfJ eingehenden Nachricht zu identifizieren, die weitere
                Verarbeitung im BfJ zu lenken und den Umfang einer
                Auskunft zu bezeichnen.
            :ivar verwendungszweck: Dieses Element steht für den Zweck,
                zu dem eine Auskunft benötigt wird. Dieser ist von der
                anfragenden Stelle bei der Anfrage anzugeben. Stellen
                erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen
                Zwecke eine Auskunft aus einem Register des BfJ.
            :ivar zusaetzl_anfrage_tcn: Falls bei einem
                Staatsangehörigen eines EU-Staates eine Anfrage nach
                ECRIS-TCN gewünscht wird, ist "true" zu übermitteln;
                andernfalls "false".
            :ivar keine_anfrage_tcn: Falls bei einem
                Drittstaatsangehörigen (also einem Staatsangehörigen
                eines Nicht-EU-Staates), einem Staatenlosen oder einer
                Person mit ungeklärter Staatsangehörigkeit ausnahmsweise
                keine Anfrage nach ECRIS-TCN erwünscht wird, ist "true"
                zu übermitteln; andernfalls "false".
            :ivar auslandsanfrage: Dieses Element enthält ggf. Daten für
                ein Auskunftsersuchen an eine ausländische Stelle.
            :ivar grund_behoerdenfuehrungszeugnis: Dieses Element
                enthält die Begründung einer Behörde, warum sie das
                Führungzeugnis beantragt und nicht die betroffene Person
                selbst. Wird ein Behördenführungszeugnis angefordert,
                ist die Angabe verpflichtend.
            """

            auswahl_nachrichtencode: NachrichtStrafBfjBzrAuskunftserteilungAnfrage0500100.Fachdaten.Steuerungsdaten.AuswahlNachrichtencode = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            verwendungszweck: TypeStrafBfjVerwendungszweck = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            zusaetzl_anfrage_tcn: None | bool = field(
                default=None,
                metadata={
                    "name": "zusaetzlAnfrageTCN",
                    "type": "Element",
                },
            )
            keine_anfrage_tcn: None | bool = field(
                default=None,
                metadata={
                    "name": "keineAnfrageTCN",
                    "type": "Element",
                },
            )
            auslandsanfrage: (
                None
                | NachrichtStrafBfjBzrAuskunftserteilungAnfrage0500100.Fachdaten.Steuerungsdaten.Auslandsanfrage
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            grund_behoerdenfuehrungszeugnis: (
                None | CodeStrafBfjBehoerdenfuehrungszeugnisBzrGrundTyp3
            ) = field(
                default=None,
                metadata={
                    "name": "grund.behoerdenfuehrungszeugnis",
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class AuswahlNachrichtencode:
                """
                :ivar nachrichtencode_nachricht_100: Einer dieser
                    Nachrichtentcodes ist zu verwenden, wenn eine
                    unbeschränkte Auskunft nach §§ 41 bzw. 61 BZRG aus
                    dem Bundeszentralregister angefordert werden soll.
                :ivar nachrichtencode_nachricht_101: Einer dieser
                    Nachrichtencodes ist zu verwenden, wenn ein
                    Behördenführungszeugnis nach § 31 BZRG aus dem
                    Bundeszentralregister angefordert werden soll.
                """

                nachrichtencode_nachricht_100: (
                    None
                    | CodeStrafBfjNachrichtencodeBzrAnfrageUnbeschraenkteAuskunftTyp3
                ) = field(
                    default=None,
                    metadata={
                        "name": "nachrichtencode.nachricht_100",
                        "type": "Element",
                    },
                )
                nachrichtencode_nachricht_101: (
                    None
                    | CodeStrafBfjNachrichtencodeBzrAntragBehoerdenfuehrungszeugnisTyp3
                ) = field(
                    default=None,
                    metadata={
                        "name": "nachrichtencode.nachricht_101",
                        "type": "Element",
                    },
                )

            @dataclass(kw_only=True)
            class Auslandsanfrage:
                """
                :ivar anfrageland: Dieses Element enthält die Angabe, in
                    welchem Staat sich das anzufragende ausländische
                    Register befindet. Dieses Element ist nicht
                    vorhanden, falls sich die Anfrage auf Deutschland
                    (das BZR) bezieht. Falls es befüllt ist, geht die
                    Anfrage ins Ausland. Es darf nur ein EU-Staat oder
                    ein Partnerstaat eingetragen sein, der über den
                    europäischen Strafregisterverbund ECRIS an das BfJ
                    angebunden ist. Wenn sich die Anfrage ausschließlich
                    an ausländische Strafregister richtet (bei den
                    Nachrichtencodes AU und AV), muss mindestens ein
                    Staat angegeben sein.
                :ivar zustimmung_betroffene_person: Dieses Element
                    enthält bei Anfragen ins Ausland die Kennzeichnung,
                    ob die Zustimmung der betroffenen Person zur
                    Einholung einer Auskunft vorliegt. Falls die
                    Zustimmung vorliegt, ist 'true' einzutragen, falls
                    sie nicht vorliegt, ist 'false' einzutragen.
                """

                anfrageland: list[CodeGdsStaatenTyp3] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                        "min_occurs": 1,
                        "max_occurs": 4,
                    },
                )
                zustimmung_betroffene_person: bool = field(
                    metadata={
                        "name": "zustimmung.betroffenePerson",
                        "type": "Element",
                        "required": True,
                    }
                )


@dataclass(kw_only=True)
class NachrichtStrafBfjBzrAuskunftserteilungAuslandsnachricht0500103:
    """
    Mit dieser Nachricht übermittelt das BfJ eine Auskunft aus dem
    Strafregister eines anderen EU-Mitgliedsstaats (inkl.

    Großbritannien). Sie können verschiedener Art sein: a)
    Auslandsauskunft: Eintragungen zur angefragten Person im ausländischen
    Register b) Request for additional Information: Wenn der ausländischen
    Stelle die im Ersuchen angegebenen Personendaten nicht ausreichen, um
    die Person zu identifizieren. Die entsprechenden Informationen werden
    im Element informationFehler übermittelt. c) Nachricht über den Ablauf
    der Antwortfrist von 10 bzw. 20 Arbeitstagen: Der entsprechende Text
    wird ebenfalls im Element informationFehler übermittelt. d)
    Zurückweisung der Anfrage: Die Information und der Rückweisungsgrund
    werden ebenfalls im Element informationFehler übermittelt. e)
    Abschlussnachricht bei Drittstaatlern: Hinweis, dass zur Person aktuell
    keine weiteren Informationen aus anderen Strafregistern des
    europäischen Strafregisterverbundes vorliegen.
    """

    class Meta:
        name = "nachricht.straf.bfj.bzr.auskunftserteilung.auslandsnachricht.0500103"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBzrAuskunftserteilungAuslandsnachricht0500103.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar steuerungsdaten: Dieses Element steht für die
            Steuerungsdaten zur vorliegenden Auskunft.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar entscheidungsdaten: Dieses Element steht für eine Liste
            von in dem ausländischen Register eingetragenen
            Entscheidungen zu der betroffenen Person. Wenn es in einer
            Nachrichteninstanz nicht vorhanden ist, hat das ausländische
            Register nicht auf die Anfrage geantwortet; es liegen dem
            BfJ also keine Informationen vor, die darauf schließen
            lassen, ob und welche Einträge zu der betroffenen Person in
            dem ausländischen Register eingetragen sind. Wenn es
            vorhanden ist, hat das ausländische Register auf die Anfrage
            geantwortet; enthalten in diesem Element sind dann die
            Einträge (Entscheidungen) zu der betroffenen Person, die in
            dem ausländischen Register vorgehalten werden (es können im
            Element dann entsprechend keine, eine oder mehrere
            Entscheidungen enthalten sein).
        :ivar information_fehler: Fehlerinformation zur
            Auslandsauskunft: Je Fehler wird ein eigenes Element
            instantiiert.
        """

        steuerungsdaten: NachrichtStrafBfjBzrAuskunftserteilungAuslandsnachricht0500103.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: list[
            TypeStrafBfjWeitereAngabenBeteiligter
        ] = field(
            default_factory=list,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        entscheidungsdaten: (
            None
            | NachrichtStrafBfjBzrAuskunftserteilungAuslandsnachricht0500103.Fachdaten.Entscheidungsdaten
        ) = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        information_fehler: list[str] = field(
            default_factory=list,
            metadata={
                "name": "informationFehler",
                "type": "Element",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar verwendungszweck: Dieses Element steht für den Zweck,
                zu dem eine Auskunft benötigt wird. Dieser ist von der
                anfragenden Stelle bei der Anfrage anzugeben. Stellen
                erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen
                Zwecke eine Auskunft aus einem Register des BfJ.
            :ivar auskunftsland: In diesem Element wird das Land
                bezeichnet, aus dessen Strafregister die Auskunft
                erteilt wurde.
            :ivar antworttyp: Hier wird die Art der Auslandsnachricht
                beschrieben. Es kann sich dabei handeln: um eine
                Auskunft aus dem ausländischen Strafregister, um eine
                Rückfrage nach weiteren Angaben zur Person, um eine
                Nachricht nach Ablauf der ECRIS-Deadline, um eine
                Zurückweisung der Anfrage durch die ausländische
                Registerbehörde oder um den Hinweis, dass zur Person
                aktuell keine weiteren Informationen aus anderen
                Strafregistern des europäischen Strafregisterverbundes
                vorliegen.
            """

            verwendungszweck: TypeStrafBfjVerwendungszweck = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            auskunftsland: CodeGdsStaatenTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            antworttyp: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar anzahl_entscheidungen: Angabe, wieviele Entscheidungen
                zur betroffenen Person im ausländischen Strafregister
                eingetragen sind bzw. in der vorliegenden Nachricht
                übermittelt werden. Einzutragen ist die Anzahl.
            :ivar entscheidung: Jede Instanz dieses Elements stellt eine
                durch ein ausländisches Strafregister übermittelte
                Entscheidung zu der betroffenen Person dar.
            """

            anzahl_entscheidungen: int = field(
                metadata={
                    "name": "anzahlEntscheidungen",
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidung: list[
                NachrichtStrafBfjBzrAuskunftserteilungAuslandsnachricht0500103.Fachdaten.Entscheidungsdaten.Entscheidung
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidung:
                """
                :ivar ordnungsdaten: Dieses Element enthält die
                    Ordnungsdaten zur Entscheidung.
                :ivar inhalt_der_entscheidung: In diesem Element sind
                    die Inhalte der betreffenden Entscheidung
                    abgebildet.
                :ivar sanktion: Eine Instanz dieses Elements steht für
                    eine in der Entscheidung ausgesprochene Sanktion.
                :ivar zusatzinformationen: Zusätzliche Informationen zu
                    der Entscheidung in der Auslandsauskunft, z.B.
                    Angaben zur Vollstreckung.
                """

                ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                inhalt_der_entscheidung: NachrichtStrafBfjBzrAuskunftserteilungAuslandsnachricht0500103.Fachdaten.Entscheidungsdaten.Entscheidung.InhaltDerEntscheidung = field(
                    metadata={
                        "name": "inhaltDerEntscheidung",
                        "type": "Element",
                        "required": True,
                    }
                )
                sanktion: list[str] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                zusatzinformationen: list[str] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )

                @dataclass(kw_only=True)
                class InhaltDerEntscheidung:
                    """
                    :ivar datum_rechtskraft: Datum der Rechtskraft der
                        Entscheidung. Bei Teilrechtskraft: letztes
                        Rechtskraftdatum.
                    :ivar tat: Dieses Element enthält Daten zur
                        juristischen Einordnung der Straftat, auf die
                        sich die vorliegende Entscheidung bezieht. In
                        der Auslandsnachricht können mehrere Instanzen
                        des Elements enthalten sein.
                    """

                    datum_rechtskraft: None | XmlDate = field(
                        default=None,
                        metadata={
                            "name": "datumRechtskraft",
                            "type": "Element",
                        },
                    )
                    tat: list[TypeStrafBfjStraftat] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )


@dataclass(kw_only=True)
class NachrichtStrafBfjGzrAuskunftserteilungAnfrage0500400:
    """
    Mittels dieser Nachricht kann um eine Auskunft gemäß § 150a GewO aus
    dem Gewerbezentralregister (GZR) zu einer konkret bezeichneten
    juristischen Person, Personenvereinigung oder natürlichen Person
    ersucht werden.
    """

    class Meta:
        name = "nachricht.straf.bfj.gzr.auskunftserteilung.anfrage.0500400"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjGzrAuskunftserteilungAnfrage0500400.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar uebermittelnde_stelle: Hier wird - je nach Kontext - die
            Informationen zum Sender bzw. zum Empfänger der
            Transportschicht eingebunden. Die "Übermittelnde Stelle"
            wird durch ein Kennzeichen identifiziert. Das Kennzeichen
            kann dem BfJ sowohl zur Identifizierung als auch der Prüfung
            der Berechtigung dienen.
        :ivar steuerungsdaten: Einbinden der Steuerungsdaten für die
            Anfrage.
        """

        uebermittelnde_stelle: TypeStrafBfjUebermittelndeStelle = field(
            metadata={
                "name": "uebermittelndeStelle",
                "type": "Element",
                "required": True,
            }
        )
        steuerungsdaten: NachrichtStrafBfjGzrAuskunftserteilungAnfrage0500400.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar nachrichtencode: Der Nachrichtencode für die
                Auskunftserteilung wird benötigt, um die Art einer beim
                BfJ eingehenden Nachricht zu identifizieren, die weitere
                Verarbeitung im BfJ zu lenken und den Umfang einer
                Auskunft zu bezeichnen.
            :ivar verwendungszweck: Dieses Element steht für den Zweck,
                zu dem eine Auskunft benötigt wird. Dieser ist von der
                anfragenden Stelle bei der Anfrage anzugeben. Stellen
                erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen
                Zwecke eine Auskunft aus einem Register des BfJ.
            """

            nachrichtencode: CodeStrafBfjNachrichtencodeGzrAnfrageOeffentlicheStelleTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            verwendungszweck: TypeStrafBfjVerwendungszweck = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )


@dataclass(kw_only=True)
class NachrichtStrafBfjGzrAuskunftserteilungAuskunft0500402:
    """
    Mit dieser Nachricht übermittelt das BfJ die Auskunft aus dem
    Gewerbezentralregister zu einer natürlichen Person oder zu einer
    juristischen Person bzw.

    Personenvereinigung.
    """

    class Meta:
        name = "nachricht.straf.bfj.gzr.auskunftserteilung.auskunft.0500402"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjGzrAuskunftserteilungAuskunft0500402.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar steuerungsdaten: Dieses Element steht für die
            Steuerungsdaten zur vorliegenden Auskunft.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar entscheidungsdaten: Mit diesem Element wird eine Liste von
            im GZR eingetragenen Entscheidungen und Verzichten zu der
            betroffenen Person übermittelt.
        """

        steuerungsdaten: NachrichtStrafBfjGzrAuskunftserteilungAuskunft0500402.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: list[
            TypeStrafBfjWeitereAngabenBeteiligter
        ] = field(
            default_factory=list,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        entscheidungsdaten: NachrichtStrafBfjGzrAuskunftserteilungAuskunft0500402.Fachdaten.Entscheidungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar nachrichtencode: Der Nachrichtencode für die
                Auskunftserteilung wird benötigt, um die Art einer beim
                BfJ eingehenden Nachricht zu identifizieren, die weitere
                Verarbeitung im BfJ zu lenken und den Umfang einer
                Auskunft zu bezeichnen.
            :ivar verwendungszweck: Dieses Element steht für den Zweck,
                zu dem eine Auskunft benötigt wird. Dieser ist von der
                anfragenden Stelle bei der Anfrage anzugeben. Stellen
                erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen
                Zwecke eine Auskunft aus einem Register des BfJ.
            """

            nachrichtencode: CodeStrafBfjNachrichtencodeGzrAuskunftTyp3 = (
                field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
            )
            verwendungszweck: TypeStrafBfjVerwendungszweck = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar anzahl_entscheidungen: Angabe, wieviele Entscheidungen
                und Verzichte in der vorliegenden Nachricht enthalten
                sind. Einzutragen ist die Gesamtanzahl.
            :ivar entscheidung: Jede Instanz dieses Typs stellt eine im
                GZR eingetragene Entscheidung bzw. einen eingetragenen
                Verzicht zu der betroffenen Person oder
                Personenvereinigung dar.
            """

            anzahl_entscheidungen: int = field(
                metadata={
                    "name": "anzahlEntscheidungen",
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidung: list[
                NachrichtStrafBfjGzrAuskunftserteilungAuskunft0500402.Fachdaten.Entscheidungsdaten.Entscheidung
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidung:
                """
                :ivar ordnungsdaten: Dieses Element enthält die
                    Ordnungsdaten zur Entscheidung.
                :ivar inhalt_der_entscheidung: In diesem Element sind
                    die Inhalte der betreffenden Entscheidung
                    abgebildet.
                """

                ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                inhalt_der_entscheidung: NachrichtStrafBfjGzrAuskunftserteilungAuskunft0500402.Fachdaten.Entscheidungsdaten.Entscheidung.InhaltDerEntscheidung = field(
                    metadata={
                        "name": "inhaltDerEntscheidung",
                        "type": "Element",
                        "required": True,
                    }
                )

                @dataclass(kw_only=True)
                class InhaltDerEntscheidung:
                    """
                    :ivar daten_rechtswirksamkeit: Dieses Element
                        beinhaltet Angaben mit Datum, die mit der
                        Rechtswirksamkeit der Entscheidung
                        zusammenhängen.
                    :ivar geldbusse: Höhe einer verhängten Geldbuße.
                    :ivar ausgangszusatztext: Eine Instanz dieses
                        Elements steht für eine Zusatzinformation zur
                        vorliegenden Entscheidung.
                    """

                    daten_rechtswirksamkeit: (
                        None | TypeStrafBfjDatenRechtswirksamkeit
                    ) = field(
                        default=None,
                        metadata={
                            "name": "datenRechtswirksamkeit",
                            "type": "Element",
                        },
                    )
                    geldbusse: None | TypeStrafBfjBetrag = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    ausgangszusatztext: list[
                        TypeStrafBfjAusgangszusatztext
                    ] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )


@dataclass(kw_only=True)
class NachrichtStrafBfjGzrMitteilung0500500:
    """
    Mittels dieser Nachricht werden dem Gewerbezentralregister (GZR) Daten
    einer rechtskräftigen oder vollziehbaren Entscheidung betreffend eine
    natürliche Person oder eine juristische Person bzw.

    Personenvereinigung übermittelt. In diesem Fall ist der Nachrichtencode
    G zu verwenden. Zudem kann das BfJ mittels dieser Nachricht um
    Berichtigung oder Löschung einer bereits zum GZR mitgeteilten
    Entscheidung ersucht werden. In diesem Fall ist der Nachrichtencode Z
    zu verwenden und eine der Textkennzahlen 9000 bzw. 9001 verpflichtend
    anzugeben. Für eine Berichtigung ist die Textkennzahl 9000 zu verwenden
    und die durchzuführende Berichtigung genau zu bezeichnen. Für eine
    Löschung ist die Textkennzahl 9001 zu verwenden und der Grund der
    Löschung anzugeben. Die Nachricht kann auch zur Übermittlung
    nachträglich eingetretener Veränderungen zur Entscheidung (z.B.
    Wiederaufnahme des Verfahrens, nachträgliche Befristung der
    Entscheidung oder ihrer Eintragung) sowie zur Mitteilung des Tods der
    betroffenen Person verwendet werden. In diesen Fällen ist ebenfalls der
    Nachrichtencode Z zu verwenden und eine der Textkennzahlen 9000 bzw.
    9001 verpflichtend anzugeben. Die engetretene Veränderung ist genau zu
    beschreiben.
    """

    class Meta:
        name = "nachricht.straf.bfj.gzr.mitteilung.0500500"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjGzrMitteilung0500500.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar uebermittelnde_stelle: Hier wird - je nach Kontext - die
            Informationen zum Sender bzw. zum Empfänger der
            Transportschicht eingebunden. Die "Übermittelnde Stelle"
            wird durch ein Kennzeichen identifiziert. Das Kennzeichen
            kann dem BfJ sowohl zur Identifizierung als auch der Prüfung
            der Berechtigung dienen.
        :ivar steuerungsdaten: Einbinden der Steuerungsdaten für die
            vorliegende Nachricht.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar entscheidungsdaten: Mit diesem Element wird eine im
            Register zu speichernde Entscheidung zu der betroffenen
            Firma oder der betroffenen Person übermittelt.
        """

        uebermittelnde_stelle: TypeStrafBfjUebermittelndeStelle = field(
            metadata={
                "name": "uebermittelndeStelle",
                "type": "Element",
                "required": True,
            }
        )
        steuerungsdaten: NachrichtStrafBfjGzrMitteilung0500500.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: (
            None | TypeStrafBfjWeitereAngabenBeteiligter
        ) = field(
            default=None,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        entscheidungsdaten: NachrichtStrafBfjGzrMitteilung0500500.Fachdaten.Entscheidungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar nachrichtencode: Der Nachrichtencode im Zusammenhang
                von Mitteilungen wird benötigt, um die Art einer beim
                BfJ eingehenden Mitteilung zu identifizieren und die
                weitere Verarbeitung im BfJ zu lenken.
            """

            nachrichtencode: CodeStrafBfjNachrichtencodeGzrMitteilungenTyp3 = (
                field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar ordnungsdaten: Dieses Element enthält die
                Ordnungsdaten zur Entscheidung.
            :ivar inhalt_der_entscheidung: In diesem Element sind die
                Inhalte der betreffenden Entscheidung abgebildet.
            """

            ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            inhalt_der_entscheidung: NachrichtStrafBfjGzrMitteilung0500500.Fachdaten.Entscheidungsdaten.InhaltDerEntscheidung = field(
                metadata={
                    "name": "inhaltDerEntscheidung",
                    "type": "Element",
                    "required": True,
                }
            )

            @dataclass(kw_only=True)
            class InhaltDerEntscheidung:
                """
                :ivar daten_rechtswirksamkeit: Dieses Element beinhaltet
                    Angaben mit Datum, die mit der Rechtswirksamkeit der
                    Entscheidung zusammenhängen.
                :ivar geldbusse: Höhe einer verhängten Geldbuße.
                :ivar ordnungswidrigkeit: Wenn eine Geldbuße verhängt
                    ist, muss hier die Ordnungswidrigkeit spezifiziert
                    werden, gegen die verstoßen wurde.
                :ivar verwaltungsentscheidung: Falls es sich um eine
                    Verwaltungsentscheidung handelt, müssen hier die
                    angewendeten Rechtsvorschriften aufgelistet werden.
                :ivar textkennzahl: Eine Instanz dieses Elements steht
                    für die im GZR mittels einer Textkennzahl vermerkten
                    Informationen. Beispielsweise kann hier ein Verzicht
                    nach § 149 Abs. 2 Satz 1 Nr. 2 GewO mitgeteilt
                    werden.
                :ivar statistik: In diesem Element werden Daten zur
                    Gewerbestatistik übermittelt.
                """

                daten_rechtswirksamkeit: (
                    None | TypeStrafBfjDatenRechtswirksamkeit
                ) = field(
                    default=None,
                    metadata={
                        "name": "datenRechtswirksamkeit",
                        "type": "Element",
                    },
                )
                geldbusse: None | TypeStrafBfjBetrag = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                ordnungswidrigkeit: list[
                    NachrichtStrafBfjGzrMitteilung0500500.Fachdaten.Entscheidungsdaten.InhaltDerEntscheidung.Ordnungswidrigkeit
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                verwaltungsentscheidung: list[
                    TypeStrafBfjGzrRechtsvorschrift
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                textkennzahl: list[TypeStrafBfjGzrTextkennzahl] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                statistik: None | TypeStrafBfjStatistik = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class Ordnungswidrigkeit:
                    """
                    :ivar bezeichnung: Dieses Element enthält die
                        Bezeichnung der Ordnungswidrigkeit. Es darf
                        maximal 2048 Zeichen lang sein.
                    :ivar rechtsvorschrift: In dieses Objekt werden die
                        Rechtsvorschriften eingetragen, die im Kontext
                        der genannten Ordnungswidrigkeit angewendet
                        wurden.
                    """

                    bezeichnung: str = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        }
                    )
                    rechtsvorschrift: TypeStrafBfjGzrRechtsvorschrift = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )


@dataclass(kw_only=True)
class NachrichtStrafRechtsmittel0500012(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.rechtsmittel.0500012"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafRechtsmittel0500012.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        rechtsmittel: list[TypeStrafRechtsmittel] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )


@dataclass(kw_only=True)
class TypeStrafEntscheidungstenor:
    """
    Dieser Datentyp beinhaltet Angaben zu Beteiligten, Ergebnissen,.

    Anordnungen und OWI-Bereichen.

    :ivar betroffener:
    :ivar ergebnis: Für den Fall der Teilrechtskraft
    :ivar wortlaut_entscheidungstenor:
    :ivar anordnungsinhalt:
    :ivar beweismittel:
    :ivar asservate:
    :ivar owi: Angaben, die in OWI Angelegenheit angeordnet werden bzw
        entschieden.
    """

    class Meta:
        name = "Type.STRAF.Entscheidungstenor"

    betroffener: list[TypeGdsRefRollennummer] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "min_occurs": 1,
        },
    )
    ergebnis: list[TypeStrafErgebnis] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    wortlaut_entscheidungstenor: list[
        TypeStrafEntscheidungstenor.WortlautEntscheidungstenor
    ] = field(
        default_factory=list,
        metadata={
            "name": "wortlautEntscheidungstenor",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    anordnungsinhalt: list[TypeStrafAnordnungsinhalt] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    beweismittel: list[TypeStrafBeweismittel] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    asservate: list[TypeStrafAsservate] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    owi: None | TypeStrafEntscheidungstenor.Owi = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class WortlautEntscheidungstenor:
        """
        :ivar tatbestand: z.B. Handel mit BTM; die Bezeichnung ist
            derzeit in Textform
        :ivar angewendete_vorschriften: Mit diesem Element werden die
            zugrunde liegenden Vorschriften mitgeteilt.
        """

        tatbestand: str = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )
        angewendete_vorschriften: str = field(
            metadata={
                "name": "angewendeteVorschriften",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )

    @dataclass(kw_only=True)
    class Owi:
        """
        :ivar tatangaben_zusatztext: Das sind weitere wichtige
            Erläuterungen zum Tatvorwurf, da nicht alle Tatumstände in
            den vorgegebenen Tatbestandsnummern beschrieben sind. Es
            können weitere Hinweise zum Tatvorwurf ausserhalb der
            geforderten Konkretisierungen darin vermerkt werden.
        :ivar bescheid_zusatztext: In dieses Feld können weitere
            Erläuterungen zum Bußgeldbescheid vermerkt werden. z.B. der
            Beweggrund, das Verfahren nicht einzustellen, oder
            Äusserungen zu Fragen des Betroffenen. Hier gibt es keine
            exakten Grenzen oder Beschränkungen.
        :ivar paragraf28a_st_vg: Das Feld Paragraf_28a_StVG gibt an, ob
            aus wirtschaftlichen Gründen die Geldbuße reduziert wurde?
            Reduziert ? J/N
        :ivar nebenfolgen: Wenn ein Bußgeldbescheid verhängt wird,
            können damit sogenannte "Nebenfolgen" verbunden sein, also
            zusätzliche "Belastungen" für den Betroffenen. Bei
            Verkehrsordnungswidrigkeiten gibt es genau eine
            Nebenfolge:Fahrverbot.
        :ivar punkte: Die Anzahl der Punkte in Flensburg, die von der
            Bußgeldbehörde verhängt werden.
        :ivar abweichung_regelsatz: Dieses Element erhält den Wert true,
            wenn die festgesetzte Sanktion vom Regelsatz des
            Bußgeldkatalogs abweicht (§ 17 OWiG).
        :ivar absehen_von_fahrverbot: Dieses Element erhält den Wert
            true, wenn entgegen der Regel von einem Fahrverbot abgesehen
            worden ist (BKatV § 4 Abs. 4)
        :ivar vollstreckbar: Hinweis der Vollstreckbarkeit der Forderung
        :ivar vollstreckung_erfolglos: Hinweis, dass
            Vollstreckungsmaßnahmen erfolglos waren.
        :ivar belehrung66_abs2_nr3_owi_g: Hinweis, dass eine Belehrung
            nach § 66 Abs. Nr. 3 OWiG stattgefunden hat.
        """

        tatangaben_zusatztext: None | str = field(
            default=None,
            metadata={
                "name": "tatangabenZusatztext",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        bescheid_zusatztext: None | str = field(
            default=None,
            metadata={
                "name": "bescheidZusatztext",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        paragraf28a_st_vg: None | bool = field(
            default=None,
            metadata={
                "name": "paragraf28aStVG",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        nebenfolgen: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        punkte: None | int = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        abweichung_regelsatz: bool = field(
            default=False,
            metadata={
                "name": "abweichungRegelsatz",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            },
        )
        absehen_von_fahrverbot: bool = field(
            default=False,
            metadata={
                "name": "absehenVonFahrverbot",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            },
        )
        vollstreckbar: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        vollstreckung_erfolglos: None | bool = field(
            default=None,
            metadata={
                "name": "vollstreckungErfolglos",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        belehrung66_abs2_nr3_owi_g: None | bool = field(
            default=None,
            metadata={
                "name": "belehrung66Abs2Nr3OWiG",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafOwiBussgeldbescheid:
    """
    :ivar erlassdatum:
    :ivar rechtskraft:
    :ivar bussgeldverjaehrung:
    :ivar geldbusse:
    :ivar teilzahlung_geldbusse_gesamt:
    :ivar teilzahlung_einzeln:
    :ivar auslagen:
    :ivar teilzahlung_auslagen:
    :ivar kasse:
    :ivar tat:
    :ivar vollzugsbehoerde:
    :ivar bussgeldkatalog: Der Bußgeldkatalog enthält Elemente zur
        Abbildung von OWI-Tatbeständen und deren Einordnung in den
        Bußgeldkatalog.
    """

    class Meta:
        name = "Type.STRAF.OWI.Bussgeldbescheid"

    erlassdatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    rechtskraft: None | TypeStrafRechtskraft = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bussgeldverjaehrung: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    geldbusse: None | float = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    teilzahlung_geldbusse_gesamt: None | float = field(
        default=None,
        metadata={
            "name": "teilzahlungGeldbusseGesamt",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    teilzahlung_einzeln: list[float] = field(
        default_factory=list,
        metadata={
            "name": "teilzahlungEinzeln",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    auslagen: None | float = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    teilzahlung_auslagen: list[float] = field(
        default_factory=list,
        metadata={
            "name": "teilzahlungAuslagen",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    kasse: None | TypeStrafOwiBussgeldbescheid.Kasse = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tat: None | TypeStrafOwiTat = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    vollzugsbehoerde: None | TypeStrafOwiVollzugsbehoerde = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bussgeldkatalog: None | TypeStrafOwiBussgeldkatalog = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Kasse:
        ref_beteiligtennummer: str = field(
            metadata={
                "name": "ref.beteiligtennummer",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )
        kassenzeichen: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class TypeStrafTat:
    """
    :ivar nummer: Da von anderen Elementen auf eine schon erfasste Tat
        verwiesen wird, ist ein eindeutiges Nummern-Element notwendig.
    :ivar anfangsdatum: Das Anfangsdatum der Tat.
    :ivar anfangsuhrzeit: Uhrzeitangabe des Tatanfangs.
    :ivar endedatum: Das Enddatum der Tat.
    :ivar endeuhrzeit: Uhrzeitangabe des Tatendes.
    :ivar einleitbehoerde:
    :ivar sachbearbeiter: Hier kann zu jeder Tat der zuständige
        Sachbearbeiter referenziert werden. Es ist der Verweis auf die
        Rollennummer des beteiligten Sachbearbeiters im Grunddatensatz
        anzugeben.
    :ivar delikt:
    :ivar tatort:
    :ivar schaden:
    :ivar tatgegenstand: Umfassend für Tatwerkzeug und Tatgegenstände.
    """

    class Meta:
        name = "Type.STRAF.Tat"

    nummer: str = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        }
    )
    anfangsdatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    anfangsuhrzeit: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{1,2}(:\d{2}){0,2}",
        },
    )
    endedatum: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
        },
    )
    endeuhrzeit: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"\d{1,2}(:\d{2}){0,2}",
        },
    )
    einleitbehoerde: None | TypeStrafTat.Einleitbehoerde = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    sachbearbeiter: None | TypeGdsRefRollennummer = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    delikt: list[TypeStrafTat.Delikt] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tatort: list[TypeStrafTatort] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    schaden: list[TypeStrafTat.Schaden] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tatgegenstand: list[TypeStrafTat.Tatgegenstand] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Einleitbehoerde(TypeGdsBehoerde):
        """
        :ivar aktenzeichen: z.B. Tagebuchnummer der Polizei
        """

        aktenzeichen: None | TypeGdsAktenzeichen = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Delikt:
        """
        :ivar nummer: Da von anderen Elementen auf ein schon erfasstes
            Delikt verwiesen wird, ist eine eindeutige Nummer für das
            Element "Delikt" notwendig.
        :ivar fuehrendes_delikt_verfahren: Wird die Bezeichnung dieses
            Delikts für Kurzbeschreibung des Verfahrens insgesamt (z.B.
            Ermittlungsverfahren gegen X und andere wegen Mordes)
            verwendet (Ja/Nein)?
        :ivar beteiligter: Für jede Beteiligung gibt es genau einen
            Beteiligten, der hier durch einen Verweis auf den
            Beteiligten im Grunddatensatz über die Rollennummer
            referenziert wird.
        :ivar astral_id: Hier ist ein ASTRAL-Schlüssel gem.
            Code.STRAF.ASTRAL.Typ3 (entspricht der ASTRAL-Mastertabelle
            des Bundesamtes für Justiz) zu verwenden.
        :ivar angedrohte_hoechststrafe: z.B. 5 Jahre
        :ivar strafantrag: Für Antragsdelikte können hier weitere
            Informationen zum Strafantrag hinterlegt werden.
        :ivar bussgeldkatalog: Der Bussgeldkatalog enthält Elemente zur
            Abbildung von OWI-Tatbeständen und deren Einordnung in den
            Bussgeldkatalog.
        :ivar versuch: Hier ist anzugeben, ob es sich um einen Versuch
            handelt. Ja/Nein
        :ivar verabredung_zu:
        """

        nummer: str = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            }
        )
        fuehrendes_delikt_verfahren: bool = field(
            default=False,
            metadata={
                "name": "fuehrendesDeliktVerfahren",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            },
        )
        beteiligter: list[TypeStrafTat.Delikt.Beteiligter] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        astral_id: None | TypeGdsStraftatbestand = field(
            default=None,
            metadata={
                "name": "astralID",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        angedrohte_hoechststrafe: None | str = field(
            default=None,
            metadata={
                "name": "angedrohteHoechststrafe",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        strafantrag: list[TypeStrafTat.Delikt.Strafantrag] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        bussgeldkatalog: None | TypeStrafOwiBussgeldkatalog = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        versuch: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        verabredung_zu: None | bool = field(
            default=None,
            metadata={
                "name": "verabredungZu",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

        @dataclass(kw_only=True)
        class Beteiligter(TypeGdsRefRollennummer):
            """
            :ivar fuehrendes_delikt: Wird die Bezeichnung dieses Delikts
                für Kurzbeschreibung des Verfahrens gegen diesen
                Beteiligten (z.B. Ermittlungsverfahren gegen Y wegen
                Mordes) verwendet (Ja/Nein)?
            :ivar beteiligungsart: Wie ist diese Person an der Tat
                beteiligt? Hier wird eine Codeliste verwendet mit Werten
                wie Anstiftung, Beihilfe, alleinhandelnd,
                gemeinschaftlich, Nebentäter.
            """

            fuehrendes_delikt: bool = field(
                default=False,
                metadata={
                    "name": "fuehrendesDelikt",
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                },
            )
            beteiligungsart: None | CodeStrafBeteiligungsartTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )

        @dataclass(kw_only=True)
        class Strafantrag:
            """
            :ivar strafantragsdatum: Für Antragsdelikte kann hier das
                Datum des Strafantrages erfasst werden.
            :ivar antragsteller: Für Antragsdelikte kann hier der
                Antragsteller in Form eines Verweises auf die
                Rollennummer eines Beteiligten im Grunddatensatz erfasst
                werden.
            :ivar eingangsdatum: Das Eingangsdatum des Strafantrags, das
                sich vom eigentlichen Antragsdatum unterscheiden kann.
            """

            strafantragsdatum: XmlDate = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            antragsteller: TypeGdsRefRollennummer = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            eingangsdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )

    @dataclass(kw_only=True)
    class Schaden:
        """
        :ivar schadenshoehe:
        :ivar schadensart: Freitextfeld zur Beschreibung der
            Schadensart. z.B. Scheibenschaden
        :ivar geschaedigter: Hier kann der/die Geschädigte(r) in Form
            eines Verweises auf die Rollennummer eines Beteiligten im
            Grunddatensatz hinterlegt werden.
        """

        schadenshoehe: None | TypeGdsGeldbetrag = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        schadensart: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        geschaedigter: None | TypeGdsRefRollennummer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Tatgegenstand:
        ref_beweismittel: None | str = field(
            default=None,
            metadata={
                "name": "ref.beweismittel",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        ref_asservate: None | str = field(
            default=None,
            metadata={
                "name": "ref.asservate",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )
        ref_fahrzeug: None | str = field(
            default=None,
            metadata={
                "name": "ref.fahrzeug",
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafBfjBzrAuskunftserteilungAuskunft0500102:
    """
    Mit dieser Nachricht übermittelt das BfJ die Auskunft zu einem Ersuchen
    um unbeschränkte Auskunft aus dem Bundeszentralregister oder zu einem
    Antrag auf Erteilung eines Behördenführungszeugnisses nach § 31 BZRG.

    Für die Erteilung von Auskünften aus dem Strafregister eines anderen
    EU-Mitgliedsstaats oder eines Partnerstaates sowie für die
    Abschlussnachricht nach Abfrage von ECRIS-TCN ist ein separater
    Nachrichtentyp (0500103) vorgesehen.
    """

    class Meta:
        name = "nachricht.straf.bfj.bzr.auskunftserteilung.auskunft.0500102"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBzrAuskunftserteilungAuskunft0500102.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar steuerungsdaten: Dieses Element steht für die
            Steuerungsdaten zur vorliegenden Auskunft.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar entscheidungsdaten: Mit diesem Element wird eine Liste von
            im BZR eingetragenen Entscheidungen zu der betroffenen
            Person übermittelt.
        """

        steuerungsdaten: NachrichtStrafBfjBzrAuskunftserteilungAuskunft0500102.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: list[
            TypeStrafBfjWeitereAngabenBeteiligter
        ] = field(
            default_factory=list,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        entscheidungsdaten: NachrichtStrafBfjBzrAuskunftserteilungAuskunft0500102.Fachdaten.Entscheidungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar nachrichtencode: Der Nachrichtencode für die
                Auskunftserteilung wird benötigt, um die Art einer beim
                BfJ eingehenden Nachricht zu identifizieren, die weitere
                Verarbeitung im BfJ zu lenken und den Umfang einer
                Auskunft zu bezeichnen.
            :ivar verwendungszweck: Dieses Element steht für den Zweck,
                zu dem eine Auskunft benötigt wird. Dieser ist von der
                anfragenden Stelle bei der Anfrage anzugeben. Stellen
                erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen
                Zwecke eine Auskunft aus einem Register des BfJ.
            :ivar hinweis_auskunft_drittstaatler: Dieser Typ dient als
                Hinweis, falls die Auskunft aus dem BZR zu einem
                Drittstaatsangehörigen (also einem Staatsangehörigen
                eines Nicht-EU-Staates), einem Staatenlosen oder einer
                Person mit ungeklärter Staatsangehörigkeit erteilt
                wurde. Ist der Typ aktiv, ist die Auskunftserteilung aus
                dem BZR nicht abschließend, da das BfJ zu etwaigen
                weiteren zur Person vorliegenden Informationen aus
                anderen europäischen Strafregistern eine oder mehrere
                gesonderte Nachricht/en übersendet.
            """

            nachrichtencode: CodeStrafBfjNachrichtencodeBzrAuskunftTyp3 = (
                field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
            )
            verwendungszweck: TypeStrafBfjVerwendungszweck = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            hinweis_auskunft_drittstaatler: None | bool = field(
                default=None,
                metadata={
                    "name": "hinweisAuskunftDrittstaatler",
                    "type": "Element",
                },
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar anzahl_entscheidungen: Angabe, wieviele Entscheidungen
                in der vorliegenden Nachricht enthalten sind.
                Einzutragen ist die Anzahl.
            :ivar entscheidung: Jede Instanz dieses Elements stellt eine
                im BZR eingetragene Entscheidung zu der betroffenen
                Person dar.
            """

            anzahl_entscheidungen: int = field(
                metadata={
                    "name": "anzahlEntscheidungen",
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidung: list[
                NachrichtStrafBfjBzrAuskunftserteilungAuskunft0500102.Fachdaten.Entscheidungsdaten.Entscheidung
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidung:
                """
                :ivar ordnungsdaten: Dieses Element enthält die
                    Ordnungsdaten zur Entscheidung.
                :ivar inhalt_der_entscheidung: In diesem Element sind
                    die Inhalte der betreffenden Entscheidung
                    abgebildet.
                """

                ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                inhalt_der_entscheidung: NachrichtStrafBfjBzrAuskunftserteilungAuskunft0500102.Fachdaten.Entscheidungsdaten.Entscheidung.InhaltDerEntscheidung = field(
                    metadata={
                        "name": "inhaltDerEntscheidung",
                        "type": "Element",
                        "required": True,
                    }
                )

                @dataclass(kw_only=True)
                class InhaltDerEntscheidung:
                    """
                    :ivar datum_rechtskraft: Datum der Rechtskraft der
                        Entscheidung. Bei Teilrechtskraft: letztes
                        Rechtskraftdatum.
                    :ivar tat: Jede Instanz dieses Elements enthält
                        Daten zur juristischen Einordnung einer
                        Straftat, auf die sich die vorliegende
                        Entscheidung bezieht. Instanzen des vorliegenden
                        Datentyps können maximal eine Instanz dieses
                        Elements enthalten.
                    :ivar strafvorbehalt: Angabe, ob ein Strafvorbehalt
                        festgesetzt wird; Schuldspruch und eine
                        Verwarnung des Täters nach § 59 StGB.
                    :ivar gewerbezusammenhang: Vorliegen einer
                        begangenen Tat im Zusammenhang mit der Ausübung
                        eines Gewerbes. Angabe ist wichtig für die
                        Ausgabe von Führungszeugnissen für
                        gewerberechtliche Entscheidungen.
                    :ivar schuldspruch_jgg: Vorliegen eines
                        Schuldspruchs nach § 27 Jugendgerichtsgesetz
                        (JGG)
                    :ivar freiheitsentziehung: Daten zu Art und Dauer
                        der Freiheitsentziehung
                    :ivar geldstrafe: Daten zum Umfang der Geldstrafe.
                    :ivar auswahl_auf_bewaehrung: Daten zur Dauer der
                        Bewährungszeit.
                    :ivar auswahl_fahrerlaubnis: Dieses Element ist bei
                        Verhängung einer Sperre für die Wiedererteilung
                        der Fahrerlaubnis zu übermitteln. Es werden
                        Angaben zur Dauer der Sperrfrist eingetragen.
                    :ivar fahrverbot: Bei Verhängung eines Fahrverbots
                        nach § 44 StGB: Dauer des Fahrverbots. Dabei ist
                        nur das Unterelement Monate zu verwenden. Falls
                        in einer Entscheidung mehrere Fahrverbote
                        verhängt wurden, ist das Element mehrfach zu
                        übermitteln.
                    :ivar ausgangszusatztext: Eine Instanz dieses
                        Elements steht für eine Zusatzinformation zur
                        vorliegenden Entscheidung.
                    """

                    datum_rechtskraft: None | XmlDate = field(
                        default=None,
                        metadata={
                            "name": "datumRechtskraft",
                            "type": "Element",
                        },
                    )
                    tat: None | TypeStrafBfjStraftat = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    strafvorbehalt: None | bool = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    gewerbezusammenhang: None | bool = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    schuldspruch_jgg: None | bool = field(
                        default=None,
                        metadata={
                            "name": "schuldspruchJgg",
                            "type": "Element",
                        },
                    )
                    freiheitsentziehung: (
                        None | TypeStrafBfjFreiheitsentziehung
                    ) = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    geldstrafe: None | TypeStrafBfjGeldstrafe = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    auswahl_auf_bewaehrung: (
                        None | TypeStrafBfjBewaehrungszeitDauer
                    ) = field(
                        default=None,
                        metadata={
                            "name": "auswahl_aufBewaehrung",
                            "type": "Element",
                        },
                    )
                    auswahl_fahrerlaubnis: None | TypeStrafBfjFahrerlaubnis = (
                        field(
                            default=None,
                            metadata={
                                "type": "Element",
                            },
                        )
                    )
                    fahrverbot: list[TypeStrafDauer] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )
                    ausgangszusatztext: list[
                        TypeStrafBfjAusgangszusatztext
                    ] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )


@dataclass(kw_only=True)
class NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105:
    """
    Mit dieser Nachricht übermittelt das BfJ die Auskunft zu einem
    Führungszeugnisantrag zur Vorlage bei einer Behörde (§ 30 Abs. 5 BZRG).

    Die Nachricht enthält ggf. auch Daten aus einem oder mehreren
    verbundenen Strafregister/n anderer EU-Mitgliedstaaten oder
    Partnerstaaten. Der Führungszeugnisantrag zur Vorlage bei einer Behörde
    wurde in diesem Fall nicht durch die empfangende Justizbehörde
    gestellt, sondern durch die betroffene Person selbst, wobei die
    Übermittlung des Führungszeugnisantrags an das BfJ in der Regel
    elektronisch durch eine Meldebehörde oder über ein Online-Portal
    erfolgte.
    """

    class Meta:
        name = "nachricht.straf.bfj.bzr.auskunftserteilung.fuehrungszeugnisAuskunft.0500105"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar steuerungsdaten: Dieses Element steht für die
            Steuerungsdaten zur vorliegenden Auskunft.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar entscheidungsdaten: Mit diesem Element wird eine Liste von
            im BZR eingetragenen Entscheidungen zu der betroffenen
            Person übermittelt.
        :ivar auslandsanteil: Mit diesem Element wird eine Liste von
            Daten zu der betroffenen Person aus einem ausländischen
            Strafregister übermittelt.
        """

        steuerungsdaten: NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: list[
            TypeStrafBfjWeitereAngabenBeteiligter
        ] = field(
            default_factory=list,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        entscheidungsdaten: NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Entscheidungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        auslandsanteil: list[
            NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Auslandsanteil
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar nachrichtencode: Der Nachrichtencode für die
                Auskunftserteilung wird benötigt, um die Art einer beim
                BfJ eingehenden Nachricht zu identifizieren, die weitere
                Verarbeitung im BfJ zu lenken und den Umfang einer
                Auskunft zu bezeichnen.
            :ivar verwendungszweck: Dieses Element steht für den Zweck,
                zu dem eine Auskunft benötigt wird. Dieser ist von der
                anfragenden Stelle bei der Anfrage anzugeben. Stellen
                erhalten nur für die im Gesetz (BZRG, GewO) vorgesehenen
                Zwecke eine Auskunft aus einem Register des BfJ.
            """

            nachrichtencode: CodeStrafBfjNachrichtencodeBzrAuskunftTyp3 = (
                field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
            )
            verwendungszweck: None | TypeStrafBfjVerwendungszweck = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar anzahl_entscheidungen: Angabe, wieviele Entscheidungen
                in der vorliegenden Nachricht enthalten sind.
                Einzutragen ist die Anzahl.
            :ivar entscheidung: Jede Instanz dieses Elements stellt eine
                im BZR eingetragene Entscheidung zu der betroffenen
                Person dar.
            """

            anzahl_entscheidungen: int = field(
                metadata={
                    "name": "anzahlEntscheidungen",
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidung: list[
                NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Entscheidungsdaten.Entscheidung
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidung:
                """
                :ivar ordnungsdaten: Dieses Element enthält die
                    Ordnungsdaten zur Entscheidung.
                :ivar inhalt_der_entscheidung: In diesem Element sind
                    die Inhalte der betreffenden Entscheidung
                    abgebildet.
                """

                ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                inhalt_der_entscheidung: NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Entscheidungsdaten.Entscheidung.InhaltDerEntscheidung = field(
                    metadata={
                        "name": "inhaltDerEntscheidung",
                        "type": "Element",
                        "required": True,
                    }
                )

                @dataclass(kw_only=True)
                class InhaltDerEntscheidung:
                    """
                    :ivar datum_rechtskraft: Datum der Rechtskraft der
                        Entscheidung. Bei Teilrechtskraft: letztes
                        Rechtskraftdatum.
                    :ivar tat: Jede Instanz dieses Elements enthält
                        Daten zur juristischen Einordnung einer
                        Straftat, auf die sich die vorliegende
                        Entscheidung bezieht. Instanzen des vorliegenden
                        Datentyps können maximal eine Instanz dieses
                        Elements enthalten.
                    :ivar strafvorbehalt: Angabe, ob ein Strafvorbehalt
                        festgesetzt wird; Schuldspruch und eine
                        Verwarnung des Täters nach § 59 StGB.
                    :ivar gewerbezusammenhang: Vorliegen einer
                        begangenen Tat im Zusammenhang mit der Ausübung
                        eines Gewerbes. Angabe ist wichtig für die
                        Ausgabe von Führungszeugnissen für
                        gewerberechtliche Entscheidungen.
                    :ivar schuldspruch_jgg: Vorliegen eines
                        Schuldspruchs nach § 27 Jugendgerichtsgesetz
                        (JGG)
                    :ivar freiheitsentziehung: Daten zu Art und Dauer
                        der Freiheitsentziehung
                    :ivar geldstrafe: Daten zum Umfang der Geldstrafe.
                    :ivar auswahl_auf_bewaehrung: Daten zur Dauer der
                        Bewährungszeit.
                    :ivar auswahl_fahrerlaubnis: Dieses Element ist bei
                        Verhängung einer Sperre für die Wiedererteilung
                        der Fahrerlaubnis zu übermitteln. Es werden
                        Angaben zur Dauer der Sperrfrist eingetragen.
                    :ivar fahrverbot: Bei Verhängung eines Fahrverbots
                        nach § 44 StGB: Dauer des Fahrverbots. Dabei ist
                        nur das Unterelement Monate zu verwenden. Falls
                        in einer Entscheidung mehrere Fahrverbote
                        verhängt wurden, ist das Element mehrfach zu
                        übermitteln.
                    :ivar ausgangszusatztext: Eine Instanz dieses
                        Elements steht für eine Zusatzinformation zur
                        vorliegenden Entscheidung.
                    """

                    datum_rechtskraft: None | XmlDate = field(
                        default=None,
                        metadata={
                            "name": "datumRechtskraft",
                            "type": "Element",
                        },
                    )
                    tat: None | TypeStrafBfjStraftat = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    strafvorbehalt: None | bool = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    gewerbezusammenhang: None | bool = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    schuldspruch_jgg: None | bool = field(
                        default=None,
                        metadata={
                            "name": "schuldspruchJgg",
                            "type": "Element",
                        },
                    )
                    freiheitsentziehung: (
                        None | TypeStrafBfjFreiheitsentziehung
                    ) = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    geldstrafe: None | TypeStrafBfjGeldstrafe = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    auswahl_auf_bewaehrung: (
                        None | TypeStrafBfjBewaehrungszeitDauer
                    ) = field(
                        default=None,
                        metadata={
                            "name": "auswahl_aufBewaehrung",
                            "type": "Element",
                        },
                    )
                    auswahl_fahrerlaubnis: None | TypeStrafBfjFahrerlaubnis = (
                        field(
                            default=None,
                            metadata={
                                "type": "Element",
                            },
                        )
                    )
                    fahrverbot: list[TypeStrafDauer] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )
                    ausgangszusatztext: list[
                        TypeStrafBfjAusgangszusatztext
                    ] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )

        @dataclass(kw_only=True)
        class Auslandsanteil:
            """
            :ivar auskunftsland: In diesem Element wird das Land
                bezeichnet, aus dessen Strafregister die Auskunft
                erteilt wurde.
            :ivar antworttyp: Hier wird die Art der Auslandsnachricht
                beschrieben. Es kann sich dabei handeln: um eine
                Auskunft aus dem ausländischen Strafregister, um eine
                Nachricht nach Ablauf der ECRIS-Deadline oder um den
                Hinweis, dass zur Person aktuell keine weiteren
                Informationen aus anderen Strafregistern des
                europäischen Strafregisterverbundes vorliegen.
            :ivar weitere_angaben_beteiligter: Hier werden Personendaten
                wiedergegeben, die im XJustiz-Grunddatensatz nicht
                abgebildet sind.
            :ivar entscheidungsdaten: Dieses Element steht für eine
                Liste von in dem ausländischen Register eingetragenen
                Entscheidungen zu der betroffenen Person. Wenn es in
                einer Nachrichteninstanz nicht vorhanden ist, hat das
                ausländische Register nicht auf die Anfrage geantwortet;
                es liegen dem BfJ also keine Informationen vor, die
                darauf schließen lassen, ob und welche Einträge zu der
                betroffenen Person in dem ausländischen Register
                eingetragen sind. Wenn es vorhanden ist, hat das
                ausländische Register auf die Anfrage geantwortet;
                enthalten in diesem Element sind dann die Einträge
                (Entscheidungen) zu der betroffenen Person, die in dem
                ausländischen Register vorgehalten werden (es können im
                Element dann entsprechend keine, eine oder mehrere
                Entscheidungen enthalten sein).
            :ivar ergaenzende_information: Das Element enthält eine
                Information oder mehrere Informationen zum
                Auslandsanteil dieser Auskunft: Je Information wird ein
                eigenes Element instantiiert.
            """

            auskunftsland: CodeGdsStaatenTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            antworttyp: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            weitere_angaben_beteiligter: list[
                TypeStrafBfjWeitereAngabenBeteiligter
            ] = field(
                default_factory=list,
                metadata={
                    "name": "weitereAngabenBeteiligter",
                    "type": "Element",
                },
            )
            entscheidungsdaten: (
                None
                | NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Auslandsanteil.Entscheidungsdaten
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            ergaenzende_information: list[str] = field(
                default_factory=list,
                metadata={
                    "name": "ergaenzendeInformation",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidungsdaten:
                """
                :ivar anzahl_entscheidungen: Angabe, wieviele
                    Entscheidungen zur betroffenen Person im
                    ausländischen Strafregister eingetragen sind bzw. in
                    der vorliegenden Nachricht übermittelt werden.
                    Einzutragen ist die Anzahl.
                :ivar entscheidung: Jede Instanz dieses Elements stellt
                    eine durch ein ausländisches Strafregister
                    übermittelte Entscheidung zu der betroffenen Person
                    dar.
                """

                anzahl_entscheidungen: int = field(
                    metadata={
                        "name": "anzahlEntscheidungen",
                        "type": "Element",
                        "required": True,
                    }
                )
                entscheidung: list[
                    NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Auslandsanteil.Entscheidungsdaten.Entscheidung
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class Entscheidung:
                    """
                    :ivar ordnungsdaten: Dieses Element enthält die
                        Ordnungsdaten zur Entscheidung.
                    :ivar inhalt_der_entscheidung: In diesem Element
                        sind die Inhalte der betreffenden Entscheidung
                        abgebildet.
                    :ivar sanktion: Eine Instanz dieses Elements steht
                        für eine in der Entscheidung ausgesprochene
                        Sanktion.
                    :ivar zusatzinformationen: Zusätzliche Informationen
                        zu der Entscheidung in der Auslandsauskunft,
                        z.B. Angaben zur Vollstreckung.
                    """

                    ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )
                    inhalt_der_entscheidung: NachrichtStrafBfjBzrAuskunftserteilungFuehrungszeugnisAuskunft0500105.Fachdaten.Auslandsanteil.Entscheidungsdaten.Entscheidung.InhaltDerEntscheidung = field(
                        metadata={
                            "name": "inhaltDerEntscheidung",
                            "type": "Element",
                            "required": True,
                        }
                    )
                    sanktion: list[str] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )
                    zusatzinformationen: list[str] = field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )

                    @dataclass(kw_only=True)
                    class InhaltDerEntscheidung:
                        """
                        :ivar datum_rechtskraft: Datum der Rechtskraft
                            der Entscheidung. Bei Teilrechtskraft:
                            letztes Rechtskraftdatum.
                        :ivar tat: Dieses Element enthält Daten zur
                            juristischen Einordnung der Straftat, auf
                            die sich die vorliegende Entscheidung
                            bezieht. In der Auslandsnachricht können
                            mehrere Instanzen des Elements enthalten
                            sein.
                        """

                        datum_rechtskraft: None | XmlDate = field(
                            default=None,
                            metadata={
                                "name": "datumRechtskraft",
                                "type": "Element",
                            },
                        )
                        tat: list[TypeStrafBfjStraftat] = field(
                            default_factory=list,
                            metadata={
                                "type": "Element",
                            },
                        )


@dataclass(kw_only=True)
class NachrichtStrafBfjBzrHinweis0500301:
    """
    Mit dieser Nachricht übermittelt das BfJ bei den Hinweisarten H1 und H9
    einen Hinweis gemäß § 22 BZRG in Bezug auf eine strafgerichtliche
    Entscheidung, bei den Hinweisarten H2 bis H5 einen Hinweis gemäß § 28
    BZRG aufgrund eines Suchvermerkes und bei der Hinweisart H6 einen
    Hinweis gemäß § 23 BZRG, dass die Voraussetzungen für eine
    Gesamtstrafenbildung nach § 460 StPO vorliegen könnten.
    """

    class Meta:
        name = "nachricht.straf.bfj.bzr.hinweis.0500301"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBzrHinweis0500301.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar steuerungsdaten: Einbinden der Steuerungsdaten für die
            vorliegende Nachricht.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar bezugsdaten: Daten der im BZR gespeicherten Entscheidung,
            die dem Hinweis zu Grunde liegt (Hinweisbegründer).
        :ivar anlass_des_hinweises: Daten der Nachricht, die den Hinweis
            auslöst (Hinweisauslöser). Dies kann eine im BfJ
            eingegangene Anfrage oder eine Mitteilung sein.
        :ivar entscheidungsdaten: Mit diesem Element wird eine Liste von
            im BZR eingetragenen Entscheidungen zu der betroffenen
            Person übermittelt. Es enthält Daten einer oder mehrerer
            weiterer Entscheidungen im Register, auf die der
            Hinweisbegründer hingewiesen wird. Beim Hinweis H2 sind das
            die bereits im Register eingetragenen Entscheidungen (in
            Kurzbezeichnung), beim Hinweis H1 die vollständigen Daten
            der neu eingehenden Entscheidung (=Hinweisauslöser).
        """

        steuerungsdaten: NachrichtStrafBfjBzrHinweis0500301.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: (
            None | TypeStrafBfjWeitereAngabenBeteiligter
        ) = field(
            default=None,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        bezugsdaten: TypeStrafBfjOrdnungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        anlass_des_hinweises: NachrichtStrafBfjBzrHinweis0500301.Fachdaten.AnlassDesHinweises = field(
            metadata={
                "name": "anlassDesHinweises",
                "type": "Element",
                "required": True,
            }
        )
        entscheidungsdaten: list[
            NachrichtStrafBfjBzrHinweis0500301.Fachdaten.Entscheidungsdaten
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar hinweisart: Dieses Element steht für die Information,
                welche Art von Hinweis die vorliegende
                Nachrichteninstanz enthält.
            """

            hinweisart: CodeStrafBfjBzrHinweisArtTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )

        @dataclass(kw_only=True)
        class AnlassDesHinweises:
            """
            :ivar anlass_hinweiserteilung: Dieses Element nennt den
                Grund bzw. Anlass für die vorliegende Hinweiserteilung.
            :ivar ausloesende_entscheidung: Dieses Element wird
                übermittelt, falls der Auslöser des vorliegenden
                Hinweises eine Mitteilung war. In diesem Fall enthält
                das Element die Ordnungsdaten der Entscheidung, über die
                in der Mitteilung informiert wurde.
            :ivar bezug_anfrage: Falls der Auslöser eine Anfrage war,
                wird hier das Datum der Anfrage angegeben und
                Bezeichnung sowie Anschrift der Stelle, die die Anfrage
                gestellt hat.
            :ivar anzahl_entscheidungen: Dieses Element wird
                übermittelt, falls es sich um einen Hinweis H2 oder
                einen Hinweis H6 handelt. Dieser weist auf bereits im
                Register eingetragene Entscheidungen hin. Das Element
                enthält die Anzahl dieser bereits eingetragenen
                Entscheidungen.
            """

            anlass_hinweiserteilung: CodeStrafBfjHinweisAnlassTyp3 = field(
                metadata={
                    "name": "anlassHinweiserteilung",
                    "type": "Element",
                    "required": True,
                }
            )
            ausloesende_entscheidung: None | TypeStrafBfjOrdnungsdaten = field(
                default=None,
                metadata={
                    "name": "ausloesendeEntscheidung",
                    "type": "Element",
                },
            )
            bezug_anfrage: (
                None
                | NachrichtStrafBfjBzrHinweis0500301.Fachdaten.AnlassDesHinweises.BezugAnfrage
            ) = field(
                default=None,
                metadata={
                    "name": "bezugAnfrage",
                    "type": "Element",
                },
            )
            anzahl_entscheidungen: None | int = field(
                default=None,
                metadata={
                    "name": "anzahlEntscheidungen",
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class BezugAnfrage:
                """
                :ivar datum_anfrage: Datum der Anfrage, auf die sich der
                    vorliegende Hinweis bezieht.
                :ivar aktenzeichen: Aktenzeichen der Anfrage, auf die
                    sich der vorliegende Hinweis bezieht.
                :ivar verwendungszweck: Verwendungszweck der Anfrage,
                    auf die sich der vorliegende Hinweis bezieht.
                :ivar behoerdenname: Name der Stelle, die die Anfrage
                    gestellt hat, auf die sich der vorliegende Hinweis
                    bezieht.
                :ivar anschrift: Anschrift der Stelle, die die Anfrage
                    gestellt hat, auf die sich der vorliegende Hinweis
                    bezieht.
                """

                datum_anfrage: None | XmlDate = field(
                    default=None,
                    metadata={
                        "name": "datumAnfrage",
                        "type": "Element",
                    },
                )
                aktenzeichen: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                verwendungszweck: TypeStrafBfjVerwendungszweck = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                behoerdenname: TypeGdsBehoerde = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                anschrift: None | TypeGdsAnschrift = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar ordnungsdaten: Dieses Element enthält die
                Ordnungsdaten zur Entscheidung.
            :ivar inhalt_der_entscheidung: In diesem Element sind die
                Inhalte der betreffenden Entscheidung abgebildet.
            :ivar ist_gesamtstrafenfaehig: Dieses Element wird verwendet
                für die Kennzeichnung der Entscheidungen, für die die
                Voraussetzungen einer Gesamtstrafe nach § 460 StPO
                vorliegen.
            """

            ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            inhalt_der_entscheidung: NachrichtStrafBfjBzrHinweis0500301.Fachdaten.Entscheidungsdaten.InhaltDerEntscheidung = field(
                metadata={
                    "name": "inhaltDerEntscheidung",
                    "type": "Element",
                    "required": True,
                }
            )
            ist_gesamtstrafenfaehig: None | bool = field(
                default=None,
                metadata={
                    "name": "istGesamtstrafenfaehig",
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class InhaltDerEntscheidung:
                """
                :ivar datum_rechtskraft: Datum der Rechtskraft der
                    Entscheidung. Bei Teilrechtskraft: letztes
                    Rechtskraftdatum.
                :ivar tat: Jede Instanz dieses Elements enthält Daten
                    zur juristischen Einordnung einer Straftat, auf die
                    sich die vorliegende Entscheidung bezieht. Instanzen
                    des vorliegenden Datentyps können maximal eine
                    Instanz dieses Elements enthalten.
                :ivar strafvorbehalt: Angabe, ob ein Strafvorbehalt
                    festgesetzt wird; Schuldspruch und eine Verwarnung
                    des Täters nach § 59 StGB.
                :ivar gewerbezusammenhang: Vorliegen einer begangenen
                    Tat im Zusammenhang mit der Ausübung eines Gewerbes.
                    Angabe ist wichtig für die Ausgabe von
                    Führungszeugnissen für gewerberechtliche
                    Entscheidungen.
                :ivar schuldspruch_jgg: Vorliegen eines Schuldspruchs
                    nach § 27 Jugendgerichtsgesetz (JGG)
                :ivar freiheitsentziehung: Daten zu Art und Dauer der
                    Freiheitsentziehung
                :ivar geldstrafe: Daten zum Umfang der Geldstrafe.
                :ivar auswahl_auf_bewaehrung: Daten zur Dauer der
                    Bewährungszeit.
                :ivar auswahl_fahrerlaubnis: Dieses Element ist bei
                    Verhängung einer Sperre für die Wiedererteilung der
                    Fahrerlaubnis zu übermitteln. Es werden Angaben zur
                    Dauer der Sperrfrist eingetragen.
                :ivar fahrverbot: Bei Verhängung eines Fahrverbots nach
                    § 44 StGB: Dauer des Fahrverbots. Dabei ist nur das
                    Unterelement Monate zu verwenden. Falls in einer
                    Entscheidung mehrere Fahrverbote verhängt wurden,
                    ist das Element mehrfach zu übermitteln.
                :ivar ausgangszusatztext: Eine Instanz dieses Elements
                    steht für eine Zusatzinformation zur vorliegenden
                    Entscheidung.
                """

                datum_rechtskraft: None | XmlDate = field(
                    default=None,
                    metadata={
                        "name": "datumRechtskraft",
                        "type": "Element",
                    },
                )
                tat: None | TypeStrafBfjStraftat = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                strafvorbehalt: None | bool = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                gewerbezusammenhang: None | bool = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                schuldspruch_jgg: None | bool = field(
                    default=None,
                    metadata={
                        "name": "schuldspruchJgg",
                        "type": "Element",
                    },
                )
                freiheitsentziehung: None | TypeStrafBfjFreiheitsentziehung = (
                    field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                )
                geldstrafe: None | TypeStrafBfjGeldstrafe = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                auswahl_auf_bewaehrung: (
                    None | TypeStrafBfjBewaehrungszeitDauer
                ) = field(
                    default=None,
                    metadata={
                        "name": "auswahl_aufBewaehrung",
                        "type": "Element",
                    },
                )
                auswahl_fahrerlaubnis: None | TypeStrafBfjFahrerlaubnis = (
                    field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                )
                fahrverbot: list[TypeStrafDauer] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                ausgangszusatztext: list[TypeStrafBfjAusgangszusatztext] = (
                    field(
                        default_factory=list,
                        metadata={
                            "type": "Element",
                        },
                    )
                )


@dataclass(kw_only=True)
class NachrichtStrafBfjBzrMitteilung0500200:
    """
    Mittels dieser Nachricht werden dem Bundeszentralregister (BZR)
    Entscheidungsdaten zu einer konkreten natürlichen Person übermittelt.

    Es kann sich dabei um eine rechtskräftige strafgerichtliche
    Entscheidung, eine familien- oder vormundschaftgerichtliche
    Entscheidung oder um einen Suchvermerk handeln. Zudem kann das BfJ mit
    dieser Nachricht um Berichtigung oder Löschung einer bereits zum BZR
    mitgeteilten Entscheidung ersucht werden. In diesem Fall ist der
    Nachrichtencode B zu verwenden und eine der Textkennzahlen 9000 bzw.
    9001 verpflichtend anzugeben. Für eine Berichtigung ist die
    Textkennzahl 9000 zu verwenden und die durchzuführende Berichtigung
    genau zu bezeichnen. Für eine Löschung ist die Textkennzahl 9001 zu
    verwenden und der Grund der Löschung anzugeben.
    """

    class Meta:
        name = "nachricht.straf.bfj.bzr.mitteilung.0500200"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    fachdaten: NachrichtStrafBfjBzrMitteilung0500200.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar uebermittelnde_stelle: Hier wird - je nach Kontext - die
            Informationen zum Sender bzw. zum Empfänger der
            Transportschicht eingebunden. Die "Übermittelnde Stelle"
            wird durch ein Kennzeichen identifiziert. Das Kennzeichen
            kann dem BfJ sowohl zur Identifizierung als auch der Prüfung
            der Berechtigung dienen.
        :ivar steuerungsdaten: Dieses Element steht für die
            Steuerungsdaten zur vorliegenden Auskunft.
        :ivar weitere_angaben_beteiligter: Hier werden die
            Beteiligtendaten wiedergegeben, die im XJustiz-
            Grunddatensatz nicht abgebildet sind.
        :ivar entscheidungsdaten: Mit diesem Element wird eine im
            Register zu speichernde Entscheidung zu der betroffenen
            Person übermittelt.
        """

        uebermittelnde_stelle: None | TypeStrafBfjUebermittelndeStelle = field(
            default=None,
            metadata={
                "name": "uebermittelndeStelle",
                "type": "Element",
            },
        )
        steuerungsdaten: NachrichtStrafBfjBzrMitteilung0500200.Fachdaten.Steuerungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        weitere_angaben_beteiligter: list[
            TypeStrafBfjWeitereAngabenBeteiligter
        ] = field(
            default_factory=list,
            metadata={
                "name": "weitereAngabenBeteiligter",
                "type": "Element",
            },
        )
        entscheidungsdaten: NachrichtStrafBfjBzrMitteilung0500200.Fachdaten.Entscheidungsdaten = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )

        @dataclass(kw_only=True)
        class Steuerungsdaten:
            """
            :ivar nachrichtencode: Der Nachrichtencode im Zusammenhang
                von Mitteilungen wird benötigt, um die Art einer beim
                BfJ eingehenden Mitteilung zu identifizieren und die
                weitere Verarbeitung im BfJ zu lenken.
            """

            nachrichtencode: CodeStrafBfjNachrichtencodeBzrMitteilungenTyp3 = (
                field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
            )

        @dataclass(kw_only=True)
        class Entscheidungsdaten:
            """
            :ivar ordnungsdaten: Dieses Element enthält die
                Ordnungsdaten zur Entscheidung (Entscheidungsdatum,
                Erkennende Stelle und Aktenzeichen).
            :ivar inhalt_der_entscheidung: In diesem Element sind die
                Inhalte der betreffenden Entscheidung
                (Entscheidungsdaten und Textkennzahlen) abgebildet.
            """

            ordnungsdaten: TypeStrafBfjOrdnungsdaten = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            inhalt_der_entscheidung: NachrichtStrafBfjBzrMitteilung0500200.Fachdaten.Entscheidungsdaten.InhaltDerEntscheidung = field(
                metadata={
                    "name": "inhaltDerEntscheidung",
                    "type": "Element",
                    "required": True,
                }
            )

            @dataclass(kw_only=True)
            class InhaltDerEntscheidung:
                """
                :ivar datum_rechtskraft: Datum der Rechtskraft der
                    Entscheidung. Bei Teilrechtskraft: letztes
                    Rechtskraftdatum.
                :ivar tat: Jede Instanz dieses Elements enthält Daten
                    zur juristischen Einordnung einer Straftat, auf die
                    sich die vorliegende Entscheidung bezieht. Instanzen
                    des vorliegenden Datentyps können maximal eine
                    Instanz dieses Elements enthalten.
                :ivar strafvorbehalt: Angabe, ob ein Strafvorbehalt
                    festgesetzt wird; Schuldspruch und eine Verwarnung
                    des Täters nach § 59 StGB.
                :ivar gewerbezusammenhang: Vorliegen einer begangenen
                    Tat im Zusammenhang mit der Ausübung eines Gewerbes.
                    Angabe ist wichtig für die Ausgabe von
                    Führungszeugnissen für gewerberechtliche
                    Entscheidungen.
                :ivar schuldspruch_jgg: Vorliegen eines Schuldspruchs
                    nach § 27 Jugendgerichtsgesetz (JGG)
                :ivar freiheitsentziehung: Daten zu Art und Dauer der
                    Freiheitsentziehung
                :ivar geldstrafe: Daten zum Umfang der Geldstrafe.
                :ivar auswahl_auf_bewaehrung: Daten zur Dauer der
                    Bewährungszeit.
                :ivar auswahl_fahrerlaubnis: Dieses Element ist bei
                    Verhängung einer Sperre für die Wiedererteilung der
                    Fahrerlaubnis zu übermitteln. Es werden Angaben zur
                    Dauer der Sperrfrist eingetragen.
                :ivar fahrverbot: Bei Verhängung eines Fahrverbots nach
                    § 44 StGB: Dauer des Fahrverbots. Dabei ist nur das
                    Unterelement Monate zu verwenden. Falls in einer
                    Entscheidung mehrere Fahrverbote verhängt wurden,
                    ist das Element mehrfach zu übermitteln.
                :ivar auswahl_straftaten_flag: Kennzeichnung bei
                    verurteilten Drittstaatsangehörigen (also
                    Staatsangehörigen eines Nicht-EU-Staates),
                    Staatenlosen oder Personen mit unbekannter
                    Staatsangehörigkeit, dass die Verurteilung wegen
                    einer terroristischen Straftat oder wegen einer
                    anderen im Anhang der Verordnung (EU) 2018/1240
                    aufgeführten Straftat erfolgt ist. Sie dient zur
                    Beschleunigung der Feststellung im Ausland, ob von
                    der Person eine besondere Gefahr für die Sicherheit
                    ausgehen könnte.
                :ivar textkennzahl: Eine Instanz dieses Elements steht
                    für die im BZR mittels einer Textkennzahl vermerkten
                    Informationen. Die Textkennzahlen dienen im
                    Wesentlichen zur Erfassung von Maßregeln, Maßnahmen
                    und Zuchtmitteln sowie zur Darstellung von
                    Vollstreckungsabläufen.
                """

                datum_rechtskraft: None | XmlDate = field(
                    default=None,
                    metadata={
                        "name": "datumRechtskraft",
                        "type": "Element",
                    },
                )
                tat: None | TypeStrafBfjStraftat = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                strafvorbehalt: None | bool = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                gewerbezusammenhang: None | bool = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                schuldspruch_jgg: None | bool = field(
                    default=None,
                    metadata={
                        "name": "schuldspruchJgg",
                        "type": "Element",
                    },
                )
                freiheitsentziehung: None | TypeStrafBfjFreiheitsentziehung = (
                    field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                )
                geldstrafe: None | TypeStrafBfjGeldstrafe = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                auswahl_auf_bewaehrung: (
                    None | TypeStrafBfjBewaehrungszeitDauer
                ) = field(
                    default=None,
                    metadata={
                        "name": "auswahl_aufBewaehrung",
                        "type": "Element",
                    },
                )
                auswahl_fahrerlaubnis: None | TypeStrafBfjFahrerlaubnis = (
                    field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                )
                fahrverbot: list[TypeStrafDauer] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                auswahl_straftaten_flag: (
                    None
                    | NachrichtStrafBfjBzrMitteilung0500200.Fachdaten.Entscheidungsdaten.InhaltDerEntscheidung.AuswahlStraftatenFlag
                ) = field(
                    default=None,
                    metadata={
                        "name": "auswahl_straftatenFlag",
                        "type": "Element",
                    },
                )
                textkennzahl: list[TypeStrafBfjBzrTextkennzahl] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class AuswahlStraftatenFlag:
                    """
                    :ivar drittstaatler_terroristische_straftat: Dieser
                        Typ ist auszuwählen, falls es sich bei der
                        abgeurteilten Tat um eine terroristische
                        Straftat handelt, die durch eine Person mit der
                        Staatsangehörigkeit eines Nicht-EU-Staates, eine
                        staatenlose Person oder eine Person mit
                        unbekannter Staatsangehörigkeit begangen wurde.
                        Liegt daneben eine andere schwere Straftat laut
                        Anhang der Verordnung (EU) 2018/1240 vor, ist
                        nur die terroristische Straftat zu kennzeichnen.
                    :ivar drittstaatler_andere_straftat: Dieser Typ ist
                        auszuwählen, falls es sich bei der abgeurteilten
                        Tat um eine andere im Anhang der Verordnung (EU)
                        2018/1240 aufgeführte Straftat handelt, die
                        durch eine Person mit der Staatsangehörigkeit
                        eines Nicht-EU-Staates, eine staatenlose Person
                        oder eine Person mit unbekannter
                        Staatsangehörigkeit begangen wurde. Liegt
                        daneben eine terroristische Straftat vor, ist
                        nur die terroristische Straftat zu kennzeichnen.
                    """

                    drittstaatler_terroristische_straftat: None | bool = field(
                        default=None,
                        metadata={
                            "name": "drittstaatlerTerroristischeStraftat",
                            "type": "Element",
                        },
                    )
                    drittstaatler_andere_straftat: None | bool = field(
                        default=None,
                        metadata={
                            "name": "drittstaatlerAndereStraftat",
                            "type": "Element",
                        },
                    )


@dataclass(kw_only=True)
class NachrichtStrafFahndung0500016(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.fahndung.0500016"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: (
        None | NachrichtStrafFahndung0500016.Schriftgutobjekte
    ) = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafFahndung0500016.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Schriftgutobjekte(TypeGdsSchriftgutobjekte):
        """
        :ivar anschreiben: Das Anschreiben beschreibt ein Dokument, das
            dem Empfänger zur Erläuterung der Sendung beigefügt wird. Es
            muss im Type.GDS.Schriftgutobjekte entweder im Kindelement
            Dokument oder im Kindelement Akte mit allen Metadaten
            beschrieben sein. Im Kindelement „anschreiben“ wird auf
            dieses Dokument referenziert. Für diese Referenzierung wird
            die uuid des Dokumentes genutzt.
        :ivar akte:
        """

        anschreiben: Any = field(
            init=False,
            default=None,
            metadata={
                "type": "Ignore",
            },
        )
        akte: Any = field(
            init=False,
            default=None,
            metadata={
                "type": "Ignore",
            },
        )

    @dataclass(kw_only=True)
    class Fachdaten:
        fahndung: NachrichtStrafFahndung0500016.Fachdaten.Fahndung = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        teilzahlung: (
            None | NachrichtStrafFahndung0500016.Fachdaten.Teilzahlung
        ) = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        haftbefehl: None | TypeStrafHaftbefehl = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        beschlagnahme: None | TypeStrafBeschlagnahme = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Fahndung:
            """
            :ivar fahndungsregion:
            :ivar anordnungsdatum:
            :ivar person: Die gesuchte Person wird durch einen Verweis
                auf die Rollennummer eines Beteiligten im Grunddatensatz
                angegeben.
            :ivar fahndungsverfahren:
            :ivar fahndungshinweis: Freitextfeld
            :ivar fahndungszweck:
            :ivar ausschreibungsanlass:
            :ivar erledigungsdatum:
            :ivar loeschungstermin:
            :ivar loeschungsgrund:
            :ivar ausschreibungsbehoerde:
            :ivar sachbearbeitende_dienststelle:
            :ivar tat:
            :ivar tatort:
            """

            fahndungsregion: CodeStrafFahndungsregionTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            anordnungsdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            person: list[TypeGdsRefRollennummer] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            fahndungsverfahren: list[CodeStrafFahndungsverfahrenTyp3] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                    "min_occurs": 1,
                },
            )
            fahndungshinweis: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            fahndungszweck: None | CodeStrafFahndungszweckTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            ausschreibungsanlass: None | CodeStrafFahndungsanlassTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            erledigungsdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            loeschungstermin: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            loeschungsgrund: None | CodeStrafLoeschungsgrundTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            ausschreibungsbehoerde: (
                None
                | NachrichtStrafFahndung0500016.Fachdaten.Fahndung.Ausschreibungsbehoerde
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            sachbearbeitende_dienststelle: (
                None
                | NachrichtStrafFahndung0500016.Fachdaten.Fahndung.SachbearbeitendeDienststelle
            ) = field(
                default=None,
                metadata={
                    "name": "sachbearbeitendeDienststelle",
                    "type": "Element",
                },
            )
            tat: NachrichtStrafFahndung0500016.Fachdaten.Fahndung.Tat = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            tatort: list[TypeStrafTatort] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Ausschreibungsbehoerde(TypeGdsBehoerde):
                aktenzeichen: None | TypeGdsAktenzeichen = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )

            @dataclass(kw_only=True)
            class SachbearbeitendeDienststelle(TypeGdsBehoerde):
                aktenzeichen: None | TypeGdsAktenzeichen = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )

            @dataclass(kw_only=True)
            class Tat:
                anfangsdatum: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                    },
                )
                anfangsuhrzeit: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"\d{1,2}(:\d{2}){0,2}",
                    },
                )
                endedatum: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                    },
                )
                endeuhrzeit: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"\d{1,2}(:\d{2}){0,2}",
                    },
                )

        @dataclass(kw_only=True)
        class Teilzahlung:
            betrag: list[TypeGdsGeldbetrag] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            neue_haftdauer: None | TypeStrafDauer = field(
                default=None,
                metadata={
                    "name": "neueHaftdauer",
                    "type": "Element",
                },
            )


@dataclass(kw_only=True)
class NachrichtStrafOwiVerfahrensmitteilungJustizAnExtern0500011(
    TypeGdsBasisnachricht
):
    class Meta:
        name = (
            "nachricht.straf.owi.verfahrensmitteilung.justizAnExtern.0500011"
        )
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafOwiVerfahrensmitteilungJustizAnExtern0500011.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        erledigung: None | TypeStrafOwiErledigungsmitteilung = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        einspruch: (
            None
            | NachrichtStrafOwiVerfahrensmitteilungJustizAnExtern0500011.Fachdaten.Einspruch
        ) = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Einspruch:
            datum_des_einspruchs: None | XmlDate = field(
                default=None,
                metadata={
                    "name": "datumDesEinspruchs",
                    "type": "Element",
                },
            )
            entscheidungsbehoerde: (
                None
                | NachrichtStrafOwiVerfahrensmitteilungJustizAnExtern0500011.Fachdaten.Einspruch.Entscheidungsbehoerde
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            entscheidungsdatum: XmlDate = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidungsart: CodeStrafEntscheidungsartTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            ergebnisart: CodeStrafErgebnisartTyp3 = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            rechtskraft: None | TypeStrafRechtskraft = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            geldbusse: None | float = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            fahrverbot: None | TypeStrafDauer = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            aufgrund_strafverfahren_aufgehoben: None | bool = field(
                default=None,
                metadata={
                    "name": "aufgrundStrafverfahrenAufgehoben",
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidungsbehoerde:
                ref_instanznummer: str = field(
                    metadata={
                        "name": "ref.instanznummer",
                        "type": "Element",
                        "required": True,
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    }
                )


@dataclass(kw_only=True)
class NachrichtStrafVollstreckungsauftrag0500015(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.vollstreckungsauftrag.0500015"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafVollstreckungsauftrag0500015.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        haftbefehl: list[
            NachrichtStrafVollstreckungsauftrag0500015.Fachdaten.Haftbefehl
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        beschlagnahme: list[
            NachrichtStrafVollstreckungsauftrag0500015.Fachdaten.Beschlagnahme
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Haftbefehl:
            """
            :ivar haftbefehl:
            :ivar ruecknahme: Bei Rücknahme des Haftbefehls wird der
                Wert 'true' angegeben. In diesem Fall wird im
                Nachrichtenkopf im Element fremdeNachrichtenID die
                NachrichtenID der XJustiz-Nachricht, mit der der
                Haftbefehl übersandt wurde, angegeben. Auf diese Weise
                kann der Empfänger die Rücknahme einem zuvor erteilten
                Vollstreckungsauftrag eindeutig zuordnen.
            """

            haftbefehl: None | TypeStrafHaftbefehl = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            ruecknahme: None | bool = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )

        @dataclass(kw_only=True)
        class Beschlagnahme:
            """
            :ivar beschlagnahme:
            :ivar ruecknahme: Bei Rücknahme des Vollstreckungsauftrages
                wird der Wert 'true' angegeben. In diesem Fall wird im
                Nachrichtenkopf im Element fremdeNachrichtenID die
                NachrichtenID der XJustiz-Nachricht, mit der die
                Beschlagnahme übersandt wurde, angegeben. Auf diese
                Weise kann der Empfänger die Rücknahme einem zuvor
                erteilten Vollstreckungsauftrag eindeutig zuordnen.
            """

            beschlagnahme: None | TypeStrafBeschlagnahme = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            ruecknahme: None | bool = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )


@dataclass(kw_only=True)
class NachrichtStrafWebregEintragungsmitteilung0500060:
    class Meta:
        name = "nachricht.straf.webreg.eintragungsmitteilung.0500060"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: None | TypeGdsGrunddaten = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafWebregEintragungsmitteilung0500060.Fachdaten = (
        field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar referenz:
        :ivar auswahl_entscheidungsbehoerde:
        :ivar aktenzeichen_entscheidungsbehoerde:
        :ivar datum_entscheidung:
        :ivar datum_rechtskraftentscheidung:
        :ivar zurechnung_begruendende_umstaende: Hier sind die
            Zurechnung des Fehlverhaltens begründenden Umstände
            einzutragen. Diese beziehen sich auf die Person, gegen die
            sich die einzutragende Entscheidung richtet bzw. - bei einer
            Unternehmenssanktion - auf die Leitungsperson i.S.v. § 30
            Abs. 1 Nr. 1 bis 5 OWiG.
        :ivar straftat_ordnungswidrigkeit:
        :ivar straf_anordnungsinhalt:
        """

        referenz: TypeGdsRefRollennummer = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        auswahl_entscheidungsbehoerde: NachrichtStrafWebregEintragungsmitteilung0500060.Fachdaten.AuswahlEntscheidungsbehoerde = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        aktenzeichen_entscheidungsbehoerde: None | TypeGdsAktenzeichen = field(
            default=None,
            metadata={
                "name": "aktenzeichen.entscheidungsbehoerde",
                "type": "Element",
            },
        )
        datum_entscheidung: XmlDate = field(
            metadata={
                "name": "datum.entscheidung",
                "type": "Element",
                "required": True,
            }
        )
        datum_rechtskraftentscheidung: XmlDate = field(
            metadata={
                "name": "datum.rechtskraftentscheidung",
                "type": "Element",
                "required": True,
            }
        )
        zurechnung_begruendende_umstaende: list[
            NachrichtStrafWebregEintragungsmitteilung0500060.Fachdaten.ZurechnungBegruendendeUmstaende
        ] = field(
            default_factory=list,
            metadata={
                "name": "zurechnungBegruendendeUmstaende",
                "type": "Element",
                "min_occurs": 1,
            },
        )
        straftat_ordnungswidrigkeit: NachrichtStrafWebregEintragungsmitteilung0500060.Fachdaten.StraftatOrdnungswidrigkeit = field(
            metadata={
                "name": "straftat.ordnungswidrigkeit",
                "type": "Element",
                "required": True,
            }
        )
        straf_anordnungsinhalt: list[TypeStrafAnordnungsinhalt] = field(
            default_factory=list,
            metadata={
                "name": "straf.anordnungsinhalt",
                "type": "Element",
                "min_occurs": 1,
            },
        )

        @dataclass(kw_only=True)
        class AuswahlEntscheidungsbehoerde:
            gericht: None | CodeGdsGerichteTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            sonstige_behoerde: None | str = field(
                default=None,
                metadata={
                    "name": "sonstigeBehoerde",
                    "type": "Element",
                    "pattern": r"([ -~]|[¡-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

        @dataclass(kw_only=True)
        class ZurechnungBegruendendeUmstaende:
            """
            :ivar ref_anknuepfungstaeter: Wenn bei einer einzutragenden
                Entscheidung mehr als ein Anknüpfungstäter mitzuteilen
                ist, bei denen sich die Zurechnung des Fehlverhaltens
                begründenden Umstände nach § 30 OWiG unterscheiden, kann
                über dieses Element eine Referenz zu den Angaben der
                Person im Grunddatensatz hergestellt werden. Es wird auf
                die Rollennummer referenziert.
            :ivar begruendende_umstaende_nach_par30_owi_g:
            :ivar zusaetzliche_information: Hier sollten die
                Informationen zur Funktion im Unternehmen, zu dem
                Zeitraum, in dem die Funktion innegehabt wurde und zum
                Handeln in Ausübung dieser Funktion bei Tatbegehung
                eingetragen werden.
            """

            ref_anknuepfungstaeter: list[TypeGdsRefRollennummer] = field(
                default_factory=list,
                metadata={
                    "name": "ref.anknuepfungstaeter",
                    "type": "Element",
                },
            )
            begruendende_umstaende_nach_par30_owi_g: list[
                CodeStrafWebRegZurechnungTyp3
            ] = field(
                default_factory=list,
                metadata={
                    "name": "begruendendeUmstaendeNachPar30OWiG",
                    "type": "Element",
                    "min_occurs": 1,
                },
            )
            zusaetzliche_information: None | str = field(
                default=None,
                metadata={
                    "name": "zusaetzlicheInformation",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

        @dataclass(kw_only=True)
        class StraftatOrdnungswidrigkeit:
            """
            :ivar tatbestaende: Paragraphen bzw. Paragraphenkette,
                bereinigt auf die nach dem Wettbewerbsregistergesetz
                eintragungspflichtigen Tatbestände.
            :ivar tatmehrheit_mit_nichtregisterpflichtiger_tat: Liegt
                eine Tatmehrheit nach § 53 StGB vor, die sich aus
                registerpflichtigen und nichtregisterpflichtigen Taten
                zusammensetzt, ist dies hier anzugeben. Dadurch wird
                kenntlich gemacht, ob der Sanktionsentscheidung auch
                tatmehrheitliche Taten zugrunde lagen, die aber aufgrund
                fehlender Registerpflichtigkeit bei der Mitteilung an
                das Wettbewerbsregister vollständig weggelassen wurden.
            :ivar informationen_zur_tat: Hier können die Informationen
                zur Tat und den Folgen (z.B. Umfang der Bereicherung)
                eingetragen werden.
            :ivar auswahl_datum_tat:
            """

            tatbestaende: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            tatmehrheit_mit_nichtregisterpflichtiger_tat: bool = field(
                metadata={
                    "name": "tatmehrheitMitNichtregisterpflichtigerTat",
                    "type": "Element",
                    "required": True,
                }
            )
            informationen_zur_tat: None | str = field(
                default=None,
                metadata={
                    "name": "informationenZurTat",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            auswahl_datum_tat: NachrichtStrafWebregEintragungsmitteilung0500060.Fachdaten.StraftatOrdnungswidrigkeit.AuswahlDatumTat = field(
                metadata={
                    "name": "auswahl_datum.tat",
                    "type": "Element",
                    "required": True,
                }
            )

            @dataclass(kw_only=True)
            class AuswahlDatumTat:
                tatzeitpunkt: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                    },
                )
                tatzeitraum: (
                    None
                    | NachrichtStrafWebregEintragungsmitteilung0500060.Fachdaten.StraftatOrdnungswidrigkeit.AuswahlDatumTat.Tatzeitraum
                ) = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class Tatzeitraum:
                    beginn: str = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                        }
                    )
                    ende: str = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                        }
                    )


@dataclass(kw_only=True)
class TypeStrafEntscheidung:
    """
    :ivar entscheidungsbehoerde:
    :ivar entscheidungsdatum:
    :ivar zustellung:
    :ivar rechtskraft:
    :ivar entscheidungstenor:
    :ivar bezug: Ein textueller Verweis auf die Entscheidung für interne
        Referenzierungen kann das Element Dokument/Verweis aus dem
        Grunddatensatz verwendet werden. Beispiel: Im Falle einer
        Berufung kann hier ein Verweis auf die ursprüngliche
        Entscheidung stehen.
    """

    class Meta:
        name = "Type.STRAF.Entscheidung"

    entscheidungsbehoerde: TypeStrafEntscheidung.Entscheidungsbehoerde = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    entscheidungsdatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    zustellung: list[TypeStrafEntscheidung.Zustellung] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    rechtskraft: list[TypeStrafRechtskraft] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    entscheidungstenor: list[TypeStrafEntscheidungstenor] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bezug: None | str = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )

    @dataclass(kw_only=True)
    class Entscheidungsbehoerde(TypeGdsBehoerde):
        aktenzeichen: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
            },
        )

    @dataclass(kw_only=True)
    class Zustellung:
        """
        :ivar zustellungsempfaenger: Verweis auf Rollennummer
        :ivar zustellungsdatum:
        """

        zustellungsempfaenger: TypeGdsRefRollennummer = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        zustellungsdatum: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafEntscheidungsart:
    class Meta:
        name = "Type.STRAF.Entscheidungsart"

    entscheidungsart: CodeStrafEntscheidungsartTyp3 = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    entscheidungsdatum: XmlDate = field(
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "required": True,
        }
    )
    beschlussart: None | CodeStrafBeschlussartTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bescheidart: None | CodeStrafBescheidartTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    einstellungsart: None | CodeStrafEinstellungsartTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    weisungen: list[CodeStrafWeisungenTyp3] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    auflagen: list[TypeStrafEntscheidungsart.Auflagen] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    rechtsfolgen: list[TypeStrafEntscheidungsart.Rechtsfolgen] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bewaehrung: None | TypeStrafBewaehrung = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    haft: list[TypeStrafEntscheidungsart.Haft] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    bussgeldbescheid: list[TypeStrafOwiBussgeldbescheid] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Auflagen:
        auflage: CodeStrafAuflagenTyp3 = field(
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "required": True,
            }
        )
        betrag: None | TypeGdsGeldbetrag = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Rechtsfolgen:
        """
        :ivar rechtsfolgenart:
        :ivar geldanordnungsart:
        :ivar betrag: Für die Angabe des Ordnungsgeldes und der Geldbuße
        :ivar dauer: Hier können die Geldstrafe und die anderen
            Freiheitsentziehungen erfasst werden.
        :ivar rechtskraft:
        """

        rechtsfolgenart: None | CodeStrafRechtsfolgenTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        geldanordnungsart: None | CodeStrafGeldanordnungsartTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        betrag: None | TypeGdsGeldbetrag = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        dauer: None | TypeStrafDauer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        rechtskraft: None | TypeStrafRechtskraft = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

    @dataclass(kw_only=True)
    class Haft:
        haftart: None | CodeStrafHaftartTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        haftbeginn: None | CodeStrafHaftbeginnTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        beginn: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        haftzeitende: None | CodeStrafHaftzeitendeartTyp3 = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        ende: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class TypeStrafFachdatenStrafverfahren:
    """
    :ivar untervorgangsnummer: Im Rahmen der Ermittlungen werden die
        einzelnen Vorgänge jeweils mit eigenen Vorgangsnummern geführt,
        die u.a. den Anzeigeerstattern bzw. Geschädigten bekannt gegeben
        werden. Nach Abgabe des Hauptvorgangs an die Staatsanwaltschaft
        und dortiger Erfassung als Ermittlungsverfahren ist hier nur die
        Vorgangsnummer des Hauptvorgangs bekannt. Wenn sich nun
        Anzeigeerstatter, Geschädigte, Versicherungen pp. mit einer
        Vorgangsnummer eines Untervorgangs an die Staatsanwaltschaft
        wenden, kann das Verfahren anhand dieser Nummer nicht ermittelt
        werden und muss bei der Polizei erfragt werden. Dabei kommt es
        immer wieder vor, dass die Staatsanwaltschaft mitteilt, dass der
        Vorgang noch bei der Polizei sei - die dann aber dem Betroffenen
        das Aktenzeichen der Staatanwaltschaft anhand der dortigen
        Verknüpfung des Unter- zum Hauptvorgang mitteilt. Das kann durch
        Übermittlung aller Vorgangsnummern der Untervorgänge verhindert
        werden.
    :ivar sachgebietsschluessel: Nur für die justizinterne Kommunikation
    :ivar erledigung:
    :ivar einleitdatum: Einleitdatum des Verfahrens bei der Polizei
    :ivar eingangsdatum_st_a:
    :ivar personendaten:
    :ivar tat: Einer Tat können beliebig viele Delikte zugewiesen
        werden. Einem Delikt wiederum können verschiedene durch den
        Grunddatensatz schon erfasste beteiligte Personen durch ihre
        Rollennummern zugewiesen werden.
    :ivar tatmerkmal:
    :ivar haft: Die Haftdaten eines Verfahrens sind in Bereiche
        unterteilt. "Ref_Dokument" verweist auf Entscheidungen, die
        einer Haft zugrunde liegen. Alle Daten, die sich auf den
        Haftaufenthalt beziehen, sind in dem Bereich "Haftvollzug"
        untergeordnet. Besucherserlaubnisse und Haftbeschränkungen, die
        z.B. bei U-Haft auftreten können (kein Kontakt zu
        Mitbeschuldigten), sind im Abschnitt "Haftkontrolle"
        untergebracht. Innerhalb dieses Elementes können beliebig viele
        Verweise, Haftaufenthalte (Haftvollzug) und beliebig viele
        Haftkontrollmaßahmen erfasst werden.
    :ivar beweismittel:
    :ivar strafanzeige: Daten zur Angabe einer Strafanzeige im
        Unterschied zu einem Strafantrag
    :ivar einspruch_owi:
    :ivar fahrzeug:
    :ivar untersuchung:
    """

    class Meta:
        name = "Type.STRAF.Fachdaten.Strafverfahren"

    untervorgangsnummer: list[str] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
        },
    )
    sachgebietsschluessel: None | CodeStrafSachgebietsschluesselTyp3 = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    erledigung: None | TypeStrafErledigung = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    einleitdatum: None | XmlDate = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    eingangsdatum_st_a: None | XmlDate = field(
        default=None,
        metadata={
            "name": "eingangsdatumStA",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    personendaten: list[TypeStrafPersonendaten] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tat: list[TypeStrafTat] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    tatmerkmal: list[CodeStrafTatmerkmalTyp3] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    haft: list[TypeStrafFachdatenStrafverfahren.Haft] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    beweismittel: list[TypeStrafBeweismittel] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    strafanzeige: list[TypeStrafFachdatenStrafverfahren.Strafanzeige] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    einspruch_owi: None | TypeStrafOwiEinspruch = field(
        default=None,
        metadata={
            "name": "einspruchOWI",
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    fahrzeug: list[TypeGdsFahrzeug] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )
    untersuchung: list[TypeStrafUntersuchung] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Haft:
        """
        :ivar haftvollzug: Hier ist jede Form der Inhaftierung gemeint.
        :ivar haftkontrolle: Daten zur Haftkontrolle
        """

        haftvollzug: list[
            TypeStrafFachdatenStrafverfahren.Haft.Haftvollzug
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        haftkontrolle: list[
            TypeStrafFachdatenStrafverfahren.Haft.Haftkontrolle
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )

        @dataclass(kw_only=True)
        class Haftvollzug:
            """
            :ivar haftanstalt: Hier kann die XJustiz-ID der
                Justizvollzugsanstalt aus der Codeliste angegeben
                werden.
            :ivar person:
            :ivar beginn: Beginn der Inhaftierung in der jeweiligen
                Sache
            :ivar ende: Das Ende der Inhaftierung in der jeweiligen
                Sache. Das Enddatum stimmt nicht zwingend mit dem
                Entlassungsdatum überein. Der Gefangene kann z.B. nach
                dem Ende der einen Strafe noch eine weitere Strafe zu
                verbüßen haben.
            :ivar bemerkung: Weitere Angaben wie z.B. "Der/Die
                Verurteile(r) ist als Vorsatztäter zur
                Strafvollstreckung aufzunehmen" oder " Es besteht
                Selbstmordgefahr" oder "der Zweck der Vorführung".
            :ivar haftart:
            :ivar gefangenenbuchnummer: Die JVA verwaltet Gefangene
                unter dieser Nummer.
            :ivar haftdauer:
            :ivar ladungsdatum:
            :ivar prueffrist: Bereits absolvierte Termine zur
                Haftprüffrist etc.
            :ivar abwesenheit: Damit ist eine "Nicht-Anwesenheit" in der
                JVA gemeint, die nicht zu einer Haftunterbrechung führt.
            """

            haftanstalt: None | CodeGdsGerichteTyp3 = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            person: TypeGdsRefRollennummer = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            beginn: TypeStrafFachdatenStrafverfahren.Haft.Haftvollzug.Beginn = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            ende: (
                None | TypeStrafFachdatenStrafverfahren.Haft.Haftvollzug.Ende
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            bemerkung: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            haftart: CodeStrafHaftartTyp3 = field(
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "required": True,
                }
            )
            gefangenenbuchnummer: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            haftdauer: None | TypeStrafDauer = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            ladungsdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            prueffrist: (
                None
                | TypeStrafFachdatenStrafverfahren.Haft.Haftvollzug.Prueffrist
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            abwesenheit: list[
                TypeStrafFachdatenStrafverfahren.Haft.Haftvollzug.Abwesenheit
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )

            @dataclass(kw_only=True)
            class Beginn:
                """
                :ivar datum:
                :ivar ort:
                :ivar uhrzeit:
                :ivar haftantritt: Für die Art des Haftbeginns kann eine
                    Codeliste WL_Haftbeginn verwendet werden.
                """

                datum: XmlDate = field(
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                        "required": True,
                    }
                )
                ort: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                        "pattern": r"([ -~]|[¡-£]|¥|[§-¬]|[®-·]|[¹-»]|[¿-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                uhrzeit: None | XmlTime = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )
                haftantritt: CodeStrafHaftbeginnTyp3 = field(
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                        "required": True,
                    }
                )

            @dataclass(kw_only=True)
            class Ende:
                """
                :ivar datum:
                :ivar uhrzeit:
                :ivar beendigungsart: Die Beendigungsart des
                    Haftvollzugs ist in einer Codeliste mit den Werte
                    Entlassung, Flucht, Tod, Verlegung, Abschiebung
                    angegeben.
                """

                datum: XmlDate = field(
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                        "required": True,
                    }
                )
                uhrzeit: None | XmlTime = field(
                    default=None,
                    metadata={
                        "name": "Uhrzeit",
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )
                beendigungsart: None | CodeStrafHaftzeitendeartTyp3 = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )

            @dataclass(kw_only=True)
            class Prueffrist:
                """
                :ivar vorschrift:
                :ivar termin: Termin, an dem die Prüfung stattgefunden
                    hat
                """

                vorschrift: None | CodeStrafPruefvorschriftTyp3 = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )
                termin: None | XmlDate = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )

            @dataclass(kw_only=True)
            class Abwesenheit:
                """
                :ivar abwesenheitsart: Für die Art der Abwesenheit kann
                    eine Codeliste mit möglichen Werten wie Urlaub,
                    Ausgang,.. verwendet werden.
                :ivar zeitraum:
                """

                abwesenheitsart: None | CodeStrafAbwesenheitsartTyp3 = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )
                zeitraum: (
                    None
                    | TypeStrafFachdatenStrafverfahren.Haft.Haftvollzug.Abwesenheit.Zeitraum
                ) = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )

                @dataclass(kw_only=True)
                class Zeitraum:
                    von: None | str = field(
                        default=None,
                        metadata={
                            "type": "Element",
                            "namespace": "http://www.xjustiz.de",
                            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )
                    bis: None | str = field(
                        default=None,
                        metadata={
                            "type": "Element",
                            "namespace": "http://www.xjustiz.de",
                            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )

        @dataclass(kw_only=True)
        class Haftkontrolle:
            """
            :ivar besuchserlaubnis:
            :ivar beschraenkung: Text z.B. Gemeinsame Unterbringung mit
                Mitbeschuldigten ist nicht zulässig.
            """

            besuchserlaubnis: list[
                TypeStrafFachdatenStrafverfahren.Haft.Haftkontrolle.Besuchserlaubnis
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                },
            )
            beschraenkung: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.xjustiz.de",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

            @dataclass(kw_only=True)
            class Besuchserlaubnis:
                """
                :ivar besuchserlaubnisart: Für mögliche Werte, die hier
                    auftreten können, ist eine Codeliste
                    WL_Besuchserlaubnisart zu verwenden. Mögliche Werte
                    sind hier z.B. Einzelsprecherlaubnis,
                    Dauersprecherlaubnis
                :ivar besucher:
                :ivar ausstellungsdatum:
                :ivar dauer:
                """

                besuchserlaubnisart: CodeStrafBesuchserlaubnisartTyp3 = field(
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                        "required": True,
                    }
                )
                besucher: None | TypeGdsRefRollennummer = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )
                ausstellungsdatum: None | XmlDate = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )
                dauer: None | TypeStrafDauer = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "namespace": "http://www.xjustiz.de",
                    },
                )

    @dataclass(kw_only=True)
    class Strafanzeige:
        """
        :ivar anzeigenerstatter: Verweis auf einen Beteiligten, der als
            Anzeigeerstatter auftritt.
        :ivar anzeigedatum: Das Datum der Anzeige.
        :ivar strafantragstellung: Wurde Strafantrag gestellt? J/N
        :ivar bescheidwunsch: Wert, der angibt, ob vom Antragsteller ein
            Bescheid erwünscht wird? Ja/Nein
        """

        anzeigenerstatter: None | TypeGdsRefRollennummer = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        anzeigedatum: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        strafantragstellung: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        bescheidwunsch: None | bool = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafErmittlungsErkenntnisverfahren0500001(
    TypeGdsBasisnachricht
):
    class Meta:
        name = "nachricht.straf.ermittlungsErkenntnisverfahren.0500001"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar erledigung: Eine Art der Erledigung kann beispielsweise
            die Abgabe des Verfahrens an eine andere STA sein.
        :ivar einleitdatum:
        :ivar personendaten:
        :ivar tat:
        :ivar ermittlungsmassnahme:
        :ivar haft:
        :ivar beweismittel:
        :ivar asservate:
        :ivar fahrzeug:
        :ivar untersuchung:
        :ivar strafanzeige:
        """

        erledigung: list[TypeStrafErledigung] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        einleitdatum: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        personendaten: list[TypeStrafPersonendaten] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        tat: list[TypeStrafTat] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        ermittlungsmassnahme: list[
            NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Ermittlungsmassnahme
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        haft: list[
            NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        beweismittel: list[TypeStrafBeweismittel] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        asservate: list[TypeStrafAsservate] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        fahrzeug: list[TypeGdsFahrzeug] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        untersuchung: list[TypeStrafUntersuchung] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        strafanzeige: list[
            NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Strafanzeige
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class Ermittlungsmassnahme:
            """
            :ivar inhalt: Um welche Art von Ermittlungsmaßnahme handelt
                es sich?
            :ivar bemerkung:
            :ivar datum:
            :ivar beteiligter: Hierbei handelt es sich wieder um einen
                Verweis auf die Rollennummer eines Beteiligten im
                Grunddatensatz. Auf Personen, die mit der
                Ermittlungsmaßnahme "verbunden" sind, wie beispielsweise
                ein Antragsteller, kann hier verwiesen werden.
            :ivar ref_asservate: Hier können Verweise auf Asservate
                angegeben werden als Untersuchungsobjekte.
            :ivar ref_untersuchungsbefund: Hier können Verweise auf
                Untersuchungsbefunde angegeben werden.
            :ivar ref_tat: Hier können Verweise auf die entsprechende
                Tat(en) angegeben werden. Ermittlungen werden
                einheitlich geführt, jedoch besteht hierüber eine
                Aufteilung der Ermittlung zu Tat 1, zu Tat 2, zu Tat 3
                usw.
            """

            inhalt: str = field(
                metadata={
                    "type": "Element",
                    "required": True,
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                }
            )
            bemerkung: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            datum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            beteiligter: list[TypeGdsRefRollennummer] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            ref_asservate: list[str] = field(
                default_factory=list,
                metadata={
                    "name": "ref.asservate",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            ref_untersuchungsbefund: list[str] = field(
                default_factory=list,
                metadata={
                    "name": "ref.untersuchungsbefund",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            ref_tat: list[str] = field(
                default_factory=list,
                metadata={
                    "name": "ref.tat",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

        @dataclass(kw_only=True)
        class Haft:
            """
            :ivar haftvollzug: Hier ist jede Form der Inhaftierung
                gemeint.
            :ivar haftkontrolle: Daten zur Haftkontrolle
            """

            haftvollzug: list[
                NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftvollzug
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            haftkontrolle: list[
                NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftkontrolle
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Haftvollzug:
                """
                :ivar haftanstalt:
                :ivar person: Verweis auf die inhaftierte Person über
                    die Rollennummer des Grunddatensatzes.
                :ivar ref_anordnungsinhalt: Hier wird auf ein Element
                    Anordnungsinhalt einer Entscheidung im
                    Entscheidungstenor verwiesen.
                :ivar beginn: Beginn der Inhaftierung in der jeweiligen
                    Sache
                :ivar ende: Das Ende der Inhaftierung in der jeweiligen
                    Sache. Das Enddatum stimmt nicht zwingend mit dem
                    Entlassungsdatum überein. Der Gefangene kann z.B.
                    nach dem Ende der einen Strafe noch eine weitere
                    Strafe zu verbüßen haben.
                :ivar bemerkung: Weitere Angaben wie z.B. "Der/Die
                    Verurteile(r) ist als Vorsatztäter zur
                    Strafvollstreckung aufzunehmen" oder " Es besteht
                    Selbstmordgefahr" oder "der Zweck der Vorführung".
                :ivar haftart:
                :ivar gefangenenbuchnummer: Die JVA verwaltet Gefangene
                    unter dieser Nummer.
                :ivar haftdauer:
                :ivar prueffrist: Bereits absolvierte Termine zur
                    Haftprüffrist etc.
                :ivar abwesenheit: Damit ist eine "Nicht-Anwesenheit" in
                    der JVA gemeint, die nicht zu einer
                    Haftunterbrechung führt.
                """

                haftanstalt: None | CodeGdsGerichteTyp3 = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                person: TypeGdsRefRollennummer = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                ref_anordnungsinhalt: None | str = field(
                    default=None,
                    metadata={
                        "name": "ref.anordnungsinhalt",
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                beginn: NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftvollzug.Beginn = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                ende: (
                    None
                    | NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftvollzug.Ende
                ) = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                bemerkung: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                haftart: CodeStrafHaftartTyp3 = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                gefangenenbuchnummer: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                haftdauer: None | TypeStrafDauer = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                prueffrist: list[
                    NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftvollzug.Prueffrist
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                abwesenheit: list[
                    NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftvollzug.Abwesenheit
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class Beginn:
                    """
                    :ivar datum:
                    :ivar ort:
                    :ivar uhrzeit:
                    :ivar haftantritt: Für die Art des Haftbeginns kann
                        eine Codeliste WL_Haftbeginn verwendet werden.
                    """

                    datum: XmlDate = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )
                    ort: None | str = field(
                        default=None,
                        metadata={
                            "type": "Element",
                            "pattern": r"([ -~]|[¡-£]|¥|[§-¬]|[®-·]|[¹-»]|[¿-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )
                    uhrzeit: None | XmlTime = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    haftantritt: CodeStrafHaftbeginnTyp3 = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )

                @dataclass(kw_only=True)
                class Ende:
                    """
                    :ivar datum:
                    :ivar uhrzeit:
                    :ivar beendigungsart: Die Beendigungsart des
                        Haftvollzugs ist in einer Codeliste mit den
                        Werte Entlassung, Flucht, Tod, Verlegung,
                        Abschiebung angegeben.
                    """

                    datum: XmlDate = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )
                    uhrzeit: None | XmlTime = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    beendigungsart: None | CodeStrafHaftzeitendeartTyp3 = (
                        field(
                            default=None,
                            metadata={
                                "type": "Element",
                            },
                        )
                    )

                @dataclass(kw_only=True)
                class Prueffrist:
                    """
                    :ivar vorschrift:
                    :ivar termin: Termin, an dem die Prüfung
                        stattgefunden hat
                    """

                    vorschrift: None | CodeStrafPruefvorschriftTyp3 = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    termin: None | XmlDate = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )

                @dataclass(kw_only=True)
                class Abwesenheit:
                    """
                    :ivar abwesenheitsart: Für die Art der Abwesenheit
                        kann eine Codeliste mit möglichen Werten wie
                        Urlaub, Ausgang,.. verwendet werden.
                    :ivar zeitraum:
                    """

                    abwesenheitsart: None | CodeStrafAbwesenheitsartTyp3 = (
                        field(
                            default=None,
                            metadata={
                                "type": "Element",
                            },
                        )
                    )
                    zeitraum: (
                        None
                        | NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftvollzug.Abwesenheit.Zeitraum
                    ) = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )

                    @dataclass(kw_only=True)
                    class Zeitraum:
                        von: None | str = field(
                            default=None,
                            metadata={
                                "type": "Element",
                                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                            },
                        )
                        bis: None | str = field(
                            default=None,
                            metadata={
                                "type": "Element",
                                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                            },
                        )

            @dataclass(kw_only=True)
            class Haftkontrolle:
                """
                :ivar besuchserlaubnis:
                :ivar beschraenkung: Text z.B. Gemeinsame Unterbringung
                    mit Mitbeschuldigten ist nicht zulässig.
                """

                besuchserlaubnis: list[
                    NachrichtStrafErmittlungsErkenntnisverfahren0500001.Fachdaten.Haft.Haftkontrolle.Besuchserlaubnis
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                beschraenkung: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )

                @dataclass(kw_only=True)
                class Besuchserlaubnis:
                    """
                    :ivar besuchserlaubnisart: Für mögliche Werte, die
                        hier auftreten können, ist eine Codeliste
                        WL_Besuchserlaubnisart zu verwenden. Mögliche
                        Werte sind hier z.B. Einzelsprecherlaubnis,
                        Dauersprecherlaubnis
                    :ivar besucher: Der Besucher wird über einen Verweis
                        auf die Rollennummer eines Beteiligten im
                        Grunddatensatz angegeben.
                    :ivar ausstellungsdatum:
                    :ivar dauer:
                    """

                    besuchserlaubnisart: CodeStrafBesuchserlaubnisartTyp3 = (
                        field(
                            metadata={
                                "type": "Element",
                                "required": True,
                            }
                        )
                    )
                    besucher: None | TypeGdsRefRollennummer = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    ausstellungsdatum: None | XmlDate = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    dauer: None | TypeStrafDauer = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )

        @dataclass(kw_only=True)
        class Strafanzeige:
            """
            :ivar anzeigenerstatter: Verweis auf einen Beteiligten, der
                als Anzeigeerstatter auftritt.
            :ivar anzeigedatum: Das Datum der Anzeige.
            :ivar strafantragstellung: Wurde Strafantrag gestellt? J/N
            :ivar bescheidwunsch: Wert, der angibt, ob vom Antragsteller
                ein Bescheid erwünscht wird? Ja/Nein
            """

            anzeigenerstatter: None | TypeGdsRefRollennummer = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            anzeigedatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            strafantragstellung: None | bool = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            bescheidwunsch: None | bool = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )


@dataclass(kw_only=True)
class NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010(
    TypeGdsBasisnachricht
):
    class Meta:
        name = (
            "nachricht.straf.owi.verfahrensmitteilung.externAnJustiz.0500010"
        )
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        bussgeldbescheid: None | TypeStrafOwiBussgeldbescheid = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        datum_des_einspruchs: None | XmlDate = field(
            default=None,
            metadata={
                "name": "datumDesEinspruchs",
                "type": "Element",
            },
        )
        nachtraegliche_mitteilungen_bussgeldbescheid: (
            None
            | NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid
        ) = field(
            default=None,
            metadata={
                "name": "nachtraeglicheMitteilungen.bussgeldbescheid",
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class NachtraeglicheMitteilungenBussgeldbescheid:
            """
            :ivar mitteilung_zahlung:
            :ivar mitteilung_stornierung: Stornierungen von Zahlungen zu
                einer Geldbuße sind hier anzugeben (in den Fachverfahren
                können diese dann mitgebucht werden).
            :ivar ruecknahme:
            """

            mitteilung_zahlung: (
                None
                | NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.MitteilungZahlung
            ) = field(
                default=None,
                metadata={
                    "name": "mitteilung.zahlung",
                    "type": "Element",
                },
            )
            mitteilung_stornierung: (
                None
                | NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.MitteilungStornierung
            ) = field(
                default=None,
                metadata={
                    "name": "mitteilung.stornierung",
                    "type": "Element",
                },
            )
            ruecknahme: (
                None
                | NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.Ruecknahme
            ) = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class MitteilungZahlung:
                teilzahlung_einzeln: list[
                    NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.MitteilungZahlung.TeilzahlungEinzeln
                ] = field(
                    default_factory=list,
                    metadata={
                        "name": "teilzahlung.einzeln",
                        "type": "Element",
                    },
                )
                teilzahlung_auslagen: list[
                    NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.MitteilungZahlung.TeilzahlungAuslagen
                ] = field(
                    default_factory=list,
                    metadata={
                        "name": "teilzahlung.auslagen",
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class TeilzahlungEinzeln:
                    """
                    :ivar teilzahlung_einzeln: Es können hier
                        nachträgliche Zahlungen für die Geldbuße, die
                        bei der Bußgeldstelle eingehen, eingetragen
                        werden.
                    :ivar teilzahlung_datum: Hier kann das Datum des
                        Zahlungseingang (Wertstellung) zu der
                        Teilzahlung angegeben werden.
                    """

                    teilzahlung_einzeln: None | float = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.einzeln",
                            "type": "Element",
                        },
                    )
                    teilzahlung_datum: None | str = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.datum",
                            "type": "Element",
                            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                        },
                    )

                @dataclass(kw_only=True)
                class TeilzahlungAuslagen:
                    """
                    :ivar teilzahlung_auslagen_einzeln: Es können hier
                        nachträgliche Zahlungen auf die Auslagen, die
                        bei der Bußgeldstelle eingehen, eingetragen
                        werden.
                    :ivar teilzahlung_auslagen_datum: Hier kann das
                        Datum des Zahlungseingang (Wertstellung) zu der
                        Teilzahlung angegeben werden.
                    """

                    teilzahlung_auslagen_einzeln: None | float = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.auslagen.einzeln",
                            "type": "Element",
                        },
                    )
                    teilzahlung_auslagen_datum: None | str = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.auslagen.datum",
                            "type": "Element",
                            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                        },
                    )

            @dataclass(kw_only=True)
            class MitteilungStornierung:
                stornierung_einzeln: (
                    None
                    | NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.MitteilungStornierung.StornierungEinzeln
                ) = field(
                    default=None,
                    metadata={
                        "name": "stornierung.einzeln",
                        "type": "Element",
                    },
                )
                stornierung_auslagen: (
                    None
                    | NachrichtStrafOwiVerfahrensmitteilungExternAnJustiz0500010.Fachdaten.NachtraeglicheMitteilungenBussgeldbescheid.MitteilungStornierung.StornierungAuslagen
                ) = field(
                    default=None,
                    metadata={
                        "name": "stornierung.auslagen",
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class StornierungEinzeln:
                    """
                    :ivar teilzahlung_einzeln: Falls eine Fehlbuchung
                        vorgenommen wurde, kann eine mitgeteilte Zahlung
                        storniert werden.
                    :ivar teilzahlung_datum:
                    """

                    teilzahlung_einzeln: None | float = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.einzeln",
                            "type": "Element",
                        },
                    )
                    teilzahlung_datum: None | str = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.datum",
                            "type": "Element",
                            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                        },
                    )

                @dataclass(kw_only=True)
                class StornierungAuslagen:
                    teilzahlung_auslagen_einzeln: float = field(
                        metadata={
                            "name": "teilzahlung.auslagen.einzeln",
                            "type": "Element",
                            "required": True,
                        }
                    )
                    teilzahlung_auslagen_datum: None | str = field(
                        default=None,
                        metadata={
                            "name": "teilzahlung.auslagen.datum",
                            "type": "Element",
                            "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
                        },
                    )

            @dataclass(kw_only=True)
            class Ruecknahme:
                ruecknahme_ehaft_antrag: bool = field(
                    metadata={
                        "name": "ruecknahme.EHaftAntrag",
                        "type": "Element",
                        "required": True,
                    }
                )


@dataclass(kw_only=True)
class NachrichtStrafStrafvollstreckungsverfahren0500008(TypeGdsBasisnachricht):
    class Meta:
        name = "nachricht.straf.strafvollstreckungsverfahren.0500008"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten = (
        field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        auswahl_ereignis: NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.AuswahlEreignis = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
        einleitdatum: None | XmlDate = field(
            default=None,
            metadata={
                "type": "Element",
            },
        )
        personendaten: list[
            NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Personendaten
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        haft: list[
            NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        entscheidung: list[
            NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Entscheidung
        ] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        untersuchung: list[TypeStrafUntersuchung] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )

        @dataclass(kw_only=True)
        class AuswahlEreignis:
            antrag_an_stvk: None | str = field(
                default=None,
                metadata={
                    "name": "antragAnStvk",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            antrag_an_fuehrungsaufsichtsstelle: None | str = field(
                default=None,
                metadata={
                    "name": "antragAnFuehrungsaufsichtsstelle",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )

        @dataclass(kw_only=True)
        class Personendaten:
            """
            :ivar person: Hier wird auf eine an dem Verfahren beteiligte
                Person über deren Rollennummer im Grunddatensatz
                verwiesen.
            """

            person: TypeGdsRefRollennummer = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )

        @dataclass(kw_only=True)
        class Haft:
            """
            :ivar haftvollzug: Hier ist jede Form der Inhaftierung
                gemeint.
            :ivar haftkontrolle: Daten zur Haftkontrolle
            """

            haftvollzug: list[
                NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftvollzug
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            haftkontrolle: list[
                NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftkontrolle
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Haftvollzug:
                """
                :ivar haftanstalt:
                :ivar person: Verweis auf die inhaftierte Person über
                    die Rollennummer des Grunddatensatzes.
                :ivar ref_anordnungsinhalt: Hier wird auf ein Element
                    Anordnungsinhalt einer Entscheidung im
                    Entscheidungstenor verwiesen.
                :ivar beginn: Beginn der Inhaftierung in der jeweiligen
                    Sache
                :ivar ende: Das Ende der Inhaftierung in der jeweiligen
                    Sache. Das Enddatum stimmt nicht zwingend mit dem
                    Entlassungsdatum überein. Der Gefangene kann z.B.
                    nach dem Ende der einen Strafe noch eine weitere
                    Strafe zu verbüßen haben.
                :ivar bemerkung: Weitere Angaben wie z.B. "Der/Die
                    Verurteile(r) ist als Vorsatztäter zur
                    Strafvollstreckung aufzunehmen" oder " Es besteht
                    Selbstmordgefahr" oder "der Zweck der Vorführung".
                :ivar haftart:
                :ivar gefangenenbuchnummer: Die JVA verwaltet Gefangene
                    unter dieser Nummer.
                :ivar haftdauer:
                :ivar ladungsdatum:
                :ivar prueffrist: Bereits absolvierte Termine zur
                    Haftprüffrist etc.
                :ivar abwesenheit: Damit ist eine "Nicht-Anwesenheit" in
                    der JVA gemeint, die nicht zu einer
                    Haftunterbrechung führt.
                """

                haftanstalt: list[CodeGdsGerichteTyp3] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                person: TypeGdsRefRollennummer = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                ref_anordnungsinhalt: None | str = field(
                    default=None,
                    metadata={
                        "name": "ref.anordnungsinhalt",
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                beginn: NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftvollzug.Beginn = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                ende: NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftvollzug.Ende = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                bemerkung: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                haftart: CodeStrafHaftartTyp3 = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                gefangenenbuchnummer: None | str = field(
                    default=None,
                    metadata={
                        "type": "Element",
                        "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                    },
                )
                haftdauer: None | TypeStrafDauer = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                ladungsdatum: None | XmlDate = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )
                prueffrist: list[
                    NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftvollzug.Prueffrist
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )
                abwesenheit: list[
                    NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftvollzug.Abwesenheit
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class Beginn:
                    """
                    :ivar datum:
                    :ivar ort:
                    :ivar uhrzeit:
                    :ivar haftantritt: Für die Art des Haftbeginns kann
                        eine Codeliste WL_Haftbeginn verwendet werden.
                    """

                    datum: XmlDate = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )
                    ort: None | str = field(
                        default=None,
                        metadata={
                            "type": "Element",
                            "pattern": r"([ -~]|[¡-£]|¥|[§-¬]|[®-·]|[¹-»]|[¿-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )
                    uhrzeit: None | XmlTime = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    haftantritt: CodeStrafHaftbeginnTyp3 = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )

                @dataclass(kw_only=True)
                class Ende:
                    """
                    :ivar datum:
                    :ivar uhrzeit:
                    :ivar beendigungsart: Die Beendigungsart des
                        Haftvollzugs ist in einer Codeliste mit den
                        Werte Entlassung, Flucht, Tod, Verlegung,
                        Abschiebung angegeben.
                    """

                    datum: XmlDate = field(
                        metadata={
                            "type": "Element",
                            "required": True,
                        }
                    )
                    uhrzeit: None | XmlTime = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    beendigungsart: None | CodeStrafHaftzeitendeartTyp3 = (
                        field(
                            default=None,
                            metadata={
                                "type": "Element",
                            },
                        )
                    )

                @dataclass(kw_only=True)
                class Prueffrist:
                    """
                    :ivar vorschrift:
                    :ivar termin: Termin, an dem die Prüfung
                        stattgefunden hat
                    """

                    vorschrift: None | CodeStrafPruefvorschriftTyp3 = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    termin: None | XmlDate = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )

                @dataclass(kw_only=True)
                class Abwesenheit:
                    """
                    :ivar abwesenheitsart: Für die Art der Abwesenheit
                        kann eine Codeliste mit möglichen Werten wie
                        Urlaub, Ausgang,.. verwendet werden.
                    :ivar zeitraum:
                    :ivar ref_entscheidung:
                    """

                    abwesenheitsart: None | CodeStrafAbwesenheitsartTyp3 = (
                        field(
                            default=None,
                            metadata={
                                "type": "Element",
                            },
                        )
                    )
                    zeitraum: (
                        None
                        | NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftvollzug.Abwesenheit.Zeitraum
                    ) = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    ref_entscheidung: None | str = field(
                        default=None,
                        metadata={
                            "name": "ref.entscheidung",
                            "type": "Element",
                            "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                        },
                    )

                    @dataclass(kw_only=True)
                    class Zeitraum:
                        von: None | str = field(
                            default=None,
                            metadata={
                                "type": "Element",
                                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                            },
                        )
                        bis: None | str = field(
                            default=None,
                            metadata={
                                "type": "Element",
                                "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                            },
                        )

            @dataclass(kw_only=True)
            class Haftkontrolle:
                prueffrist: list[
                    NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Haft.Haftkontrolle.Prueffrist
                ] = field(
                    default_factory=list,
                    metadata={
                        "type": "Element",
                    },
                )

                @dataclass(kw_only=True)
                class Prueffrist:
                    """
                    :ivar vorschrift:
                    :ivar termin: Termin, bis zu dem die Prüffung zu
                        erfolgen hat
                    """

                    vorschrift: None | CodeStrafPruefvorschriftTyp3 = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )
                    termin: None | XmlDate = field(
                        default=None,
                        metadata={
                            "type": "Element",
                        },
                    )

        @dataclass(kw_only=True)
        class Entscheidung:
            """
            :ivar entscheidungs_id:
            :ivar entscheidungsbehoerde:
            :ivar entscheidungsdatum:
            :ivar zustellung:
            :ivar rechtskraft:
            :ivar entscheidungstenor:
            :ivar bezug: Ein textueller Verweis auf die Entscheidung für
                interne Referenzierungen kann das Element
                Dokument/Verweis aus dem Grunddatensatz verwendet
                werden. Beispiel: Im Falle einer Berufung kann hier ein
                Verweis auf die ursprüngliche Entscheidung stehen.
            :ivar antrag_wiedereinsetzung: Eingangsdatum des
                Wiedereinsetzungsantrags
            """

            entscheidungs_id: None | str = field(
                default=None,
                metadata={
                    "name": "entscheidungsID",
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            entscheidungsbehoerde: NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Entscheidung.Entscheidungsbehoerde = field(
                metadata={
                    "type": "Element",
                    "required": True,
                }
            )
            entscheidungsdatum: None | XmlDate = field(
                default=None,
                metadata={
                    "type": "Element",
                },
            )
            zustellung: list[
                NachrichtStrafStrafvollstreckungsverfahren0500008.Fachdaten.Entscheidung.Zustellung
            ] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            rechtskraft: list[TypeStrafRechtskraft] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            entscheidungstenor: list[TypeStrafEntscheidungstenor] = field(
                default_factory=list,
                metadata={
                    "type": "Element",
                },
            )
            bezug: None | str = field(
                default=None,
                metadata={
                    "type": "Element",
                    "pattern": r"([\t-\n]|\r|[ -~]|[\xa0-¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*",
                },
            )
            antrag_wiedereinsetzung: None | XmlDate = field(
                default=None,
                metadata={
                    "name": "antragWiedereinsetzung",
                    "type": "Element",
                },
            )

            @dataclass(kw_only=True)
            class Entscheidungsbehoerde(TypeGdsBehoerde):
                aktenzeichen: None | TypeGdsAktenzeichen = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )

            @dataclass(kw_only=True)
            class Zustellung:
                """
                :ivar zustellungsempfaenger: Die Person wird über einen
                    Verweis auf die Rollennummer eines Beteiligten im
                    Grunddatensatz angegeben.
                :ivar zustellungsdatum:
                """

                zustellungsempfaenger: TypeGdsRefRollennummer = field(
                    metadata={
                        "type": "Element",
                        "required": True,
                    }
                )
                zustellungsdatum: None | XmlDate = field(
                    default=None,
                    metadata={
                        "type": "Element",
                    },
                )


@dataclass(kw_only=True)
class TypeStrafFachdatenVerfahrensausgangsmitteilung:
    class Meta:
        name = "Type.STRAF.Fachdaten.Verfahrensausgangsmitteilung"

    ergebnisse: (
        None | TypeStrafFachdatenVerfahrensausgangsmitteilung.Ergebnisse
    ) = field(
        default=None,
        metadata={
            "type": "Element",
            "namespace": "http://www.xjustiz.de",
        },
    )

    @dataclass(kw_only=True)
    class Ergebnisse:
        rechtskraft: None | TypeStrafRechtskraft = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )
        entscheidung: list[TypeStrafEntscheidungsart] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
                "min_occurs": 1,
            },
        )
        rechtsmittel: list[TypeStrafRechtsmittel] = field(
            default_factory=list,
            metadata={
                "type": "Element",
                "namespace": "http://www.xjustiz.de",
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafOwiEinleitungErzwingungshaft0500021(TypeGdsBasisnachricht):
    """
    Mit dem Nachrichtentyp werden strukturierte Daten von
    Erzwingungshaftverfahren vom Gericht zur Staatsanwaltschaft
    übermittelt.
    """

    class Meta:
        name = "nachricht.straf.owi.einleitungErzwingungshaft.0500021"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafOwiEinleitungErzwingungshaft0500021.Fachdaten = (
        field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar einleitdatum: Mit dem Einleitungsdatum soll das Datum
            mitgeteilt werden, an dem das Verfahren bereits in einer
            anderen Instanz erfasst wurde. Das Element ist in websta ein
            unverzichtbares Pflichtfeld.
        :ivar kosten_gericht: Hier sollen die Kosten, die bei Gericht
            angefallen sind und erfasst wurden, für die Verwendung bei
            der Staatsanwaltschaft bereitgestellt werden.
        :ivar entscheidung: Neben den Entscheidungsdaten und der
            Sanktion des Gerichts werden für die Eintragung bei der
            Staatsanwaltschaft auch die Daten der Bußgeldentscheidung
            benötigt. Diese sollen hierüber mitgeteilt werden.
        """

        einleitdatum: None | str = field(
            default=None,
            metadata={
                "type": "Element",
                "pattern": r"\d{4}((-\d{2}){0,1}-\d{2}){0,1}",
            },
        )
        kosten_gericht: None | TypeGdsGeldbetrag = field(
            default=None,
            metadata={
                "name": "kostenGericht",
                "type": "Element",
            },
        )
        entscheidung: TypeStrafEntscheidungsart = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )


@dataclass(kw_only=True)
class NachrichtStrafStrafverfahren0500013:
    class Meta:
        name = "nachricht.straf.strafverfahren.0500013"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafStrafverfahren0500013.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        strafverfahren: TypeStrafFachdatenStrafverfahren = field(
            metadata={
                "type": "Element",
                "required": True,
            }
        )


@dataclass(kw_only=True)
class NachrichtStrafVerfahrensausgangsmitteilungJustizZuExtern0500006(
    TypeGdsBasisnachricht
):
    class Meta:
        name = "nachricht.straf.verfahrensausgangsmitteilung.justizZuExtern.0500006"
        namespace = "http://www.xjustiz.de"

    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: NachrichtStrafVerfahrensausgangsmitteilungJustizZuExtern0500006.Fachdaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )

    @dataclass(kw_only=True)
    class Fachdaten:
        """
        :ivar erledigung: Die Erledigungsdaten eines Verfahrens werden
            jetzt nicht mehr in einem globalen Element 'Erledigung'
            erfasst, sondern sind bei den Instanzdaten angesiedelt. Eine
            Art der Erledigung kann beispielsweise die Abgabe des
            Verfahrens an eine andere STA sein.
        :ivar entscheidung: Einzelheiten zur Entscheidung des Gerichts
            bei gerichtlichen Erledigungen.
        :ivar tatvorwurf:
        """

        erledigung: list[TypeStrafErledigung] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        entscheidung: list[TypeStrafEntscheidung] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )
        tatvorwurf: list[TypeStrafTatvorwurf] = field(
            default_factory=list,
            metadata={
                "type": "Element",
            },
        )


@dataclass(kw_only=True)
class NachrichtStrafVerfahrensausgangsmitteilungJustizZuJustiz0500007:
    """
    Die Nachricht wird für die XJustiz Version 3.4 grundsätzlich
    überarbeitet.

    Von einer Implementierung der Nachricht in der Version 3.3 wird daher
    abgeraten.
    """

    class Meta:
        name = "nachricht.straf.verfahrensausgangsmitteilung.justizZuJustiz.0500007"
        namespace = "http://www.xjustiz.de"

    nachrichtenkopf: TypeGdsNachrichtenkopf = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    grunddaten: TypeGdsGrunddaten = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
    schriftgutobjekte: None | TypeGdsSchriftgutobjekte = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    fachdaten: TypeStrafFachdatenVerfahrensausgangsmitteilung = field(
        metadata={
            "type": "Element",
            "required": True,
        }
    )
