@drfrost/bods-js
Version:
JavaScript client for the UK's Bus Open Data Service (BODS) API
76 lines • 2.32 kB
TypeScript
import type { AdminArea, DataQualityRating, DatasetStatus, DateRangeParams, Locality, PaginatedResponse, PaginationParams } from './common.js';
/**
* Timetable dataset information
*/
export interface Timetable {
/** Dataset ID */
id: number;
/** Creation timestamp */
created: string;
/** Last modified timestamp */
modified: string;
/** Operator name */
operatorName: string;
/** National Operator Codes */
noc: string[];
/** Dataset name */
name: string;
/** Dataset description */
description: string;
/** Comment about the dataset */
comment: string;
/** Dataset status */
status: DatasetStatus;
/** Download URL */
url: string;
/** File extension */
extension: string;
/** Service line numbers */
lines: string[];
/** First service start date */
firstStartDate: string;
/** First service end date */
firstEndDate: string;
/** Last service end date */
lastEndDate: string;
/** Administrative areas covered */
adminAreas: AdminArea[];
/** Localities covered */
localities: Locality[];
/** Data quality score */
dqScore: string;
/** Data quality rating */
dqRag: DataQualityRating;
/** BODS compliance status */
bodsCompliance: boolean | null;
}
/**
* Response structure for timetable queries
*/
export type TimetableResponse = PaginatedResponse<Timetable>;
/**
* Parameters for searching timetables
*/
export interface TimetableSearchParams extends PaginationParams, DateRangeParams {
/** Administrative area codes to filter by */
adminArea?: string[];
/** National Operator Codes to filter by */
noc?: string[];
/** Search text for name, description, operator, or admin area */
search?: string;
/** Dataset status to filter by */
status?: DatasetStatus;
/** Filter by end date range */
endDateStart?: Date | string;
endDateEnd?: Date | string;
/** Filter by modification date */
modifiedDate?: Date | string;
/** Filter by start date range */
startDateStart?: Date | string;
startDateEnd?: Date | string;
/** Filter by data quality rating */
dqRag?: DataQualityRating;
/** Filter by BODS compliance */
bodsCompliance?: boolean;
}
//# sourceMappingURL=timetables.d.ts.map