# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .a_section import ASection
from .b_section import BSection
from .d_section import DSection
from .o_section import OSection
from .p_section import PSection
from .s_section import SSection


class BuilderData(UniversalBaseModel):
    services: typing.Optional[SSection] = None
    attributes: typing.Optional[ASection] = None
    banking: typing.Optional[DSection] = None
    business: typing.Optional[BSection] = None
    owners: typing.Optional[OSection] = None
    processing: typing.Optional[PSection] = None

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
