gtfs-types
Version:
🚂 Typescript definitions for the GTFS Standard
175 lines (174 loc) • 3.95 kB
TypeScript
export declare enum Occupancy {
EMPTY = 0,
MANY_SEATS_AVAILABLE = 1,
FEW_SEATS_AVAILABLE = 2,
STANDING_ROOM_ONLY = 3,
CRUSHED_STANDING_ROOM_ONLY = 4,
FULL = 5,
NOT_ACCEPTING_PASSENGERS = 6,
NO_DATA_AVAILABLE = 7,
NOT_BOARDABLE = 8,
UNKNOWN = -1
}
export declare enum Congestion {
UNKNOWN_CONGESTION_LEVEL = 0,
RUNNING_SMOOTHLY = 1,
STOP_AND_GO = 2,
CONGESTION = 3,
SEVERE_CONGESTION = 4
}
declare interface Time {
delay?: number;
time?: number;
uncertainty?: number;
}
interface RealTimeTrip {
trip_id?: string;
start_time?: string;
start_date?: string;
schedule_relationship?: TripScheduleRelationship;
route_id?: string;
direction_id?: number;
}
export declare enum TripScheduleRelationship {
SCHEDULED = 0,
ADDED = 1,
UNSCHEDULED = 2,
CANCELED = 3
}
export declare enum StopTimeUpdateScheduleRelationship {
SCHEDULED = 0,
SKIPPED = 1,
NO_DATA = 2
}
export interface Vehicle {
id?: string;
label?: string;
license_plate?: string;
}
export interface TripUpdate {
trip: RealTimeTrip;
stop_time_update?: StopTimeUpdate[];
vehicle?: Vehicle;
timestamp?: number;
delay?: number;
}
export interface VehiclePosition {
trip?: RealTimeTrip;
position?: Position;
current_stop_sequence?: number;
stop_id?: string;
current_status?: VehicleStopStatus;
congestion_level?: Congestion;
occupancy_status?: Occupancy;
vehicle?: Vehicle;
timestamp?: number;
}
export interface Entity {
id: string;
trip_update?: TripUpdate;
vehicle?: VehiclePosition;
is_deleted?: boolean;
alert?: Alert;
}
export interface TimeRange {
start?: number;
end?: number;
}
export declare enum Cause {
UNKNOWN_CAUSE = 0,
OTHER_CAUSE = 1,
TECHNICAL_PROBLEM = 2,
STRIKE = 3,
DEMONSTRATION = 4,
ACCIDENT = 5,
HOLIDAY = 6,
WEATHER = 7,
MAINTENANCE = 8,
CONSTRUCTION = 9,
POLICE_ACTIVITY = 10,
MEDICAL_EMERGENCY = 11
}
export declare enum Effect {
NO_SERVICE = 0,
REDUCED_SERVICE = 1,
SIGNIFICANT_DELAYS = 2,
DETOUR = 3,
ADDITIONAL_SERVICE = 4,
MODIFIED_SERVICE = 5,
OTHER_EFFECT = 6,
UNKNOWN_EFFECT = 7,
STOP_MOVED = 8,
NO_EFFECT = 9,
ACCESSIBILITY_ISSUE = 10
}
export declare enum SeverityLevel {
UNKNOWN_SEVERITY = 0,
INFO = 1,
WARNING = 2,
SEVERE = 3
}
export interface TranslatedString {
translation: Translation[];
}
export interface Translation {
text: string;
language?: string;
}
export interface Alert {
active_period?: TimeRange[];
informed_entity: EntitySelector[];
cause?: Cause;
effect?: Effect;
url?: TranslatedString;
header_text: TranslatedString;
description_text: TranslatedString;
tts_header_text?: TranslatedString;
tts_description_text?: TranslatedString;
severity_level?: SeverityLevel;
}
export interface Position {
latitude: number;
longitude: number;
bearing?: number;
odometer?: number;
speed?: number;
}
export interface StopTimeUpdate {
stop_sequence?: number;
stop_id?: string;
arrival?: Time;
departure?: Time;
schedule_relationship?: StopTimeUpdateScheduleRelationship;
}
export interface EntitySelector {
agency_id?: string;
route_id?: string;
route_type?: number;
direction_id?: number;
trip?: RealTimeTrip;
stop_id?: string;
}
export declare enum VehicleStopStatus {
INCOMING_AT = 0,
STOPPED_AT = 1,
IN_TRANSIT_TO = 2
}
export declare enum Incrementality {
FULL_DATASET = 0,
DIFFERENTIAL = 1
}
export interface FeedHeader {
gtfs_realtime_version: string;
incrementality: Incrementality;
timestamp: number;
}
export interface FeedMessage {
header: FeedHeader;
entity?: Entity[];
}
export interface GTFSRealtime {
status: string;
response: FeedMessage;
}
export {};