from __future__ import annotations
import json
from datetime import datetime
from dataclasses import dataclass, field
from tubeulator.utils.string_conv import to_camel_case
from pydantic import AliasGenerator, BaseModel, ConfigDict, PrivateAttr
from ..utils.paths import DtoEnum

class LiftDisruption(BaseModel):
    """
    Autogenerated from Disruptions-Lifts-v2::LiftDisruption
    """

    model_config = ConfigDict(
        alias_generator=AliasGenerator(validation_alias=to_camel_case),
    )

    IcsCode: str = None
    NaptanCode: str = None
    StopPointName: str = None
    OutageStartArea: str = None
    OutageEndArea: str = None
    Message: str = None
    _source_schema_name: str = PrivateAttr(default='Disruptions-Lifts-v2')
    _component_schema_name: str = PrivateAttr(default='LiftDisruption')


LiftDisruptionModel = LiftDisruption


class Get200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from Disruptions-Lifts-v2::Get200ApplicationJsonResponse
    """

    model_config = ConfigDict(
        alias_generator=AliasGenerator(validation_alias=to_camel_case),
    )

    _source_schema_name: str = PrivateAttr(default='Disruptions-Lifts-v2')
    _component_schema_name: str = PrivateAttr(default='Get200ApplicationJsonResponse')


Get200ApplicationJsonResponseModel = Get200ApplicationJsonResponse


class Deserialisers(DtoEnum):
    LiftDisruption = LiftDisruption
    Get200ApplicationJsonResponse = Get200ApplicationJsonResponse