Files
better-mreso/app/types.d.ts
T
2026-07-13 18:22:58 +02:00

157 lines
2.9 KiB
TypeScript

interface Route {
id: string;
gtfsId: string;
shortName: string;
longName: string;
color: string;
textColor: string;
mode: string;
type: string;
timeSheet: boolean;
pdfTimeSheet: boolean;
pdfMap: boolean;
}
interface Cluster {
city: string;
code: string;
id: string;
lat: number;
lon: number;
name: string;
visible: boolean;
}
interface StopTimesPattern {
pattern: {
id: string;
desc: string;
dir: number;
shortDesc: string;
lastStop: string;
lastStopName: string;
};
times: StopTimes[];
}
interface StopTimes {
stopId: string;
stopName: string;
scheduledArrival: number;
scheduledDeparture: number;
realtimeArrival: number;
realtimeDeparture: number;
arrivalDelay: number;
departureDelay: number;
timepoint: boolean;
realtime: boolean;
realtimeState: string;
serviceDay: number;
tripId: string;
pickupType: string;
occupancy: string;
occupancyId: number;
}
interface PlannerResource extends Record<string, string> {
routerId: string;
fromPlace: string;
toPlace: string;
arriveBy: string;
time: string;
date: string;
routerId: string;
optimize: OptimizeType;
walkSpeed: string;
walkReluctance: string;
locale: string;
mode: string;
showIntermediateStops?: string;
minTransferTime?: string;
transferPenalty?: string;
numItineraries?: string;
walkBoardCost?: string;
bannedAgencies?: string;
}
type OptimizeType =
"FLAT" | "GREENWAYS" | "QUICK" | "SAFE" | "TRANSFERS" | "TRIANGLE";
type PlannerModes = "WALK" | "TRANSIT";
interface OTPPlace {
name: string;
lon: number;
lat: number;
vertedType: "NORMAL";
}
interface OTPItineraries {
duration: number;
startTime: number;
endTime: number;
walkTime: number;
transitTime: number;
waitingTime: number;
walkDistance: number;
walkLimitExceeded: boolean;
generalizedCost: number;
elevationLost: number;
elevationGained: number;
transfers: number;
legs: OTPLegs[];
}
interface OTPLegs {
startTime: number;
endTime: number;
departureDelay: number;
arrivalDelay: number;
realTime: boolean;
distance: number;
generalizedCost: number;
pathway: boolean;
mode: PlannerModes;
transitLeg: boolean;
route: string;
routeColor?: string;
routeId?: string;
routeLongName?: string;
routeShortName?: string;
routeTextColor?: string;
routeType?: number;
agencyTimeZoneOffset: number;
interlineWithPreviousLeg: boolean;
from: OTPPlace;
to: OTPPlace;
legGeometry: {
points: "string";
};
legElevation: string;
steps: OTPStep[];
duration: number;
}
interface OTPStep {
distance: number;
relativeDirection: string;
streetName: string;
absoluteDirection: string;
stayOn: boolean;
area: boolean;
bogusName: boolean;
lon: numbeer;
lat: numbeer;
elevation: string;
walkingBike: boolean;
}
interface OTPPlanOutput {
plan: {
date: number;
from: OTPPlace;
to: OTPPlace;
itineraries: OTPItineraries[];
};
}