Topic Last Modified: 2010-12-14

Workflows identify when the response group is available to take calls and how to handle calls that are made when the response group is not available. Before you configure your workflows, you can define your business hours and holidays. Then when you configure a workflow, you just apply the business hours and holidays that you defined in advance to the workflow.

Note:
To apply holidays to a workflow, you must predefine at least one set of holidays. To apply business hours to a workflow, you can either predefine the business hours, or you can create custom business hours. Custom business hours, however, apply only to a specific workflow and cannot be reused for other workflows. You create custom business hours at the time you configure the workflow.
Note:
You do not need to predefine business hours if your response group is always open or if you use only custom business hours.

Defining Business Hours

Business hours define the days of the week and the hours of a day that the response group is normally available to take calls. A business hours collection consists of the ranges of times for each day of the week that a response group is available. For example, a response group might be available from 8:00 A.M. to 4:00 P.M. on weekdays and from 9:00 A.M. to 12:00 P.M. and again from 1:00 P.M. to 5:00 P.M. on weekends.

To define business hour collections, you must use the New-CsRgsTimeRange and New-CsRgsHoursOfBusiness cmdlets. The New-CsRgsTimeRange cmdlet defines opening and closing hours, and the New-CsRgsHoursOfBusiness cmdlet identifies which opening and closing hours apply to each day of the week (the business hours collection). For details about using these cmdlets, see the Lync Server Management Shell documentation or Lync Server Management Shell command-line Help.

Important:
Express time for parameters in these cmdlets as 24-hour time notation (for example, 20:00=8:00 P.M.).

To create a business hours collection

  1. Log on as a member of the RTCUniversalServerAdmins group, or as a member of one of the predefined administrative roles that support Response Group. If you are not logged on as a member of one of these roles, you are prompted for alternate credentials.

  2. Start the Lync Server Management Shell: Click Start, click All Programs, click Microsoft Lync Server 2010, and then click Lync Server Management Shell.

  3. For each unique range of hours you want to define, run:

    Copy Code
    $x = New-CsRgsTimeRange [-Name <name of time range>] `
    -OpenTime <time when business hours begin> `
    -CloseTime <time when business hours end>
    

    To create the business hours collection that uses the ranges you defined, run:

    Copy Code
    New-CsRgsHoursOfBusiness -Parent <service where the workflow is hosted> `
    -Name <unique name for collection> `
    [-MondayHours1 <first set of opening and closing times for Monday>] `
    [-MondayHours2 <second set of opening and closing times for Monday>] `
    [-TuesdayHours1 <first set of opening and closing times for Tuesday>] `
    [-TuesdayHours2 <second set of opening and closing times for Tuesday>] `
    [-WednesdayHours1 <first set of opening and closing times for Wednesday>] `
    [-WednesdayHours2 <second set of opening and closing times for Wednesday>] `
    [-ThursdayHours1 <first set of opening and closing times for Thursday>] `
    [-ThursdayHours2 <second set of opening and closing times for Thursday>] `
    [-FridayHours1 <first set of opening and closing times for Friday>] `
    [-FridayHours2 <second set of opening and closing times for Friday>] `
    [-SaturdayHours1 <first set of opening and closing times for Saturday>] `
    [-SaturdayHours2 <second set of opening and closing times for Saturday>] `
    [-SundayHours1 <first set of opening and closing times for Sunday>] `
    [-SundayHours2 <second set of opening and closing times for Sunday>]
    

    The following example specifies business hours of 9:00 A.M. to 5:00 P.M. for weekdays, 8:00 A.M. to 10:00 A.M. and again from 2:00 P.M. to 6:00 P.M. for Saturdays, and no business hours for Sundays:

    Copy Code
    $a = NewRgsTimeRange -Name "Weekday Hours" `
    -OpenTime "9:00" -CloseTime "17:00"
    $b = NewRgsTimeRange -Name "Saturday Morning Hours" `
    -OpenTime "8:00" -CloseTime "10:00"
    $c = NewRgsTimeRange -Name "Saturday Afternoon Hours" `
    -OpenTime "14:00" -CloseTime "18:00"
    New-CsRgsHoursOfBusiness -Parent "ApplicationServer:Redmond.contoso.com" `
    -Name "Help Desk Business Hours" `
    -MondayHours1 $a `
    -TuesdayHours1 $a `
    -WednesdayHours1 $a `
    -ThursdayHours1 $a `
    -FridayHours1 $a `
    -SaturdayHours1 $b `
    -SaturdayHours2 $c
    

Defining Holidays

Holidays define the days that agents will not be working and, therefore, are not available to take calls. Holiday sets are collections of holidays. For example, the national/regional holidays for year 2011 might be a holiday set. Multiple holiday sets can apply to a workflow. For example, you might define a set of national/regional holidays for the calendar year, another set of holidays for company days off, and another set of holidays for team events. Any combination of the holiday sets can apply to a workflow.

To define holidays and holiday sets, you must use the New-CsRgsHoliday and New-CsRgsHolidaySet cmdlets. The New-CsRgsHoliday cmdlet defines individual holidays, and the New-CsRgsHolidaySet cmdlet identifies which holidays are in a holiday set. For more details about these cmdlets, see the Lync Server Management Shell documentation.

To create a holiday set

  1. Log on as a member of the RTCUniversalServerAdmins group, or as a member of one of the predefined administrative roles that support Response Group. If you are not logged on as a member of one of these roles, you are prompted for alternate credentials.

  2. Start the Lync Server Management Shell: Click Start, click All Programs, click Microsoft Lync Server 2010, and then click Lync Server Management Shell.

  3. For each holiday you want to define, run:

    Copy Code
    $x = New-CsRgsHoliday [-Name <holiday name>] `
    -StartDate <starting date of holiday> -EndDate <ending date of holiday>
    

    To create the holiday set that contains the holidays you defined, run:

    Copy Code
    New-CsRgsHolidaySet -Parent <service where the workflow is hosted> `
    -Name <unique name for holiday set> `
    -HolidayList <one or more holidays to be included in the holiday set>
    

    The following example shows a holiday set that includes two holidays:

    Copy Code
    $a = New-CsRgsHoliday -Name "New Year's Day" -StartDate "1/1/2011" -EndDate "1/2/2011"
    $b = New-CsRgsHoliday -Name "Independence Day" -StartDate "7/4/2011" -EndDate "7/4/2011"
    New-CsRgsHolidaySet -Parent "ApplicationServer:Redmond.contoso.com `
    -Name "2011 Holidays" -HolidayList ($a $b)