Difference answer messages at different times

I would like to set asterisk to automatically answer incoming calls from a line at specified times with different messages, for example,

Answer calls with message “We are closed…” each night from 5.30 to the following morning at 9am, then closed from 1pm on Fridays through to Monday at 9am.
And also to answer calls with message “we are on lunch…” between 1pm to 2pm Monday to Thrusday.

Can this be done? and if so how (would it be using queues rather than voicemail)? I’m quite new to asterisk to any help would be appreciated.

Have a look at the GotoIfTime function voip-info.org/wiki-Asterisk+cmd+GotoIfTime. This will do exactly what you want.