// ──────────────────────────────────────────────────────────────────────── // ride_stop_model.dart // ──────────────────────────────────────────────────────────────────────── import '../config/constants/date_utils.dart'; class RideStopDto { final int id; final String stopLocation; final int plannedStopDurationMinutes; final int? actualStopDurationMinutes; final double additionalCharges; final DateTime? stopStartTime; final DateTime? stopEndTime; final DateTime? timestamp; RideStopDto({ required this.id, required this.stopLocation, required this.plannedStopDurationMinutes, this.actualStopDurationMinutes, required this.additionalCharges, required this.stopStartTime, required this.stopEndTime, required this.timestamp, }); factory RideStopDto.fromJson(Map json) => RideStopDto( id: json['id'] as int, stopLocation: json['stopLocation'] as String? ?? json['stoplocation'] as String, plannedStopDurationMinutes: (json['plannedStopDurationMinutes'] ?? json['plannedstopdurationminutes']) as int, actualStopDurationMinutes: (json['actualStopDurationMinutes'] ?? json['actualstopdurationminutes']) as int?, additionalCharges: (json['additionalCharges'] ?? json['additionalcharges'] as num) .toDouble(), stopStartTime: parseDate(json['stopStartTime'] ?? json['stopstarttime']), stopEndTime: parseDate(json['stopEndTime'] ?? json['stopendtime']), timestamp: parseDate(json['timestamp']), ); Map toJson() => { 'id': id, 'stopLocation': stopLocation, 'plannedStopDurationMinutes': plannedStopDurationMinutes, 'actualStopDurationMinutes': actualStopDurationMinutes, 'additionalCharges': additionalCharges, 'stopStartTime': formatDate(stopStartTime), 'stopEndTime': formatDate(stopEndTime), 'timestamp': formatDate(timestamp), }; @override String toString() { return 'RideStopDto{id: $id, stopLocation: $stopLocation, plannedStopDurationMinutes: $plannedStopDurationMinutes, actualStopDurationMinutes: $actualStopDurationMinutes, additionalCharges: $additionalCharges, stopStartTime: $stopStartTime, stopEndTime: $stopEndTime, timestamp: $timestamp}'; } }