class Lesson {
String? id; // lessonId
String? baseLessonID; // reference to the original lesson's id
String? playId; // for lesson started
String? planId; // for lesson started from lesson plan
String? planPlayId; // for lesson started from lesson plan
GENERAL_STATUS status;
String imageUrl;
String? thumbImageUrl;
Localizable? title;
Localizable? description;
List<String>? videoURLs;
Localizable? subtitleUrl;
int duration;
String? intensity;
WORKOUT_ALGORITHM algorithm;
List<SessionConfig> sessions;
GROUP_INTENSITY? groupByIntensity;
List<GROUP_STYLE> groupByStyles;
List<GROUP_TYPE> groupByTypes;
List<GROUP_MUSCLE> groupByMuscles;
List<GROUP_GOAL> groupByGoals;
List<GROUP_EQUIPMENT> groupByEquipments;
List<GROUP_TRAINER> groupByTrainers;
bool? requiredWarmup;
bool? requiredCooldown;
List<Lesson>? relatedLessons;
// stats
final int? totalViews;
final int? totalPlays;
final int? totalCompletions;
final DateTime? lastViewed;
final DateTime? lastPlayed;
final DateTime? lastCompleted;
}