A common problem that distribution utilities grapple with is planning crew levels on a day-to-day basis, especially in the face of large weather events, while accounting for complex business constraints. This paper proposes a method for optimally planning hourly crew staffing levels across different organizations (service centers, local contractors, mutual aid crews) and different crew types. The goal is to estimate these staffing levels over different shifts on a time range of days, in a way as to optimize the overall Estimated Time to Restoration (ETR) while maximizing crew efficiency, and honoring business constraints such as labor rules, organizational structure, business processes and public safety. The proposed method uses a constraint programming based task scheduling to capture these complex business constraints and objectives, and solve for an optimal solution. The paper demonstrates how this crewplanning tool can be used for what-if scenario analysis to evaluate different escalation scenarios and aid in decisionmaking.