from our business needs, and with our experience with different type of campaigns, i would suggest to add schedule parameter to a campaign object. Currently the campaign object has hours and working days, and can have refrance to schedule template which can hold dates.
i think it should be much easier and convenient to switch it:
schedule template define working hours + optional dates
but basic campaign "Active Period" must have date option as well.
the Opening hours rule should provision the campaign date to keep the SYSTEM running as we want. which i think it alredy does.
Customer support service by UserEcho