I have been using The Scheduling Manager software from Thoughtful Systems and it has been great! It includes scheduling, customer info, accounting, mapping.