Howdy Charlie,
It is certainly possible to restrict access to the calendar from logged out users. This would require a small bit of PHP code, but we have a very solid example demonstrating how to do this.
If you want to hide specific event categories from logged out users:
https://gist.github.com/elimn/c47fb3e65d437c2479bd
If you wish to hide the entire calendar though then you could simply put all events in a shared private category, in addition to any other categories. Or to be really can you could do a modification of the calendar template using our Themer’s Guide . If the user is not logged in tell them they will need to register to view the calendar. Something like this example would do:
if ( ! is_logged_in() ) { echo "Please register to view the calendar"; } else { ... }
Does that all make sense and answer your question? Will that work for you? Please let me know.
Cheers!
– Brook