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

from ...core.pydantic_utilities import UniversalBaseModel
import typing
import pydantic
from .currency import Currency
from ...core.pydantic_utilities import IS_PYDANTIC_V2


class FinancialsProperties(UniversalBaseModel):
    assets: typing.Optional[float] = pydantic.Field(default=None)
    """
    The total value of assets owned by a company
    """

    currency: typing.Optional[Currency] = pydantic.Field(default=None)
    """
    Reporting currency
    """

    date: typing.Optional[str] = pydantic.Field(default=None)
    """
    as-of date
    """

    employees: typing.Optional[int] = pydantic.Field(default=None)
    """
    Total employees
    """

    from_date: typing.Optional[str] = pydantic.Field(default=None)
    """
    start date
    """

    liabilities: typing.Optional[float] = pydantic.Field(default=None)
    """
    Sum of the combined debts a company owes
    """

    net_income: typing.Optional[float] = pydantic.Field(default=None)
    """
    Company's earnings for a period after subtracting operating costs, taxes, and interest
    """

    paid_up_capital: typing.Optional[float] = pydantic.Field(default=None)
    """
    Paid-up capital is the capital already held by the company
    """

    registered_capital: typing.Optional[float] = pydantic.Field(default=None)
    """
    Registered capital is the maximum amount of share capital that a company is authorized to raise
    """

    revenue: typing.Optional[float] = pydantic.Field(default=None)
    """
    The total amount of income generated by the sale of goods or services related to the company's primary operations
    """

    to_date: typing.Optional[str] = pydantic.Field(default=None)
    """
    end date
    """

    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
