There are a few ways to manage user schedules from the client. The first is to use the Schedule Management component on a window. This component allows you to quickly and easily manage the schedules from the client.
For more granular control, you may instead want to use scripting to manage the schedules. This may offer a more granular control at the click of a button.
# This code creates a new schedule by using an old schedule but setting observe holidays to true. mySchedule = system.user.getSchedule("WeeklySchedule") if mySchedule != None and mySchedule.getType() == "basic schedule": mySchedule.setObserveHolidays(True) mySchedule.setName("NewWeeklySchedule") system.user.addSchedule(mySchedule)
The alarm notification system always uses the Schedules. When an alarm notification pipeline reaches a notification block, it looks at all of the users defined in that block's configured on-call roster. Only those users whose schedules are currently active will be notified. This way, you can group people in call rosters by role, not by shift. For example, suppose you have alarms that should be sent to all supervisors. You can put all of the supervisors in one call roster, and the scheduling system will automatically only notify those supervisors who are on-shift when the alarm goes active.
You can use Schedules to restrict users' ability to log in. To enable this, select the Schedule Restricted option on the user source in question. That user source will then reject logins for users whose schedule is inactive, even if their credentials were accurate.