diff --git a/config/timetable/file/ZTR.ts b/config/timetable/file/ZTR.ts index 08fa740..46fc7bf 100644 --- a/config/timetable/file/ZTR.ts +++ b/config/timetable/file/ZTR.ts @@ -1,5 +1,5 @@ -import {RecordWithManualIdentifier} from "../../../src/feed/record/FixedWidthRecord"; +import {FixedWidthRecord, RecordWithManualIdentifier} from "../../../src/feed/record/FixedWidthRecord"; import {TextField, VariableLengthText} from "../../../src/feed/field/TextField"; import {MultiRecordFile} from "../../../src/feed/file/MultiRecordFile"; import {BooleanField} from "../../../src/feed/field/BooleanField"; @@ -45,6 +45,17 @@ const schedule = new RecordWithManualIdentifier( ["runs_from"] ); +export const extraDetails = new FixedWidthRecord( + "z_schedule_extra", + [], { + "schedule": new ForeignKeyField(schedule), + "atoc_code": new TextField(11, 2, true), + }, + ["schedule"] +); + + + const stopRecordTypes = { "LO": { "z_schedule": new ForeignKeyField(schedule), @@ -110,6 +121,7 @@ const stop = new MultiFormatRecord( const ZTR = new MultiRecordFile({ "BS": schedule, + "BX": extraDetails, "LO": stop, "LI": stop, "LT": stop diff --git a/src/gtfs/repository/CIFRepository.ts b/src/gtfs/repository/CIFRepository.ts index 72a16bb..bd5f460 100644 --- a/src/gtfs/repository/CIFRepository.ts +++ b/src/gtfs/repository/CIFRepository.ts @@ -107,8 +107,9 @@ export class CIFRepository { monday, tuesday, wednesday, thursday, friday, saturday, sunday, stp_indicator, location AS crs_code, train_category, public_arrival_time, public_departure_time, scheduled_arrival_time, scheduled_departure_time, - platform, NULL AS atoc_code, z_stop_time.id AS stop_id, activity, NULL AS reservations, "S" AS train_class + platform, atoc_code, z_stop_time.id AS stop_id, activity, NULL AS reservations, "S" AS train_class FROM z_schedule + LEFT JOIN z_schedule_extra ON z_schedule.id = z_schedule_extra.schedule JOIN z_stop_time ON z_schedule.id = z_stop_time.z_schedule WHERE runs_from < CURDATE() + INTERVAL 3 MONTH AND runs_to >= CURDATE()