package com.baeldung.timefoldsolver; import java.util.List; import ai.timefold.solver.core.api.domain.solution.PlanningEntityCollectionProperty; import ai.timefold.solver.core.api.domain.solution.PlanningScore; import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; @PlanningSolution public class ShiftSchedule { @ValueRangeProvider private List employees; @PlanningEntityCollectionProperty private List shifts; @PlanningScore private HardSoftScore score; // A no-arg constructor is required for @PlanningSolution annotated classes public ShiftSchedule() { } public ShiftSchedule(List employees, List shifts) { this.employees = employees; this.shifts = shifts; } public List getEmployees() { return employees; } public List getShifts() { return shifts; } public HardSoftScore getScore() { return score; } }