import 'package:json_annotation/json_annotation.dart'; part 'station_data.g.dart'; @JsonSerializable() class StationData { final String date; final String stationName; final List? arrivals; final List? departures; const StationData({required this.date, required this.stationName, required this.arrivals, required this.departures}); factory StationData.fromJson(Map json) => _$StationDataFromJson(json); Map toJson() => _$StationDataToJson(this); } @JsonSerializable() class StationArrDep { final int? stoppingTime; final DateTime time; final StationTrain train; final StationStatus status; const StationArrDep({required this.stoppingTime, required this.time, required this.train, required this.status,}); factory StationArrDep.fromJson(Map json) => _$StationArrDepFromJson(json); Map toJson() => _$StationArrDepToJson(this); } @JsonSerializable() class StationTrain { final String rank; final String number; final String operator; final String terminus; final List? route; final DateTime departureDate; StationTrain({ required this.rank, required this.number, required this.operator, required this.terminus, this.route, required this.departureDate, }); factory StationTrain.fromJson(Map json) => _$StationTrainFromJson(json); Map toJson() => _$StationTrainToJson(this); } @JsonSerializable() class StationStatus { final int delay; final bool real; final bool cancelled; final String? platform; StationStatus({required this.delay, required this.real, required this.cancelled, required this.platform}); factory StationStatus.fromJson(Map json) => _$StationStatusFromJson(json); Map toJson() => _$StationStatusToJson(this); }