Notifications and Time Periods

What is the best way to have emails go at a certain time and pages go out for the same service but a different time.
Example:
Say this is for all the same services
I want emails to go out 24x7 but pages to go out only from 7am to 7pm.

Right now I have the service send notifications 24x7, then two different groups of contacts for the same people one group for emails and the other for pages which only does 7am to 7pm.

This works but is there an easier way to do it because I have lots of different hosts and services that need notifications sent to different contact groups at different times.

Define different contacts for pagers/sms and for emails (that would be for the same person two different contact definitions, one for email, other one for pager/sms). That way you can accomplish your request. When you define contact for pages (I assumed you mean pagers/sms), you can define different time_period for them.
Example:
define contact{
contact_name contact_name_email
alias alias
host_notification_period 24x7
service_notification_period 24x7
host_notification_options [d,u,r,f,n]
service_notification_options [w,u,c,r,f,n]
host_notification_commands command_name
service_notification_commands command_name
email email_address
}
define contact{
contact_name contact_name_pager
alias alias
host_notification_period 7am-7pm
service_notification_period 7am-7pm
host_notification_options [d,u,r,f,n]
service_notification_options [w,u,c,r,f,n]
host_notification_commands command_name
service_notification_commands command_name
pager pager_number or pager_email_gateway
}

Then put them in groups (again two different groups, one for email, the other one for pagers/sms). Asign those contactgroups to host and services.

That is what I have done so far.

I don’t see easier way to do this. Sorry, If i think of something better I will let you know.