reworked opening hours calculation to account for overlapping time ranges (i.e. [8:00,11:00],[11:00,14:00])