Limit Appointments+ Locations by Membership

I would like to limit which locations a user sees depending on which membership they have purchased.

The best way I can think to manage this is to use the [ms-protect-content] shortcode, but that would require inventive use of service providers/locations/services. It would also wouldn't bar users from scheduling appointments should they gain access to a full list.

Any idea on the best way to go about fulfilling this requirement?