Tutoring Staff Subject Filtering

Hi all,
I’m a tutoring agency looking at Wix Bookings as a Calendly alternative now that it has all this new functionality. My main sticking point is that the only way to deal with dozens of tutors teaching hundreds of subjects at several levels is to create a separate appointment type for each possible subject/level combination. This is quite onerous. What I really want is for a user to be able to input the subject and level they are looking for (say AP physics, graduate polisci, or middle school math) and get a list of tutors who are tagged with that subject-level combination. Can anyone think of a way to do this with Velo code?
My ideas so far:

  1. Create a collection for subjects and one for levels, and have reference fields in the staff collection associating each subject and level with various staff members. Would that work?
  2. Connect these fields to services collection as well via a form field the user can select from a dropdown of services and levels (but this page makes it seem like the form fields on a service can’t connect to data…)
  3. When the user fills out a booking form, they should be able to select subject and level from the abovementioned dropdowns, and when they submit the form Wix should filter a staff repeater by that subject and level.
  4. Even better would be an option to book any staff member available for the desired subject, level and time parameters, mimicing Calendly’s Round Robin functionality. No clue how this would work in Wix though.