New-CsOnlineSchedule

Use the New-CsOnlineSchedule cmdlet to create a new schedule.

Syntax

New-CsOnlineSchedule
   -Name <String>
   -WeeklyRecurrentSchedule
   [-MondayHours <List>]
   [-TuesdayHours <List>]
   [-WednesdayHours <List>]
   [-ThursdayHours <List>]
   [-FridayHours <List>]
   [-SaturdayHours <List>]
   [-SundayHours <List>]
   [-Complement]
   [-Tenant <Guid>]
   [-CommonParameters]
New-CsOnlineSchedule
   -Name <String>
   -FixedSchedule
   [-DateTimeRanges <List>]
   [-Tenant <Guid>]
   [-CommonParameters]

Description

The New-CsOnlineSchedule cmdlet creates a new schedule for the Auto Attendant (AA) service. The AA service uses schedules to conditionally execute call flows when a specific schedule is in effect.

NOTES:

  • The type of the schedule cannot be altered after the schedule is created.
  • Currently, only two types of schedules can be created: WeeklyRecurrentSchedule or FixedSchedule.
  • The schedule types are mutually exclusive. So a weekly recurrent schedule cannot be a fixed schedule and vice versa.
  • For a weekly recurrent schedule, at least one day should have time ranges specified.
  • You can create a new time range by using New-CsOnlineTimeRange cmdlet.
  • A fixed schedule can be created without any date-time ranges. In this case, it would never be in effect.
  • For a fixed schedule, at most 10 date-time ranges can be specified.
  • You can create a new date-time range for a fixed schedule by using the New-CsOnlineDateTimeRange cmdlet.
  • The return type of this cmdlet composes a member for the underlying type/implementation. For example, in case of the weekly recurrent schedule, you can modify Monday's time ranges through the Schedule.WeeklyRecurrentSchedule.MondayHours property. Similarly, date-time ranges of a fixed schedule can be modified by using the Schedule.FixedSchedule.DateTimeRanges property.
  • Schedules can then be used by New-CsAutoAttendantCallHandlingAssociation.

Examples

-------------------------- Example 1 --------------------------

$tr1 = New-CsOnlineTimeRange -Start 09:00 -End 12:00
$tr2 = New-CsOnlineTimeRange -Start 13:00 -End 17:00
$businessHours = New-CsOnlineSchedule -Name "Business Hours" -WeeklyRecurrentSchedule -MondayHours @($tr1, $tr2) -TuesdayHours @($tr1, $tr2) -WednesdayHours @($tr1, $tr2) -ThursdayHours @($tr1, $tr2) -FridayHours @($tr1, $tr2)

This example creates a weekly recurrent schedule that is active on Monday-Friday from 9AM-12PM and 1PM-5PM.

-------------------------- Example 2 --------------------------

$tr1 = New-CsOnlineTimeRange -Start 09:00 -End 12:00
$tr2 = New-CsOnlineTimeRange -Start 13:00 -End 17:00
$afterHours = New-CsOnlineSchedule -Name " After Hours" -WeeklyRecurrentSchedule -MondayHours @($tr1, $tr2) -TuesdayHours @($tr1, $tr2) -WednesdayHours @($tr1, $tr2) -ThursdayHours @($tr1, $tr2) -FridayHours @($tr1, $tr2) -Complement

This example creates a weekly recurrent schedule that is active at all times except Monday-Friday, 9AM-12PM and 1PM-5PM.

-------------------------- Example 3 --------------------------

$dtr = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017"
$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr)

This example creates a fixed schedule that is active from December 24, 2017 to December 26, 2017.

-------------------------- Example 4 --------------------------

$dtr1 = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017"
$dtr2 = New-CsOnlineDateTimeRange -Start "24/12/2018" -End "26/12/2018"
$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr1, $dtr2)

This example creates a fixed schedule that is active from December 24, 2017 to December 26, 2017 and then from December 24, 2018 to December 26, 2018.

-------------------------- Example 5 --------------------------

$notInEffectSchedule = New-CsOnlineSchedule -Name "NotInEffect" -FixedSchedule

This example creates a fixed schedule that is never active.

Parameters

-Complement

The Complement parameter indicates how the schedule is used. When Complement is enabled, the schedule is used as the inverse of the provided configuration. For example, if Complement is enabled and the schedule only contains time ranges of Monday to Friday from 9AM to 5PM, then the schedule is active at all times other than the specified time ranges.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-DateTimeRanges

List of date-time ranges for a fixed schedule. At most, 10 date-time ranges can be specified using this parameter.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-FixedSchedule

The FixedSchedule parameter indicates that a fixed schedule is to be created.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-FridayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-MondayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-Name

The Name parameter represents a unique friendly name for the schedule.

Type:System.String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-SaturdayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-SundayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-Tenant

Type:System.Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-ThursdayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-TuesdayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-WednesdayHours

List of time ranges for that day.

Type:System.Collections.Generic.List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

-WeeklyRecurrentSchedule

The WeeklyRecurrentSchedule parameter indicates that a weekly recurrent schedule is to be created. This parameter is mandatory when a weekly recurrent schedule is to be created.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Microsoft Teams

Inputs

None

Outputs

Microsoft.Rtc.Management.Hosted.Online.Models.Schedule