I'll give a concrete and simple example to show what I'm talking about.
We have two types of appointments (entity name "serviceappointment") - "Phone Call" and "In-person". Phone calls require that only the person taking the call be available, while in-person need a person and a room. We set up two services (entity name "service"), and set the selection rules for phone calls to require 1 person, and for in-person meetings to require 1 person and 1 room (which is a facility resource). Simple enough.
All rooms are more or less identical, so we don't want to pick a specific room, we just want to see what's available and when.
Now, when I'm scheduling a new appointment, everything works exactly as you'd expect. Let's say I want to do an in-person meeting, so I pick the person I want, open the scheduler, and click on "find available times". It will go and show me available times for every room and I can pick the room and time I want.
However, let's say I first schedule a phone call (requires only a person), save the appointment and then come back to it and decide that I actually want to do an in-person. I change the service to "in-person", but clicking on "find available times" does nothing. I have to open the resource lookup and change something for it to work again. I can, for example, remove the person and add them right back, and it will work. Or I can add a room and remove it, and it will also work. I don't even have to leave the lookup window, just add and remove. But if I close the scheduler form without picking a time and come back to it, it will break until I mess around with the resources again.
It seems like the resources field and the associated selection rules aren't being updated properly when I change the service type, even if I save my appointment with the new service, and I have to manually trigger this update by messing around with the resources field. Am I doing something wrong or is this an actual bug?