import 'package:freezed_annotation/freezed_annotation.dart'; part 'preferences.freezed.dart'; part 'preferences.g.dart'; @freezed abstract class Preferences with _$Preferences { const factory Preferences({ /// Scores keyed by preference type (e.g. 'sightseeing', 'shopping', 'nature') required Map scores, /// Maximum trip duration in minutes required int maxTimeMinutes, /// Required start location [lat, lon] required List startLocation, /// Optional end location List? endLocation, /// Optional detour tolerance in minutes int? detourToleranceMinutes, }) = _Preferences; factory Preferences.fromJson(Map json) => _$PreferencesFromJson(json); }