Events (and templates) set with a Duration
(not a start date and end date) can be automatically resized based on the working hours of a tagged resource so the duration is maintained.
For example, if a person, machine or room is not available over weekends, then an event with a 2 day duration starting Friday will be resized to end on Monday skipping the weekend days as it excludes the non working days. Moving the same event to start Thursday will allow it to auto resize back to 2 visible days ending Friday. The events working duration is always 2 days.
If its possible that the working hours requirement may change depending on what you are planning, then you can create a resource called 'Hours Full', 'Hours with No Weekends', 'Hours 9to5' and each can have a different set of working hours. Then in the event you can tag which should be used to auto resize the event.
Working hours can be set in each resource and there you can also enable the option to automatically resize events save with a required duration. Dragging to Resize
In most views you can grab the start or end of an event and drag it to change its duration. If you extend an event with a fixed duration from 5pm on day 1, to 5pm on day 2, you have added 24 new working hours to the event. If the tagged resource only works 8 hours per day, auto resize will extend the original event by 3 days so your new additional 24 hours are shown correctly.Note
If you have multiple resources tagged in an event, each with a different set of working hours and auto resize enabled, the event has no way to know which resource has preference for the working time so the save will not be possible.
The duration/end date is saved within the event. Changing the working hours of a resource after events are already added will not update these events until they are opened and saved. This prevents historical events being automatically changed if a persons future working hours are modified.