Appointments+ Location/Provider selection

Not sure if I am setting things up correctly or not.

Here is an example of what I want to do:

I have 2 locations L1 & L2.

I have 2 services S1 & S2. All services can be done in both locations.

I have 4 providers P1, P2, P3, & P4. All providers can do all services, but P1 & P2 are only in L1 and P3 & P4 are only in L2.

When the new page loads the fields should have:

Services
- S1 (displayed)
- S2

Locations
- L1 (default selected)
- L2

Providers (only showing L1 providers as default)
- P1
- P2

2 - If user selects service S2, no change in location or provider.
3 - If user changes to location L2, no change in service, list of providers changes to:
Provider
- P3
- P4

Currently, using the [app_required_provider_locations], works, in a way, but after a location is selected and the provider list is shown, the user cannot change location again if needed.

I would basically like the page to load with a default location + those providers only. Then the user can change the location or provider as they like any time.

How can this be done?