Trent - Unfortunately it doesn't look like a quarter-hour end/start time is possible. I initially thought that you may be able to do this in PowerShell (that the GUI didn't expose 15 minute increments), but the cmdlet used for the time range (https://docs.microsoft.com/en-us/powershell/module/skype/new-csonlinetimerange?view=skype-ps) is hard-coded for 30/60 minute intervals:
NOTE
- The start bound of the range must be less than its end bound.
- A time range must be aligned with 30/60-minutes boundaries.
- A time range can span from one minute to 24 hours.
I think in this scenario, you are better off to set the end time as 5 PM and not 5:30. IMHO, it's better (and less maddening) for someone to try and call at 5:05 PM and get a "closed message" than have someone try to call at 5:20 and sit endlessly in a Call Queue because no-one is around to answer. In the latter scenario (Call Queue), you could take advantage of the queue timeout and forward the call back to your lead auto attendant. However, you would need to cautious with the timeout value....you cannot make it too low - especially if that same Call Queue is used for your business hours operation, which likely could not handle a significantly low value, such as 30 seconds.