This is more of a general question on design approach rather than a specific programming challenge. We have a business need to schedule resources, but to reduce travel costs we need to be able to schedule resources for a customer's appointment that are geographically close. These appointments are typically in the customer's home and not at a designated site.
The process for doing the geolocation is to take the customer's location and chosen service activty, find all resources that have availability during that time frame and then rank them in order of proximity based on their previous appointment location.
That is all well and good, but the problem I have is where do I insert this logic? Would it be during the "Book" message on the Service Appointment entity through a plugin? How would this appear to the end user? Do I have to simiulate the Service Calendar functionality in a custom aspx page to accomplish this instead?
Is there a better way of doing this?