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

import typing

import pydantic
import typing_extensions
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from ...core.serialization import FieldMetadata


class VCardGetResponseAssociatedVendorSummary(UniversalBaseModel):
    """
    Summary of vendor's billing and transaction status.
    """

    active_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="ActiveBills")] = (
        pydantic.Field(default=None)
    )
    """
    Number of active bills.
    """

    pending_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="PendingBills")] = (
        pydantic.Field(default=None)
    )
    """
    Number of bills pending approval or payment.
    """

    in_transit_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="InTransitBills")] = (
        pydantic.Field(default=None)
    )
    """
    Number of bills in transit.
    """

    paid_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="PaidBills")] = pydantic.Field(
        default=None
    )
    """
    Number of bills that have been paid.
    """

    overdue_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="OverdueBills")] = (
        pydantic.Field(default=None)
    )
    """
    Number of bills that are overdue.
    """

    approved_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="ApprovedBills")] = (
        pydantic.Field(default=None)
    )
    """
    Number of bills that have been approved.
    """

    disapproved_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="DisapprovedBills")] = (
        pydantic.Field(default=None)
    )
    """
    Number of bills that have been disapproved.
    """

    total_bills: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="TotalBills")] = pydantic.Field(
        default=None
    )
    """
    Total number of bills.
    """

    active_bills_amount: typing_extensions.Annotated[
        typing.Optional[float], FieldMetadata(alias="ActiveBillsAmount")
    ] = pydantic.Field(default=None)
    """
    Total amount of active bills.
    """

    pending_bills_amount: typing_extensions.Annotated[
        typing.Optional[float], FieldMetadata(alias="PendingBillsAmount")
    ] = pydantic.Field(default=None)
    """
    Total amount of pending bills.
    """

    in_transit_bills_amount: typing_extensions.Annotated[
        typing.Optional[float], FieldMetadata(alias="InTransitBillsAmount")
    ] = pydantic.Field(default=None)
    """
    Total amount of bills in transit.
    """

    paid_bills_amount: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="PaidBillsAmount")] = (
        pydantic.Field(default=None)
    )
    """
    Total amount of paid bills.
    """

    overdue_bills_amount: typing_extensions.Annotated[
        typing.Optional[float], FieldMetadata(alias="OverdueBillsAmount")
    ] = pydantic.Field(default=None)
    """
    Total amount of overdue bills.
    """

    approved_bills_amount: typing_extensions.Annotated[
        typing.Optional[float], FieldMetadata(alias="ApprovedBillsAmount")
    ] = pydantic.Field(default=None)
    """
    Total amount of approved bills.
    """

    disapproved_bills_amount: typing_extensions.Annotated[
        typing.Optional[float], FieldMetadata(alias="DisapprovedBillsAmount")
    ] = pydantic.Field(default=None)
    """
    Total amount of rejected bills.
    """

    total_bills_amount: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="TotalBillsAmount")] = (
        pydantic.Field(default=None)
    )
    """
    Total amount of all bills.
    """

    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
