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

import datetime as dt
import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .order_id import OrderId
from .order_state import OrderState


class SubmitOrderResponse(UncheckedBaseModel):
    order_id: OrderId = pydantic.Field()
    """
    The ID of the submitted order.
    """

    state: OrderState = pydantic.Field()
    """
    The current state of the order after submission.
    """

    submitted_at: dt.datetime = pydantic.Field()
    """
    The timestamp when the order was submitted.
    """

    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
