Thanks for getting in touch. We had a think about this, and our suggestion is using a custom script step. Make it the first step in the process and have it check for that time window and fail if the deployment if it’s not in the acceptable time window. The error the step throws will state this deployment should not have been run now.
Just be sure to factor in the timezone for the script step running on Octopus Server in relation to the time zone for the non-deploy-time-window.
Let us know how you go, if this is an ok approach. We have ideas for making it a first class feature in Octopus, but that feature work is not scheduled yet.