def duration_outside_nwh(
            self,
            starttime: datetime.time = datetime.time(NORMAL_DAY_START_H),
            endtime: datetime.time = datetime.time(NORMAL_DAY_END_H)) \
            -> datetime.timedelta:
        """
        Returns the total duration outside normal working hours, i.e.
        evenings/nights, weekends (and Bank Holidays).
        """
        total = datetime.timedelta()
        for interval in self.intervals:
            total += interval.duration_outside_nwh(starttime, endtime)
        return total
Returns the total duration outside normal working hours, i.e.
        evenings/nights, weekends (and Bank Holidays).