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 PlaceCategory(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.PlaceCategory
    """

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

    Category: str = None
    AvailableKeys: list[str]
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl')


PlaceCategoryModel = PlaceCategory


class Mode(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.Mode
    """

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

    IsTflService: bool = None
    IsFarePaying: bool = None
    IsScheduledService: bool = None
    ModeName: str = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-2')


ModeModel = Mode


class PassengerFlow(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.PassengerFlow
    """

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

    TimeSlice: str = None
    Value: int = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-3')


PassengerFlowModel = PassengerFlow


class TrainLoading(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.TrainLoading
    """

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

    Line: str = None
    LineDirection: str = None
    PlatformDirection: str = None
    Direction: str = None
    NaptanTo: str = None
    TimeSlice: str = None
    Value: int = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-4')


TrainLoadingModel = TrainLoading


class Crowding(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.Crowding
    """

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

    PassengerFlows: list["PassengerFlowModel"]
    TrainLoadings: list["TrainLoadingModel"]
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-5')


CrowdingModel = Crowding


class Identifier(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.Identifier
    """

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

    Id: str = None
    Name: str = None
    Uri: str = None
    FullName: str = None
    Type: str = None
    Crowding: CrowdingModel = None
    RouteType: str = None
    Status: str = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-6')


IdentifierModel = Identifier


class LineGroup(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.LineGroup
    """

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

    NaptanIdReference: str = None
    StationAtcoCode: str = None
    LineIdentifier: list[str]
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-7')


LineGroupModel = LineGroup


class LineModeGroup(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.LineModeGroup
    """

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

    ModeName: str = None
    LineIdentifier: list[str]
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-8')


LineModeGroupModel = LineModeGroup


class AdditionalProperties(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.AdditionalProperties
    """

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

    Category: str = None
    Key: str = None
    SourceSystemKey: str = None
    Value: str = None
    Modified: datetime = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-9')


AdditionalPropertiesModel = AdditionalProperties


class Place(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.Place
    """

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

    Id: str = None
    Url: str = None
    CommonName: str = None
    Distance: float = None
    PlaceType: str = None
    AdditionalProperties: list["AdditionalPropertiesModel"]
    Children: list["PlaceModel"]
    ChildrenUrls: list[str]
    Lat: float = None
    Lon: float = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-10')


PlaceModel = Place


class StopPoint(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.StopPoint
    """

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

    NaptanId: str = None
    PlatformName: str = None
    Indicator: str = None
    StopLetter: str = None
    Modes: list[str]
    IcsCode: str = None
    SmsCode: str = None
    StopType: str = None
    StationNaptan: str = None
    AccessibilitySummary: str = None
    HubNaptanCode: str = None
    Lines: list["IdentifierModel"]
    LineGroup: list["LineGroupModel"]
    LineModeGroups: list["LineModeGroupModel"]
    FullName: str = None
    NaptanMode: str = None
    Status: bool = None
    Id: str = None
    Url: str = None
    CommonName: str = None
    Distance: float = None
    PlaceType: str = None
    AdditionalProperties: list["AdditionalPropertiesModel"]
    Children: list["PlaceModel"]
    ChildrenUrls: list[str]
    Lat: float = None
    Lon: float = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-11')


StopPointModel = StopPoint


class LineServiceTypeInfo(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.LineServiceTypeInfo
    """

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

    Name: str = None
    Uri: str = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-12')


LineServiceTypeInfoModel = LineServiceTypeInfo


class LineSpecificServiceType(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.LineSpecificServiceType
    """

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

    ServiceType: LineServiceTypeInfoModel = None
    StopServesServiceType: bool = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-13')


LineSpecificServiceTypeModel = LineSpecificServiceType


class LineServiceType(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.LineServiceType
    """

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

    LineName: str = None
    LineSpecificServiceTypes: list["LineSpecificServiceTypeModel"]
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-14')


LineServiceTypeModel = LineServiceType


class PredictionTiming(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.PredictionTiming
    """

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

    CountdownServerAdjustment: str = None
    Source: datetime = None
    Insert: datetime = None
    Read: datetime = None
    Sent: datetime = None
    Received: datetime = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-15')


PredictionTimingModel = PredictionTiming


class Prediction(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.Prediction
    """

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

    Id: str = None
    OperationType: int = None
    VehicleId: str = None
    NaptanId: str = None
    StationName: str = None
    LineId: str = None
    LineName: str = None
    PlatformName: str = None
    Direction: str = None
    Bearing: str = None
    DestinationNaptanId: str = None
    DestinationName: str = None
    Timestamp: datetime = None
    TimeToStation: int = None
    CurrentLocation: str = None
    Towards: str = None
    ExpectedArrival: datetime = None
    TimeToLive: datetime = None
    ModeName: str = None
    Timing: PredictionTimingModel = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-16')


PredictionModel = Prediction


class ArrivalDeparture(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.ArrivalDeparture
    """

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

    PlatformName: str = None
    DestinationNaptanId: str = None
    DestinationName: str = None
    NaptanId: str = None
    StationName: str = None
    EstimatedTimeOfArrival: datetime = None
    ScheduledTimeOfArrival: datetime = None
    EstimatedTimeOfDeparture: datetime = None
    ScheduledTimeOfDeparture: datetime = None
    MinutesAndSecondsToArrival: str = None
    MinutesAndSecondsToDeparture: str = None
    Cause: str = None
    DepartureStatus: str = None
    Timing: PredictionTimingModel = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-17')


ArrivalDepartureModel = ArrivalDeparture


class StopPointRouteSection(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.StopPointRouteSection
    """

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

    NaptanId: str = None
    LineId: str = None
    Mode: str = None
    ValidFrom: datetime = None
    ValidTo: datetime = None
    Direction: str = None
    RouteSectionName: str = None
    LineString: str = None
    IsActive: bool = None
    ServiceType: str = None
    VehicleDestinationText: str = None
    DestinationName: str = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-18')


StopPointRouteSectionModel = StopPointRouteSection


class DisruptedPoint(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.DisruptedPoint
    """

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

    AtcoCode: str = None
    FromDate: datetime = None
    ToDate: datetime = None
    Description: str = None
    CommonName: str = None
    Type: str = None
    Mode: str = None
    StationAtcoCode: str = None
    Appearance: str = None
    AdditionalInformation: str = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-19')


DisruptedPointModel = DisruptedPoint


class StopPointsResponse(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.StopPointsResponse
    """

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

    CentrePoint: list[float]
    StopPoints: list["StopPointModel"]
    PageSize: int = None
    Total: int = None
    Page: int = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-20')


StopPointsResponseModel = StopPointsResponse


class SearchMatch(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.SearchMatch
    """

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

    Id: str = None
    Url: str = None
    Name: str = None
    Lat: float = None
    Lon: float = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-21')


SearchMatchModel = SearchMatch


class SearchResponse(BaseModel):
    """
    Autogenerated from StopPoint::Tfl.Api.Presentation.Entities.SearchResponse
    """

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

    Query: str = None
    From: int = None
    Page: int = None
    PageSize: int = None
    Provider: str = None
    Total: int = None
    Matches: list["SearchMatchModel"]
    MaxScore: float = None
    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Tfl-22')


SearchResponseModel = SearchResponse


class Object(BaseModel):
    """
    Autogenerated from StopPoint::System.Object
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='System')


ObjectModel = Object


class Get200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Get200ApplicationJsonResponse')


Get200ApplicationJsonResponseModel = Get200ApplicationJsonResponse


class MetaCategoriesGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::MetaCategoriesGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='MetaCategoriesGet200ApplicationJsonResponse')


MetaCategoriesGet200ApplicationJsonResponseModel = MetaCategoriesGet200ApplicationJsonResponse


class MetaStopTypes(BaseModel):
    """
    Autogenerated from StopPoint::MetaStopTypesGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='MetaStopTypesGet200ApplicationJsonResponse')


MetaStopTypesModel = MetaStopTypes


class MetaModesGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::MetaModesGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='MetaModesGet200ApplicationJsonResponse')


MetaModesGet200ApplicationJsonResponseModel = MetaModesGet200ApplicationJsonResponse


class idsGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::ids-Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='ids-Get200ApplicationJsonResponse')


idsGet200ApplicationJsonResponseModel = idsGet200ApplicationJsonResponse


class idPlaceTypesGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-PlaceTypesGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-PlaceTypesGet200ApplicationJsonResponse')


idPlaceTypesGet200ApplicationJsonResponseModel = idPlaceTypesGet200ApplicationJsonResponse


class idCrowdinglineGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-Crowding-line-Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-Crowding-line-Get200ApplicationJsonResponse')


idCrowdinglineGet200ApplicationJsonResponseModel = idCrowdinglineGet200ApplicationJsonResponse


class TypetypesGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::Type-types-Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Type-types-Get200ApplicationJsonResponse')


TypetypesGet200ApplicationJsonResponseModel = TypetypesGet200ApplicationJsonResponse


class TypetypesPagepageGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::Type-types-Page-page-Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Type-types-Page-page-Get200ApplicationJsonResponse')


TypetypesPagepageGet200ApplicationJsonResponseModel = TypetypesPagepageGet200ApplicationJsonResponse


class ServiceTypesGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::ServiceTypesGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='ServiceTypesGet200ApplicationJsonResponse')


ServiceTypesGet200ApplicationJsonResponseModel = ServiceTypesGet200ApplicationJsonResponse


class idArrivalsGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-ArrivalsGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-ArrivalsGet200ApplicationJsonResponse')


idArrivalsGet200ApplicationJsonResponseModel = idArrivalsGet200ApplicationJsonResponse


class idArrivalDeparturesGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-ArrivalDeparturesGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-ArrivalDeparturesGet200ApplicationJsonResponse')


idArrivalDeparturesGet200ApplicationJsonResponseModel = idArrivalDeparturesGet200ApplicationJsonResponse


class idCanReachOnLinelineIdGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-CanReachOnLine-lineId-Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-CanReachOnLine-lineId-Get200ApplicationJsonResponse')


idCanReachOnLinelineIdGet200ApplicationJsonResponseModel = idCanReachOnLinelineIdGet200ApplicationJsonResponse


class idRouteGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-RouteGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-RouteGet200ApplicationJsonResponse')


idRouteGet200ApplicationJsonResponseModel = idRouteGet200ApplicationJsonResponse


class ModemodesDisruptionGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::Mode-modes-DisruptionGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='Mode-modes-DisruptionGet200ApplicationJsonResponse')


ModemodesDisruptionGet200ApplicationJsonResponseModel = ModemodesDisruptionGet200ApplicationJsonResponse


class idsDisruptionGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::ids-DisruptionGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='ids-DisruptionGet200ApplicationJsonResponse')


idsDisruptionGet200ApplicationJsonResponseModel = idsDisruptionGet200ApplicationJsonResponse


class idDirectionTotoStopPointIdGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::id-DirectionTo-toStopPointId-Get200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='id-DirectionTo-toStopPointId-Get200ApplicationJsonResponse')


idDirectionTotoStopPointIdGet200ApplicationJsonResponseModel = idDirectionTotoStopPointIdGet200ApplicationJsonResponse


class stopPointIdTaxiRanksGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::stopPointId-TaxiRanksGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='stopPointId-TaxiRanksGet200ApplicationJsonResponse')


stopPointIdTaxiRanksGet200ApplicationJsonResponseModel = stopPointIdTaxiRanksGet200ApplicationJsonResponse


class stopPointIdCarParksGet200ApplicationJsonResponse(BaseModel):
    """
    Autogenerated from StopPoint::stopPointId-CarParksGet200ApplicationJsonResponse
    """

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

    _source_schema_name: str = PrivateAttr(default='StopPoint')
    _component_schema_name: str = PrivateAttr(default='stopPointId-CarParksGet200ApplicationJsonResponse')


stopPointIdCarParksGet200ApplicationJsonResponseModel = stopPointIdCarParksGet200ApplicationJsonResponse


class Deserialisers(DtoEnum):
    Tfl = PlaceCategory
    Tfl_2 = Mode
    Tfl_3 = PassengerFlow
    Tfl_4 = TrainLoading
    Tfl_5 = Crowding
    Tfl_6 = Identifier
    Tfl_7 = LineGroup
    Tfl_8 = LineModeGroup
    Tfl_9 = AdditionalProperties
    Tfl_10 = Place
    Tfl_11 = StopPoint
    Tfl_12 = LineServiceTypeInfo
    Tfl_13 = LineSpecificServiceType
    Tfl_14 = LineServiceType
    Tfl_15 = PredictionTiming
    Tfl_16 = Prediction
    Tfl_17 = ArrivalDeparture
    Tfl_18 = StopPointRouteSection
    Tfl_19 = DisruptedPoint
    Tfl_20 = StopPointsResponse
    Tfl_21 = SearchMatch
    Tfl_22 = SearchResponse
    System = Object
    Get200ApplicationJsonResponse = Get200ApplicationJsonResponse
    MetaCategoriesGet200ApplicationJsonResponse = MetaCategoriesGet200ApplicationJsonResponse
    MetaStopTypesGet200ApplicationJsonResponse = MetaStopTypes
    MetaModesGet200ApplicationJsonResponse = MetaModesGet200ApplicationJsonResponse
    ids_Get200ApplicationJsonResponse = idsGet200ApplicationJsonResponse
    id_PlaceTypesGet200ApplicationJsonResponse = idPlaceTypesGet200ApplicationJsonResponse
    id_Crowding_line_Get200ApplicationJsonResponse = idCrowdinglineGet200ApplicationJsonResponse
    Type_types_Get200ApplicationJsonResponse = TypetypesGet200ApplicationJsonResponse
    Type_types_Page_page_Get200ApplicationJsonResponse = TypetypesPagepageGet200ApplicationJsonResponse
    ServiceTypesGet200ApplicationJsonResponse = ServiceTypesGet200ApplicationJsonResponse
    id_ArrivalsGet200ApplicationJsonResponse = idArrivalsGet200ApplicationJsonResponse
    id_ArrivalDeparturesGet200ApplicationJsonResponse = idArrivalDeparturesGet200ApplicationJsonResponse
    id_CanReachOnLine_lineId_Get200ApplicationJsonResponse = idCanReachOnLinelineIdGet200ApplicationJsonResponse
    id_RouteGet200ApplicationJsonResponse = idRouteGet200ApplicationJsonResponse
    Mode_modes_DisruptionGet200ApplicationJsonResponse = ModemodesDisruptionGet200ApplicationJsonResponse
    ids_DisruptionGet200ApplicationJsonResponse = idsDisruptionGet200ApplicationJsonResponse
    id_DirectionTo_toStopPointId_Get200ApplicationJsonResponse = idDirectionTotoStopPointIdGet200ApplicationJsonResponse
    stopPointId_TaxiRanksGet200ApplicationJsonResponse = stopPointIdTaxiRanksGet200ApplicationJsonResponse
    stopPointId_CarParksGet200ApplicationJsonResponse = stopPointIdCarParksGet200ApplicationJsonResponse