Recurring Schedules and Additional Service Provider Parameters

This is a two part question.

First, we need to have the ability for the system to handle recurring appointments (i.e. users select service frequency – weekly, bi-weekly, etc. on the form presiding the appt. calendar). App.+ will then need to search for service providers available on the first appt. and all future appts. matching that initial time before allowing the provider to be chosen and the initial service time shown to the user.

Second, we need to add an additional parameter for service providers (location). Our service travels to users and therefore providers are booked first on if they are located near the customer and after that searched by availability. So we need a way when adding service providers to add an address or a zip code of the provider that we can then search against with the info the user enters at booking time.

I am assume these changes are custom. Has anyone tried to do these things in the past? How difficult is to make happen, any words of advice? I wanted to make sure I am not missing something before making more custom changes to the plugin.

Thank you,

Jon