"""This file was generated by xsdata, v24.11, on 2025-07-14 04:38:46

Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from enum import Enum
from typing import Optional

from nfelib import CommonMixin

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe"


class EvIncCondutorMdfeDescEvento(Enum):
    INCLUSAO_CONDUTOR = "Inclusao Condutor"


@dataclass
class EvIncCondutorMdfe(CommonMixin):
    """
    Schema XML de validação do evento de inclusao de condutor 110114.

    :ivar descEvento: Descrição do Evento - “Inclusao Condutor”
    :ivar condutor: Informações do(s) Condutor(s) do veículo
    """

    class Meta:
        name = "evIncCondutorMDFe"
        namespace = "http://www.portalfiscal.inf.br/mdfe"

    descEvento: Optional[EvIncCondutorMdfeDescEvento] = field(
        default=None,
        metadata={
            "type": "Element",
            "required": True,
            "white_space": "preserve",
        },
    )
    condutor: Optional["EvIncCondutorMdfe.Condutor"] = field(
        default=None,
        metadata={
            "type": "Element",
            "required": True,
        },
    )

    @dataclass
    class Condutor(CommonMixin):
        """
        :ivar xNome: Nome do Condutor
        :ivar CPF: CPF do Condutor
        """

        xNome: Optional[str] = field(
            default=None,
            metadata={
                "type": "Element",
                "required": True,
                "min_length": 2,
                "max_length": 60,
                "white_space": "preserve",
                "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
            },
        )
        CPF: Optional[str] = field(
            default=None,
            metadata={
                "type": "Element",
                "required": True,
                "white_space": "preserve",
                "pattern": r"[0-9]{11}",
            },
        )
