Agent working hours

Agent working hours

Hi,
I know it is possible to set company business hours but is it possible so that agents can have different ones?
I.e. some agents cover later hours on specific weeks - can these be set so those agents that are "working" get notified about tickets etc. 
Further to this, is it possible to send out an email to a customer if they send a ticket outside of business hours that someone will respond when back online?

Thanks