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

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


class WorkflowCustomizationRequest(UniversalBaseModel):
    """
    Examples
    --------
    from mercoa.entity_types import WorkflowCustomizationRequest

    WorkflowCustomizationRequest(
        auto_advance_invoice_status=True,
    )
    """

    auto_advance_invoice_status: typing.Optional[bool] = pydantic.Field(alias="autoAdvanceInvoiceStatus", default=None)
    """
    If true, the invoice will be automatically advanced to the furthest stage in the payment workflow. For example, if the invoice is APPROVED, but has all necessary data to move to SCHEDULED, it will be advanced to SCHEDULED.
    """

    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
