• Then add my hols and weekends to get the new end date it just feels like this might be an endless cycle to get the eventual end date.

    What exactly you have implemented can you share us the code?