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 StationArrival { final int? stoppingTime; final DateTime time; final StationTrainArr train; const StationArrival({required this.stoppingTime, required this.time, required this.train,}); factory StationArrival.fromJson(Map json) => _$StationArrivalFromJson(json); Map toJson() => _$StationArrivalToJson(this); } @JsonSerializable() class StationDeparture { final int? stoppingTime; final DateTime time; final StationTrainDep train; const StationDeparture({required this.stoppingTime, required this.time, required this.train,}); factory StationDeparture.fromJson(Map json) => _$StationDepartureFromJson(json); Map toJson() => _$StationDepartureToJson(this); } @JsonSerializable() class StationTrainArr { final String rank; final String number; final String operator; final String origin; final List? route; StationTrainArr({required this.rank, required this.number, required this.operator, required this.origin, this.route,}); factory StationTrainArr.fromJson(Map json) => _$StationTrainArrFromJson(json); Map toJson() => _$StationTrainArrToJson(this); } @JsonSerializable() class StationTrainDep { final String rank; final String number; final String operator; final String destination; final List? route; StationTrainDep({required this.rank, required this.number, required this.operator, required this.destination, this.route,}); factory StationTrainDep.fromJson(Map json) => _$StationTrainDepFromJson(json); Map toJson() => _$StationTrainDepToJson(this); }