"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .v4_overrideparticipantgroup import (
    V4OverrideParticipantGroup,
    V4OverrideParticipantGroupTypedDict,
)
import pydantic
from squadcast_sdk.types import BaseModel
from typing_extensions import Annotated, TypedDict


class V4OverrideResponseTypedDict(TypedDict):
    id: int
    org_id: str
    team_id: str
    schedule_id: int
    start_time: str
    end_time: str
    reason: str
    overridden_participant: V4OverrideParticipantGroupTypedDict
    override_with: V4OverrideParticipantGroupTypedDict
    created_at: str
    updated_at: str


class V4OverrideResponse(BaseModel):
    id: int

    org_id: Annotated[str, pydantic.Field(alias="orgID")]

    team_id: Annotated[str, pydantic.Field(alias="teamID")]

    schedule_id: Annotated[int, pydantic.Field(alias="scheduleID")]

    start_time: Annotated[str, pydantic.Field(alias="startTime")]

    end_time: Annotated[str, pydantic.Field(alias="endTime")]

    reason: str

    overridden_participant: Annotated[
        V4OverrideParticipantGroup, pydantic.Field(alias="overriddenParticipant")
    ]

    override_with: Annotated[
        V4OverrideParticipantGroup, pydantic.Field(alias="overrideWith")
    ]

    created_at: Annotated[str, pydantic.Field(alias="createdAt")]

    updated_at: Annotated[str, pydantic.Field(alias="updatedAt")]
