gtfs-types
Version:
🚂 Typescript definitions for the GTFS Standard
289 lines (288 loc) • 11.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DB_SCHEMA = exports.PRIMARY_KEYS = exports.FareTransferType = exports.DurationLimit = exports.BookingType = exports.FareMediaType = exports.TranslationsTableName = exports.PathwayMode = exports.TransfersNumber = exports.PaymentMethod = exports.PickupDropoffType = exports.WheelchairBoardingType = exports.LocationType = exports.TransferType = exports.ExceptionType = exports.Alight = exports.GTFSBool = void 0;
// MARK: enums
var GTFSBool;
(function (GTFSBool) {
GTFSBool[GTFSBool["NOT_SPECIFIED"] = 0] = "NOT_SPECIFIED";
GTFSBool[GTFSBool["YES"] = 1] = "YES";
GTFSBool[GTFSBool["NO"] = 2] = "NO";
})(GTFSBool || (exports.GTFSBool = GTFSBool = {}));
var Alight;
(function (Alight) {
Alight[Alight["AVAILABLE"] = 0] = "AVAILABLE";
Alight[Alight["NOT_AVAILABLE"] = 1] = "NOT_AVAILABLE";
Alight[Alight["MUST_CONTACT_AGENCY"] = 2] = "MUST_CONTACT_AGENCY";
Alight[Alight["MUST_CONTACT_DRIVER"] = 3] = "MUST_CONTACT_DRIVER";
})(Alight || (exports.Alight = Alight = {}));
var ExceptionType;
(function (ExceptionType) {
ExceptionType[ExceptionType["SERVICE_ADDED"] = 1] = "SERVICE_ADDED";
ExceptionType[ExceptionType["SERVICE_REMOVED"] = 2] = "SERVICE_REMOVED";
})(ExceptionType || (exports.ExceptionType = ExceptionType = {}));
var TransferType;
(function (TransferType) {
TransferType[TransferType["RECOMMENDED"] = 0] = "RECOMMENDED";
TransferType[TransferType["TIMED_TRANSFER"] = 1] = "TIMED_TRANSFER";
TransferType[TransferType["TIME_REQUIRED"] = 2] = "TIME_REQUIRED";
TransferType[TransferType["NO_TRANSFER_POSSIBLE"] = 3] = "NO_TRANSFER_POSSIBLE";
TransferType[TransferType["IN_SEAT_TRANSFER"] = 4] = "IN_SEAT_TRANSFER";
TransferType[TransferType["RE_BOARD_TRANSFER"] = 5] = "RE_BOARD_TRANSFER";
})(TransferType || (exports.TransferType = TransferType = {}));
var LocationType;
(function (LocationType) {
LocationType[LocationType["STOP"] = 0] = "STOP";
LocationType[LocationType["STATION"] = 1] = "STATION";
LocationType[LocationType["ENTRANCE_EXIT"] = 2] = "ENTRANCE_EXIT";
LocationType[LocationType["GENERIC_NODE"] = 3] = "GENERIC_NODE";
LocationType[LocationType["BOARDING_AREA"] = 4] = "BOARDING_AREA";
})(LocationType || (exports.LocationType = LocationType = {}));
var WheelchairBoardingType;
(function (WheelchairBoardingType) {
WheelchairBoardingType[WheelchairBoardingType["UNKNOWN_OR_INHERIT"] = 0] = "UNKNOWN_OR_INHERIT";
WheelchairBoardingType[WheelchairBoardingType["ACCESSIBLE"] = 1] = "ACCESSIBLE";
WheelchairBoardingType[WheelchairBoardingType["NOT_ACCESSIBLE"] = 2] = "NOT_ACCESSIBLE";
})(WheelchairBoardingType || (exports.WheelchairBoardingType = WheelchairBoardingType = {}));
var PickupDropoffType;
(function (PickupDropoffType) {
PickupDropoffType[PickupDropoffType["CONTINUOUS"] = 0] = "CONTINUOUS";
PickupDropoffType[PickupDropoffType["NON_CONTINUOUS"] = 1] = "NON_CONTINUOUS";
PickupDropoffType[PickupDropoffType["MUST_CONTACT_AGENCY"] = 2] = "MUST_CONTACT_AGENCY";
PickupDropoffType[PickupDropoffType["MUST_CONTACT_DRIVER"] = 3] = "MUST_CONTACT_DRIVER";
})(PickupDropoffType || (exports.PickupDropoffType = PickupDropoffType = {}));
var PaymentMethod;
(function (PaymentMethod) {
PaymentMethod[PaymentMethod["PAID_ON_BOARD"] = 0] = "PAID_ON_BOARD";
PaymentMethod[PaymentMethod["PAID_BEFORE_BOARDING"] = 1] = "PAID_BEFORE_BOARDING";
})(PaymentMethod || (exports.PaymentMethod = PaymentMethod = {}));
var TransfersNumber;
(function (TransfersNumber) {
TransfersNumber[TransfersNumber["NO_TRANSFERS_PERMITTED"] = 0] = "NO_TRANSFERS_PERMITTED";
TransfersNumber[TransfersNumber["RIDERS_MAY_TRANSFER_ONCE"] = 1] = "RIDERS_MAY_TRANSFER_ONCE";
TransfersNumber[TransfersNumber["RIDERS_MAY_TRANSFER_TWICE"] = 2] = "RIDERS_MAY_TRANSFER_TWICE";
TransfersNumber["UNLIMITED_TRANSFERS_ARE_PERMITTED"] = "";
})(TransfersNumber || (exports.TransfersNumber = TransfersNumber = {}));
var PathwayMode;
(function (PathwayMode) {
PathwayMode[PathwayMode["WALKWAY"] = 1] = "WALKWAY";
PathwayMode[PathwayMode["STAIRS"] = 2] = "STAIRS";
PathwayMode[PathwayMode["MOVING_SIDEWALK_TRAVELATOR"] = 3] = "MOVING_SIDEWALK_TRAVELATOR";
PathwayMode[PathwayMode["ESCALATOR"] = 4] = "ESCALATOR";
PathwayMode[PathwayMode["ELEVATOR"] = 5] = "ELEVATOR";
PathwayMode[PathwayMode["FARE_PAYMENT_GATE"] = 6] = "FARE_PAYMENT_GATE";
PathwayMode[PathwayMode["EXIT_GATE"] = 7] = "EXIT_GATE";
})(PathwayMode || (exports.PathwayMode = PathwayMode = {}));
var TranslationsTableName;
(function (TranslationsTableName) {
TranslationsTableName["AGENCY"] = "agency";
TranslationsTableName["STOPS"] = "stops";
TranslationsTableName["ROUTES"] = "routes";
TranslationsTableName["TRIPS"] = "trips";
TranslationsTableName["STOP_TIMES"] = "stop_times";
TranslationsTableName["FEED_INFO"] = "feed_info";
TranslationsTableName["PATHWAYS"] = "pathways";
TranslationsTableName["LEVELS"] = "levels";
TranslationsTableName["ATTRIBUTIONS"] = "attributions";
})(TranslationsTableName || (exports.TranslationsTableName = TranslationsTableName = {}));
var FareMediaType;
(function (FareMediaType) {
FareMediaType[FareMediaType["NONE"] = 0] = "NONE";
FareMediaType[FareMediaType["PHYSICAL_TICKET"] = 1] = "PHYSICAL_TICKET";
FareMediaType[FareMediaType["PHYSICAL_CARD"] = 2] = "PHYSICAL_CARD";
FareMediaType[FareMediaType["CONTACTLESS_EMV"] = 3] = "CONTACTLESS_EMV";
FareMediaType[FareMediaType["MOBILE_APP"] = 4] = "MOBILE_APP";
})(FareMediaType || (exports.FareMediaType = FareMediaType = {}));
var BookingType;
(function (BookingType) {
BookingType[BookingType["REAL_TIME"] = 0] = "REAL_TIME";
BookingType[BookingType["SAME_DAY"] = 1] = "SAME_DAY";
BookingType[BookingType["PRIOR_DAY"] = 2] = "PRIOR_DAY";
})(BookingType || (exports.BookingType = BookingType = {}));
var DurationLimit;
(function (DurationLimit) {
DurationLimit[DurationLimit["DEPARTURE_TO_ARRIVAL"] = 0] = "DEPARTURE_TO_ARRIVAL";
DurationLimit[DurationLimit["DEPARTURE_TO_DEPARTURE"] = 1] = "DEPARTURE_TO_DEPARTURE";
DurationLimit[DurationLimit["ARRIVAL_TO_DEPARTURE"] = 2] = "ARRIVAL_TO_DEPARTURE";
DurationLimit[DurationLimit["ARRIVAL_TO_ARRIVAL"] = 3] = "ARRIVAL_TO_ARRIVAL";
})(DurationLimit || (exports.DurationLimit = DurationLimit = {}));
var FareTransferType;
(function (FareTransferType) {
FareTransferType[FareTransferType["LEG_TRANSFER"] = 0] = "LEG_TRANSFER";
FareTransferType[FareTransferType["LEG_TRANSFER_LEG"] = 1] = "LEG_TRANSFER_LEG";
FareTransferType[FareTransferType["TRANSFER"] = 2] = "TRANSFER";
})(FareTransferType || (exports.FareTransferType = FareTransferType = {}));
/**
* - if it's a `string`, then the table has 1 primary key
* - if it's a `string[]`, then the primary key spans multiple columns
* - if it's `undefined`, then the table has no primary keys
*/
exports.PRIMARY_KEYS = {
"agency.txt": "agency_id",
"calendar.txt": "service_id",
"calendar_dates.txt": ["service_id", "date"],
"fare_attributes.txt": "fare_id",
"fare_rules.txt": undefined,
"feed_info.txt": undefined,
"frequencies.txt": ["trip_id", "start_time"],
"routes.txt": "route_id",
"shapes.txt": ["shape_id", "shape_pt_sequence"],
"stops.txt": "stop_id",
"stop_times.txt": ["trip_id", "stop_sequence"],
"transfers.txt": [
"from_stop_id",
"to_stop_id",
"from_trip_id",
"to_trip_id",
"from_route_id",
"to_route_id",
],
"trips.txt": "trip_id",
"pathways.txt": "pathway_id",
"timeframes.txt": undefined,
"rider_categories.txt": "rider_category_id",
"fare_media.txt": "fare_media_id",
"fare_products.txt": "fare_product_id",
"fare_leg_rules.txt": [
"network_id",
"from_area_id",
"to_area_id",
"from_timeframe_group_id",
"to_timeframe_group_id",
"fare_product_id",
],
"fare_leg_join_rules.txt": [
"from_network_id",
"to_network_id",
"from_stop_id",
"to_stop_id",
],
"fare_transfer_rules.txt": [
"from_leg_group_id",
"to_leg_group_id",
"fare_product_id",
"transfer_count",
"duration_limit",
],
"areas.txt": "area_id",
"stop_areas.txt": ["area_id", "stop_id"],
"networks.txt": "network_id",
"route_networks.txt": "route_id",
"levels.txt": "level_id",
"location_groups.txt": "location_group_id",
"location_group_stops.txt": ["location_group_id", "stop_id"],
"booking_rules.txt": "booking_rule_id",
"translations.txt": [
"table_name",
"field_name",
"language",
"record_id",
"record_sub_id",
"field_value",
],
"attributions.txt": "attribution_id",
};
/** lists the fields with a non-string data type (see {@link NonStringDataTypes}) */
exports.DB_SCHEMA = {
"agency.txt": {},
"calendar.txt": {
monday: "int",
tuesday: "int",
wednesday: "int",
thursday: "int",
friday: "int",
saturday: "int",
sunday: "int",
},
"calendar_dates.txt": {
exception_type: "int",
},
"fare_attributes.txt": {
payment_method: "int",
price: "float",
transfer_duration: "int",
},
"fare_rules.txt": {},
"feed_info.txt": {},
"frequencies.txt": {
headway_secs: "int",
},
"routes.txt": {
route_sort_order: "int",
route_type: "int",
},
"shapes.txt": {
shape_dist_traveled: "float",
shape_pt_lat: "float",
shape_pt_lon: "float",
shape_pt_sequence: "int",
},
"stops.txt": {
location_type: "int",
stop_lat: "float",
stop_lon: "float",
},
"stop_times.txt": {
continuous_drop_off: "int",
continuous_pickup: "int",
drop_off_type: "int",
pickup_type: "int",
shape_dist_traveled: "float",
stop_sequence: "int",
},
"transfers.txt": {
min_transfer_time: "int",
transfer_type: "int",
},
"trips.txt": {
bikes_allowed: "int",
direction_id: "int",
wheelchair_accessible: "int",
},
"pathways.txt": {
is_bidirectional: "int",
length: "int",
max_slope: "int",
min_width: "int",
pathway_mode: "int",
stair_count: "int",
traversal_time: "int",
},
"timeframes.txt": {},
"rider_categories.txt": {
is_default_fare_category: "int",
},
"fare_media.txt": {
fare_media_type: "int",
},
"fare_products.txt": {
ammount: "int",
},
"fare_leg_rules.txt": {
rule_priority: "int",
},
"fare_leg_join_rules.txt": {},
"fare_transfer_rules.txt": {
duration_limit: "int",
duration_limit_type: "int",
fare_transfer_type: "int",
transfer_count: "int",
},
"areas.txt": {},
"stop_areas.txt": {},
"networks.txt": {},
"route_networks.txt": {},
"levels.txt": {
level_index: "float",
},
"location_groups.txt": {},
"location_group_stops.txt": {},
"booking_rules.txt": {
booking_type: "int",
prior_notice_duration_max: "int",
prior_notice_duration_min: "int",
prior_notice_last_day: "int",
prior_notice_start_day: "int",
},
"translations.txt": {},
"attributions.txt": {},
};