Have a "wizard" to match students with available plane and CFI.
One a student has flow several training flights there is data to establish what they "normally" fly. So a student pilot has flown the C172N four times and the C172M once, three lessons with CFI Bob and one with CFI Karen. They have booked reservations on weekday afternoons and Saturdays. That student probably wants to know anytime a C172M or N model is available for 2 or 3 hours and Bob or Karen are also available. They probably don't care about flying with 310 with the chief flight instructor.
Until patterns are established, default priorities or custom set priorities could be used. Try to fly the same plane as last time with the same instructor for example.
When a part time CFI establishes "time on" it could trigger the "wizard" to look for patterns and encourage the student to book. Behind the scenes, preferences could be set by customers, flight school management and CFIs to adjust the desired days, times, models and durations of flights and how often and how far into the future the "wizard" algorithm would run. A flight school dispatcher could approve the individual emails or they could be auto-dispatched.
Imagine how cool if would be for a student to see an email "Want to fly with Bob in the 172N Friday 4PM to 7PM?"
There would be benefits to just a simple wizard. A more advanced one that balanced multiple priorities would be even better but more complicated to code. Students and CFIs should be able to opt in or out of wizard suggestions as well.