A simple preference balancing method
Preferences should shape the schedule, but they cannot override what the operation needs. Legal limits, required skills, opening hours, and minimum staffing are constraints, they come first. Preferred days, start times, and coworkers are preferences, they fit in around the constraints.
Once the two are clearly separated, you make tradeoffs against a known set of rules instead of renegotiating every shift from scratch.
Lock legal and contractual rules first
Fill minimum staffing and required skills
Honor availability before soft preferences
Spread denied preferences across the team
Review preference fairness over several schedules