class Partner {
const Partner({
required this.id,
required this.title,
required this.latitude,
required this.longitude,
this.imageUrl,
this.galleryUrls = const [],
this.partnerType,
this.status,
this.sponsored = false,
this.priority = 0,
this.shortDescription,
this.description,
this.address,
this.openingHours,
this.websiteUrl,
this.bookingUrl,
this.cuisine,
this.priceLevel,
this.dayparts = const [],
this.maxDetourMinutes,
this.goodForShortBreak = false,
this.goodForTourEnd = false,
this.couponActive = false,
this.couponCode,
this.couponText,
this.preferredTourIds = const [],
});
final String id;
final String title;
final double latitude;
final double longitude;
/// Featured Image from WordPress.
final String? imageUrl;
/// Additional ACF gallery images.
final List<String> galleryUrls;
final String? partnerType;
final String? status;
final bool sponsored;
final int priority;
final String? shortDescription;
final String? description;
final String? address;
final String? openingHours;
final String? websiteUrl;
final String? bookingUrl;
final String? cuisine;
final String? priceLevel;
final List<String> dayparts;
final int? maxDetourMinutes;
final bool goodForShortBreak;
final bool goodForTourEnd;
final bool couponActive;
final String? couponCode;
final String? couponText;
final List<String> preferredTourIds;
bool get hasActionUrl =>
bookingUrl?.trim().isNotEmpty == true ||
websiteUrl?.trim().isNotEmpty == true;
String? get actionUrl =>
bookingUrl?.trim().isNotEmpty == true ? bookingUrl : websiteUrl;
bool get hasGallery => galleryUrls.isNotEmpty;
}

