from .types import RouteEnum


class StopPointEndpointRoutes(RouteEnum):
    WITHIN_RADIUS = "/"
    """Gets a list of StopPoints within {radius} by the specified criteria"""
    FORWARD_REQUESTS = "/*"
    """Forwards any remaining requests to the back-end"""
    META_CATEGORIES = "/Meta/Categories"
    """Gets the list of available StopPoint additional information categories"""
    META_MODES = "/Meta/Modes"
    """Gets the list of available StopPoint modes"""
    META_STOP_TYPES = "/Meta/StopTypes"
    """Gets the list of available StopPoint types"""
    MODE = "/Mode/{modes}"
    """Gets a list of StopPoints filtered by the modes available at that StopPoint."""
    MODE_DISRUPTION = "/Mode/{modes}/Disruption"
    """Gets a distinct list of disrupted stop points for the given modes"""
    SEARCH = "/Search"
    """Search StopPoints by their common name, or their 5-digit Countdown Bus Stop Code."""
    SEARCH_QUERY = "/Search/{query}"
    """Search StopPoints by their common name, or their 5-digit Countdown Bus Stop Code."""
    SERVICE_TYPES = "/ServiceTypes"
    """Gets the service types for a given stoppoint"""
    SMS_ID = "/Sms/{id}"
    """Gets a StopPoint for a given sms code."""
    TYPE = "/Type/{types}"
    """Gets all stop points of a given type"""
    TYPE_PAGE = "/Type/{types}/page/{page}"
    """Gets all the stop points of given type(s) with a page number"""
    STOP_POINT_IDS = "/{ids}"
    """Gets a list of StopPoints corresponding to the given list of stop ids."""
    STOP_POINT_DISRUPTION = "/{ids}/Disruption"
    """Gets all disruptions for the specified StopPointId, plus disruptions for any
    child Naptan records it may have."""
    ARRIVAL_DEPARTURES = "/{id}/ArrivalDepartures"
    """Gets the list of arrival and departure predictions for the given stop point id
    (overground and tfl rail only)"""
    ARRIVALS = "/{id}/Arrivals"
    """Gets the list of arrival predictions for the given stop point id"""
    CAN_REACH_ON_LINE = "/{id}/CanReachOnLine/{lineId}"
    """Gets Stopoints that are reachable from a station/line combination."""
    CROWDING = "/{id}/Crowding/{line}"
    """Gets all the Crowding data (static) for the StopPointId, plus crowding data
    for a given line and optionally a particular direction."""
    DIRECTION_TO = "/{id}/DirectionTo/{toStopPointId}"
    """Returns the canonical direction, "inbound" or "outbound", for a given pair of
    stop point Ids in the direction from -&gt; to."""
    ROUTE = "/{id}/Route"
    """Returns the route sections for all the lines that service the given stop point
    ids"""
    PLACE_TYPES = "/{id}/placeTypes"
    """Get a list of places corresponding to a given id and place types."""
    CAR_PARKS = "/{stopPointId}/CarParks"
    """Get car parks corresponding to the given stop point id."""
    TAXI_RANKS = "/{stopPointId}/TaxiRanks"
    """Gets a list of taxi ranks corresponding to the given stop point id."""
