/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { '/calls/{train_id}/': { /** * Get the stop sequences for the current journeys of the given train * * This is equivalent to calling * * GET stopsequence_ * * on the websocket. */ get: operations['calls_calls__train_id___get']; }; '/feeds/': { /** * Get a list of all active feeds * * This is the only endpoint without Websocket API equivalent, where this info * is not needed normally (the `BBOX` command picks all the relevant data for * you). */ get: operations['feeds_feeds__get']; }; '/journeys/{train_id}/': { /** * Get geometries for the current journeys of the given train * * The `FeatureCollection` includes `Feature`s with `GeometryCollections` for * each journey where the `MultiPoint` geometry represents the stop points and * the `LineString` the full trajectory. * * This is equivalent to calling * * GET full_trajectory_ * * on the websocket with gen_level and graph as in the BBOX command. */ get: operations['full_trajectory_journeys__train_id___get']; }; '/lines/{tag}/': { /** * Get all lines with the given tag * * Optionally filter by operator_name and name. * * Optionally return the data as GeoJSON. This requires `name` and * `operator_name` to be set. By default only ungenealized data is * returned. Set `graph` to select another line network. */ get: operations['get_lines_for_tag_lines__tag___get']; }; '/lines/{tag}/vias/': { /** * Return matching lines with a list of stop lists for routing * * Each item in the vias list should be treated as a list of vias for the Routing-API. * The goal of this method is to compile an undirected, routable representation of the * line, values are meaningless apart from that. */ get: operations['get_via_stops_lines__tag__vias__get']; }; '/trains_by_route_identifier/{feed_name}/': { /** Search for active trains in a specific feed/tenant by route identifier. */ get: operations['trains_by_route_identifier_trains_by_route_identifier__feed_name___get']; }; '/trajectories/{feed_name}/': { /** * Get all current trajectories between two stops for the given feed * * This is roughly equivalent to calling * * BBOX [tenant=] [gen_level=] [graph=graph] * * on the websocket but does not support all Websocket API parameters and * `feed_name` is not optional for the HTTP-API. Geometries are not simplified as * in the BBOX command. */ get: operations['trajectories_trajectories__feed_name___get']; }; } export interface components { schemas: { /** Feed */ Feed: { /** Bbox */ bbox?: Partial & Partial; /** Color */ color: string; /** Has Realtime Feed */ has_realtime_feed: boolean; license: components['schemas']['License']; /** Name */ name: Partial & Partial; /** Short Name */ short_name: string; /** Trajectory Count */ trajectory_count?: Partial & Partial; /** Url */ url: Partial & Partial; /** Valid From */ valid_from: Partial & Partial; /** Valid To */ valid_to: Partial & Partial; /** Version */ version: Partial & Partial; /** X */ x?: Partial & Partial; /** Y */ y?: Partial & Partial; }; /** FeedCollection */ FeedCollection: { /** Feed Count */ feed_count: number; /** Feeds */ feeds: Record; /** Trajectory Count */ trajectory_count?: Partial & Partial; }; /** * FullTrajectory * @description The trajectory for one of the journeys of a train as a GeoJSON Feature. * * The `geometry` is either a (Multi)LineString or a GeometryCollection of a * (Multi)LineString and a MultiPoint. If the MultiPoint is delivered, the points * correspond to stops projected onto the trajectory. * * MultiLineStrings can occur when the trajectory is discontinous at at least one of * the stops. */ FullTrajectory: { /** Geometry */ geometry: Partial & Partial & Partial; properties: components['schemas']['FullTrajectoryProperties']; /** * Type * @constant */ type: 'Feature'; }; /** * FullTrajectoryCollection * @description All trajectories for the journeys of a train as a GeoJSON FeatureCollection. */ FullTrajectoryCollection: { /** Features */ features: components['schemas']['FullTrajectory'][]; properties: components['schemas']['FullTrajectoryCollectionProperties']; /** * Type * @constant */ type: 'FeatureCollection'; }; /** FullTrajectoryCollectionProperties */ FullTrajectoryCollectionProperties: { /** Gen Level */ gen_level: Partial & Partial; /** Gen Range */ gen_range: number[]; /** Graph */ graph: string; /** License */ license?: Partial & Partial; /** Licensenote */ licenseNote?: Partial & Partial; /** Licenseurl */ licenseUrl?: Partial & Partial; /** Operator */ operator?: Partial & Partial; /** Operatorurl */ operatorUrl?: Partial & Partial; /** Publisher */ publisher?: Partial & Partial; /** Publisherurl */ publisherUrl?: Partial & Partial; /** Tenant */ tenant?: string; /** Train Id */ train_id: string; }; /** FullTrajectoryProperties */ FullTrajectoryProperties: { /** Event Timestamp */ event_timestamp?: Partial & Partial; /** Gen Level */ gen_level: Partial & Partial; /** Gen Range */ gen_range: number[]; /** Graph */ graph: string; /** Journey Id */ journey_id: number; /** Line Id */ line_id: number; /** Line Name */ line_name?: Partial & Partial; /** Stroke */ stroke?: Partial & Partial; /** Train Id */ train_id: string; /** Type */ type?: Partial< | 'bus' | 'cablecar' | 'coach' | 'ferry' | 'funicular' | 'gondola' | 'rail' | 'subway' | 'tram' > & Partial; }; /** * GeometryCollectionGeometry * @description Collection of MultiPoint, LineString and MultiLineString * * MultiPoint is a list of points of interest, i.e. stop points in this * context. (Multi)LineStrings represent a trajectory. */ GeometryCollectionGeometry: { /** Geometries */ geometries: (Partial & Partial & Partial)[]; /** * Type * @constant */ type: 'GeometryCollection'; }; /** HTTPValidationError */ HTTPValidationError: { /** Detail */ detail?: components['schemas']['ValidationError'][]; }; /** JourneyExtraData */ JourneyExtraData: { /** Event Location Name */ event_location_name?: Partial & Partial; /** Event Timestamp */ event_timestamp?: Partial & Partial; /** Transport Code */ transport_code?: Partial & Partial; }; /** License */ License: { /** Name */ name: Partial & Partial; /** Note */ note: Partial & Partial; /** Url */ url: Partial & Partial; }; /** Line */ Line: { /** Color */ color: Partial & Partial; /** Id */ id: number; /** Name */ name: Partial & Partial; /** Stroke */ stroke: Partial & Partial; /** Tags */ tags: string[]; /** Text Color */ text_color: Partial & Partial; }; /** LineStringGeometry */ LineStringGeometry: { /** Coordinates */ coordinates: Partial[][]; /** * Type * @constant */ type: 'LineString'; }; /** LineViaStop */ LineViaStop: { /** Lat */ lat: number; /** Lon */ lon: number; /** Name */ name: string; }; /** MultiLineStringGeometry */ MultiLineStringGeometry: { /** Coordinates */ coordinates: Partial[][][]; /** * Type * @constant */ type: 'MultiLineString'; }; /** MultiPointGeometry */ MultiPointGeometry: { /** Coordinates */ coordinates: Partial[][]; /** * Type * @constant */ type: 'MultiPoint'; }; /** RouteIdentifierMatch */ RouteIdentifierMatch: { /** Bounds */ bounds: number[]; /** Destination */ destination: Partial & Partial; /** Exact Match */ exact_match: boolean; line: components['schemas']['Line']; /** Route Identifier */ route_identifier: string; /** Train Id */ train_id: string; }; /** SerializedCancellationChange */ SerializedCancellationChange: { /** New To */ new_to?: Partial & Partial; /** No Stop Between */ no_stop_between?: (Partial & Partial)[]; /** No Stop Till */ no_stop_till?: Partial & Partial; /** Old To */ old_to?: Partial & Partial; /** State */ state?: Partial< | 'BOARDING' | 'JOURNEY_CANCELLED' | 'LEAVING' | 'PENDING' | 'STOP_CANCELLED' | 'TIME_BASED' > & Partial; }; /** Situation */ Situation: { /** Description */ description: Partial & Partial; }; /** StopSequence */ StopSequence: { /** Color */ color?: Partial & Partial; /** Destination */ destination: Partial & Partial; extra_data: components['schemas']['JourneyExtraData']; /** Has Realtime */ has_realtime: boolean; /** Has Realtime Journey */ has_realtime_journey: boolean; /** Id */ id: string; /** License */ license?: Partial & Partial; /** Licensenote */ licenseNote?: Partial & Partial; /** Licenseurl */ licenseUrl?: Partial & Partial; line: Partial & Partial; /** Longname */ longName?: Partial & Partial; /** New Destination */ new_destination: Partial & Partial; /** Operator */ operator?: Partial & Partial; /** * Operator Provides Realtime Journey * @enum {string} */ operator_provides_realtime_journey: 'maybe' | 'no' | 'unknown' | 'yes'; /** Operatorurl */ operatorUrl?: Partial & Partial; /** Publisher */ publisher?: Partial & Partial; /** Publisherurl */ publisherUrl?: Partial & Partial; /** Routeidentifier */ routeIdentifier: Partial & Partial; /** Shortname */ shortName?: Partial & Partial; /** Situations */ situations: components['schemas']['Situation'][]; /** Stations */ stations: components['schemas']['StopSequenceCall'][]; /** Stroke */ stroke?: Partial & Partial; /** Tenant */ tenant?: string; /** Text Color */ text_color?: Partial & Partial; /** Train Number */ train_number: Partial & Partial; /** Type */ type: Partial< | 'bus' | 'cablecar' | 'coach' | 'ferry' | 'funicular' | 'gondola' | 'rail' | 'subway' | 'tram' > & Partial; /** Vehicle Mode */ vehicle_mode: Partial & Partial; }; /** StopSequenceCall */ StopSequenceCall: { /** Aimedarrivaltime */ aimedArrivalTime: Partial & Partial; /** Aimeddeparturetime */ aimedDepartureTime: Partial & Partial; /** Arrivaldelay */ arrivalDelay: Partial & Partial; /** Arrivaltime */ arrivalTime: Partial & Partial; /** Cancelled */ cancelled: boolean; /** Changes */ changes?: components['schemas']['SerializedCancellationChange'][]; /** Coordinate */ coordinate: Partial[]; /** Departuredelay */ departureDelay: Partial & Partial; /** Departuretime */ departureTime: Partial & Partial; /** Formation Id */ formation_id: Partial & Partial; /** Nodropoff */ noDropOff: Partial & Partial; /** Nopickup */ noPickUp: Partial & Partial; /** Platform */ platform: Partial & Partial; /** State */ state?: Partial< | 'BOARDING' | 'JOURNEY_CANCELLED' | 'LEAVING' | 'PENDING' | 'STOP_CANCELLED' | 'TIME_BASED' > & Partial; /** Stationid */ stationId: Partial & Partial; /** Stationname */ stationName: Partial & Partial; /** Stopuid */ stopUID: Partial & Partial; }; /** TagLineDetail */ TagLineDetail: { /** Color */ color: Partial & Partial; /** Id */ id: number; /** Mot */ mot: Partial<'unknown'> & Partial< | 'bus' | 'cablecar' | 'coach' | 'ferry' | 'funicular' | 'gondola' | 'rail' | 'subway' | 'tram' >; /** Name */ name: Partial & Partial; /** Operator Name */ operator_name: Partial & Partial; /** Short Name */ short_name: Partial & Partial; /** Stroke */ stroke: Partial & Partial; /** Tags */ tags: string[]; /** Text Color */ text_color: Partial & Partial; }; /** TagLineDetailWithVias */ TagLineDetailWithVias: { /** Color */ color: Partial & Partial; /** Id */ id: number; /** Mot */ mot: Partial<'unknown'> & Partial< | 'bus' | 'cablecar' | 'coach' | 'ferry' | 'funicular' | 'gondola' | 'rail' | 'subway' | 'tram' >; /** Name */ name: Partial & Partial; /** Operator Name */ operator_name: Partial & Partial; /** Short Name */ short_name: Partial & Partial; /** Stroke */ stroke: Partial & Partial; /** Tags */ tags: string[]; /** Text Color */ text_color: Partial & Partial; /** Vias */ vias: components['schemas']['LineViaStop'][][]; }; /** * TrackerTrajectory * @description Current section of the route the given train is on as a GeoJSON Feature. * * The `geometry` contains the LineString between two stops. * * The `time_intervals` property contains a list of `[timestamp, fraction, * direction]` tuples. * * Each `time_intervals` item contains the fraction of the geometry where * the vehicle is at the given timestamp. If present the direction is the * current rotation of the vehicle relative to the horizontal axis as * radian. * * The current location of the vehicle can be calculated by * linear interpolation from the fraction of the first item where the * timestamp is smaller then the current time to the fraction of the next * item. * * If the last timestamp is in the past, the trajectory should not be visualized by a * client. */ TrackerTrajectory: { geometry: components['schemas']['LineStringGeometry']; properties: components['schemas']['TrackerTrajectoryProperties']; /** * Type * @constant */ type: 'Feature'; }; /** TrackerTrajectoryProperties */ TrackerTrajectoryProperties: { /** Bounds */ bounds: number[]; /** Delay */ delay?: Partial & Partial; /** Event Timestamp */ event_timestamp?: Partial & Partial; /** Gen Level */ gen_level: Partial & Partial; /** Gen Range */ gen_range: number[]; /** Graph */ graph: string; /** Has Journey */ has_journey: boolean; /** Has Realtime */ has_realtime: boolean; /** Has Realtime Journey */ has_realtime_journey: boolean; line?: Partial & Partial; /** * Operator Provides Realtime Journey * @enum {string} */ operator_provides_realtime_journey: 'maybe' | 'no' | 'unknown' | 'yes'; /** Route Identifier */ route_identifier?: Partial & Partial; /** State */ state?: Partial<'BOARDING' | 'DRIVING' | 'JOURNEY_CANCELLED'> & Partial; /** Tenant */ tenant: string; /** Time Intervals */ time_intervals: (Partial & Partial)[][]; /** Time Since Update */ time_since_update?: Partial & Partial; /** * Timestamp * Format: date-time */ timestamp: number; /** Train Id */ train_id: string; /** * Type * @enum {string} */ type: | 'bus' | 'cablecar' | 'coach' | 'ferry' | 'funicular' | 'gondola' | 'rail' | 'subway' | 'tram'; }; /** TrainsByRouteIdentifierResult */ TrainsByRouteIdentifierResult: { /** Matches */ matches: components['schemas']['RouteIdentifierMatch'][]; }; /** TrajectoryCollection */ TrajectoryCollection: { /** Features */ features: components['schemas']['TrackerTrajectory'][]; /** * Type * @default FeatureCollection * @constant */ type?: 'FeatureCollection'; }; /** ValidationError */ ValidationError: { /** Location */ loc: (Partial & Partial)[]; /** Message */ msg: string; /** Error Type */ type: string; }; }; } export interface operations { /** * Get the stop sequences for the current journeys of the given train * * This is equivalent to calling * * GET stopsequence_ * * on the websocket. */ calls_calls__train_id___get: { parameters: { path: { train_id: string; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['StopSequence'][]; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; /** * Get a list of all active feeds * * This is the only endpoint without Websocket API equivalent, where this info * is not needed normally (the `BBOX` command picks all the relevant data for * you). */ feeds_feeds__get: { parameters: { query: { include_counts?: boolean; raw_data?: boolean; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['FeedCollection']; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; /** * Get geometries for the current journeys of the given train * * The `FeatureCollection` includes `Feature`s with `GeometryCollections` for * each journey where the `MultiPoint` geometry represents the stop points and * the `LineString` the full trajectory. * * This is equivalent to calling * * GET full_trajectory_ * * on the websocket with gen_level and graph as in the BBOX command. */ full_trajectory_journeys__train_id___get: { parameters: { path: { train_id: string; }; query: { channel_prefix?: string; gen_level?: Partial & Partial; graph?: Partial & Partial; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['FullTrajectoryCollection']; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; /** * Get all lines with the given tag * * Optionally filter by operator_name and name. * * Optionally return the data as GeoJSON. This requires `name` and * `operator_name` to be set. By default only ungenealized data is * returned. Set `graph` to select another line network. */ get_lines_for_tag_lines__tag___get: { parameters: { path: { tag: string; }; query: { format?: 'geojson' | 'json'; graph?: Partial & Partial; name?: Partial & Partial; operator_name?: Partial & Partial; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['TagLineDetail'][]; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; /** * Return matching lines with a list of stop lists for routing * * Each item in the vias list should be treated as a list of vias for the Routing-API. * The goal of this method is to compile an undirected, routable representation of the * line, values are meaningless apart from that. */ get_via_stops_lines__tag__vias__get: { parameters: { path: { tag: string; }; query: { name?: Partial & Partial; operator_name?: Partial & Partial; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['TagLineDetailWithVias'][]; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; /** Search for active trains in a specific feed/tenant by route identifier. */ trains_by_route_identifier_trains_by_route_identifier__feed_name___get: { parameters: { path: { /** The feed name (aka tenant short name). */ feed_name: string; }; query: { /** Whether the search is case sensitive. */ case_sensitive?: boolean; /** Whether to return only exact matches (up to case sensitivity if applicable). If false, substring matches are also considered. */ exact_match: boolean; /** Query to match against route identifiers. */ query?: string; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['TrainsByRouteIdentifierResult']; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; /** * Get all current trajectories between two stops for the given feed * * This is roughly equivalent to calling * * BBOX [tenant=] [gen_level=] [graph=graph] * * on the websocket but does not support all Websocket API parameters and * `feed_name` is not optional for the HTTP-API. Geometries are not simplified as * in the BBOX command. */ trajectories_trajectories__feed_name___get: { parameters: { path: { feed_name: string; }; query: { bbox?: Partial & Partial; channel_prefix?: string; gen_level?: Partial & Partial; graph?: Partial & Partial; /** @deprecated */ validate_output?: boolean; }; }; responses: { /** Successful Response */ 200: { content: { 'application/json': components['schemas']['TrajectoryCollection']; }; }; /** Validation Error */ 422: { content: { 'application/json': components['schemas']['HTTPValidationError']; }; }; }; }; } // eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface external {}