/// <summary> /// Initializes a new instance of the <see cref="WorkPlanShift" /> class. /// </summary> /// <param name="Name">Name of the shift (required).</param> /// <param name="Days">Days of the week applicable for this shift.</param> /// <param name="FlexibleStartTime">Whether the start time of the shift is flexible.</param> /// <param name="ExactStartTimeMinutesFromMidnight">Exact start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == false.</param> /// <param name="EarliestStartTimeMinutesFromMidnight">Earliest start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == true.</param> /// <param name="LatestStartTimeMinutesFromMidnight">Latest start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == true.</param> /// <param name="ConstrainStopTime">Whether the latest stop time constraint for the shift is enabled. Deprecated, use constrainLatestStopTime instead.</param> /// <param name="ConstrainLatestStopTime">Whether the latest stop time constraint for the shift is enabled.</param> /// <param name="LatestStopTimeMinutesFromMidnight">Latest stop time of the shift defined as offset minutes from midnight. Used if constrainStopTime == true.</param> /// <param name="ConstrainEarliestStopTime">Whether the earliest stop time constraint for the shift is enabled.</param> /// <param name="EarliestStopTimeMinutesFromMidnight">This is the earliest time a shift can end.</param> /// <param name="StartIncrementMinutes">Increment in offset minutes that would contribute to different possible start times for the shift. Used if flexibleStartTime == true.</param> /// <param name="FlexiblePaidTime">Whether the paid time setting for the shift is flexible.</param> /// <param name="ExactPaidTimeMinutes">Exact paid time in minutes configured for the shift. Used if flexiblePaidTime == false.</param> /// <param name="MinimumPaidTimeMinutes">Minimum paid time in minutes configured for the shift. Used if flexiblePaidTime == true.</param> /// <param name="MaximumPaidTimeMinutes">Maximum paid time in minutes configured for the shift. Used if flexiblePaidTime == true.</param> /// <param name="ConstrainContiguousWorkTime">Whether the contiguous time constraint for the shift is enabled.</param> /// <param name="MinimumContiguousWorkTimeMinutes">Minimum contiguous time in minutes configured for the shift. Used if constrainContiguousWorkTime == true.</param> /// <param name="MaximumContiguousWorkTimeMinutes">Maximum contiguous time in minutes configured for the shift. Used if constrainContiguousWorkTime == true.</param> /// <param name="ConstrainDayOff">Whether day off rule is enabled.</param> /// <param name="DayOffRule">The day off rule for agents to have next day off or previous day off. used if constrainDayOff = true.</param> /// <param name="Activities">Activities configured for this shift.</param> /// <param name="Id">ID of the shift. This is required only for the case of updating an existing shift.</param> /// <param name="Delete">If marked true for updating an existing shift, the shift will be permanently deleted.</param> /// <param name="ValidationId">ID of shift in the context of work plan validation.</param> public WorkPlanShift(string Name = null, SetWrapperDayOfWeek Days = null, bool?FlexibleStartTime = null, int?ExactStartTimeMinutesFromMidnight = null, int?EarliestStartTimeMinutesFromMidnight = null, int?LatestStartTimeMinutesFromMidnight = null, bool?ConstrainStopTime = null, bool?ConstrainLatestStopTime = null, int?LatestStopTimeMinutesFromMidnight = null, bool?ConstrainEarliestStopTime = null, int?EarliestStopTimeMinutesFromMidnight = null, int?StartIncrementMinutes = null, bool?FlexiblePaidTime = null, int?ExactPaidTimeMinutes = null, int?MinimumPaidTimeMinutes = null, int?MaximumPaidTimeMinutes = null, bool?ConstrainContiguousWorkTime = null, int?MinimumContiguousWorkTimeMinutes = null, int?MaximumContiguousWorkTimeMinutes = null, bool?ConstrainDayOff = null, DayOffRuleEnum?DayOffRule = null, List <WorkPlanActivity> Activities = null, string Id = null, bool?Delete = null, string ValidationId = null) { this.Name = Name; this.Days = Days; this.FlexibleStartTime = FlexibleStartTime; this.ExactStartTimeMinutesFromMidnight = ExactStartTimeMinutesFromMidnight; this.EarliestStartTimeMinutesFromMidnight = EarliestStartTimeMinutesFromMidnight; this.LatestStartTimeMinutesFromMidnight = LatestStartTimeMinutesFromMidnight; this.ConstrainStopTime = ConstrainStopTime; this.ConstrainLatestStopTime = ConstrainLatestStopTime; this.LatestStopTimeMinutesFromMidnight = LatestStopTimeMinutesFromMidnight; this.ConstrainEarliestStopTime = ConstrainEarliestStopTime; this.EarliestStopTimeMinutesFromMidnight = EarliestStopTimeMinutesFromMidnight; this.StartIncrementMinutes = StartIncrementMinutes; this.FlexiblePaidTime = FlexiblePaidTime; this.ExactPaidTimeMinutes = ExactPaidTimeMinutes; this.MinimumPaidTimeMinutes = MinimumPaidTimeMinutes; this.MaximumPaidTimeMinutes = MaximumPaidTimeMinutes; this.ConstrainContiguousWorkTime = ConstrainContiguousWorkTime; this.MinimumContiguousWorkTimeMinutes = MinimumContiguousWorkTimeMinutes; this.MaximumContiguousWorkTimeMinutes = MaximumContiguousWorkTimeMinutes; this.ConstrainDayOff = ConstrainDayOff; this.DayOffRule = DayOffRule; this.Activities = Activities; this.Id = Id; this.Delete = Delete; this.ValidationId = ValidationId; }
/// <summary> /// Initializes a new instance of the <see cref="CreateWorkPlanShift" /> class. /// </summary> /// <param name="Name">Name of the shift (required).</param> /// <param name="Days">Days of the week applicable for this shift.</param> /// <param name="FlexibleStartTime">Whether the start time of the shift is flexible.</param> /// <param name="ExactStartTimeMinutesFromMidnight">Exact start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == false.</param> /// <param name="EarliestStartTimeMinutesFromMidnight">Earliest start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == true.</param> /// <param name="LatestStartTimeMinutesFromMidnight">Latest start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == true.</param> /// <param name="ConstrainStopTime">Whether the latest stop time constraint for the shift is enabled.</param> /// <param name="ConstrainLatestStopTime">Whether the latest stop time constraint for the shift is enabled.</param> /// <param name="LatestStopTimeMinutesFromMidnight">Latest stop time of the shift defined as offset minutes from midnight. Used if constrainStopTime == true.</param> /// <param name="ConstrainEarliestStopTime">Whether the earliest stop time constraint for the shift is enabled.</param> /// <param name="EarliestStopTimeMinutesFromMidnight">This is the earliest time a shift can end.</param> /// <param name="StartIncrementMinutes">Increment in offset minutes that would contribute to different possible start times for the shift. Used if flexibleStartTime == true.</param> /// <param name="FlexiblePaidTime">Whether the paid time setting for the shift is flexible.</param> /// <param name="ExactPaidTimeMinutes">Exact paid time in minutes configured for the shift. Used if flexiblePaidTime == false.</param> /// <param name="MinimumPaidTimeMinutes">Minimum paid time in minutes configured for the shift. Used if flexiblePaidTime == true.</param> /// <param name="MaximumPaidTimeMinutes">Maximum paid time in minutes configured for the shift. Used if flexiblePaidTime == true.</param> /// <param name="ConstrainContiguousWorkTime">Whether the contiguous time constraint for the shift is enabled.</param> /// <param name="MinimumContiguousWorkTimeMinutes">Minimum contiguous time in minutes configured for the shift. Used if constrainContiguousWorkTime == true.</param> /// <param name="MaximumContiguousWorkTimeMinutes">Maximum contiguous time in minutes configured for the shift. Used if constrainContiguousWorkTime == true.</param> /// <param name="SynchronizeAgentsSchedules">Whether synchronization for agent is enabled.</param> /// <param name="SynchronizationType">This constraint ensures that an agent starts each workday within a user-defined time threshold. Used if synchronizeAgentsSchedules == true.</param> /// <param name="ConstrainDayOff">Whether day off rule is enabled.</param> /// <param name="DayOffRule">The day off rule for agents to have next day off or previous day off. used if constrainDayOff = true.</param> /// <param name="Activities">Activities configured for this shift.</param> public CreateWorkPlanShift(string Name = null, SetWrapperDayOfWeek Days = null, bool?FlexibleStartTime = null, int?ExactStartTimeMinutesFromMidnight = null, int?EarliestStartTimeMinutesFromMidnight = null, int?LatestStartTimeMinutesFromMidnight = null, bool?ConstrainStopTime = null, bool?ConstrainLatestStopTime = null, int?LatestStopTimeMinutesFromMidnight = null, bool?ConstrainEarliestStopTime = null, int?EarliestStopTimeMinutesFromMidnight = null, int?StartIncrementMinutes = null, bool?FlexiblePaidTime = null, int?ExactPaidTimeMinutes = null, int?MinimumPaidTimeMinutes = null, int?MaximumPaidTimeMinutes = null, bool?ConstrainContiguousWorkTime = null, int?MinimumContiguousWorkTimeMinutes = null, int?MaximumContiguousWorkTimeMinutes = null, bool?SynchronizeAgentsSchedules = null, SynchronizationTypeEnum?SynchronizationType = null, bool?ConstrainDayOff = null, DayOffRuleEnum?DayOffRule = null, List <CreateWorkPlanActivity> Activities = null) { this.Name = Name; this.Days = Days; this.FlexibleStartTime = FlexibleStartTime; this.ExactStartTimeMinutesFromMidnight = ExactStartTimeMinutesFromMidnight; this.EarliestStartTimeMinutesFromMidnight = EarliestStartTimeMinutesFromMidnight; this.LatestStartTimeMinutesFromMidnight = LatestStartTimeMinutesFromMidnight; this.ConstrainStopTime = ConstrainStopTime; this.ConstrainLatestStopTime = ConstrainLatestStopTime; this.LatestStopTimeMinutesFromMidnight = LatestStopTimeMinutesFromMidnight; this.ConstrainEarliestStopTime = ConstrainEarliestStopTime; this.EarliestStopTimeMinutesFromMidnight = EarliestStopTimeMinutesFromMidnight; this.StartIncrementMinutes = StartIncrementMinutes; this.FlexiblePaidTime = FlexiblePaidTime; this.ExactPaidTimeMinutes = ExactPaidTimeMinutes; this.MinimumPaidTimeMinutes = MinimumPaidTimeMinutes; this.MaximumPaidTimeMinutes = MaximumPaidTimeMinutes; this.ConstrainContiguousWorkTime = ConstrainContiguousWorkTime; this.MinimumContiguousWorkTimeMinutes = MinimumContiguousWorkTimeMinutes; this.MaximumContiguousWorkTimeMinutes = MaximumContiguousWorkTimeMinutes; this.SynchronizeAgentsSchedules = SynchronizeAgentsSchedules; this.SynchronizationType = SynchronizationType; this.ConstrainDayOff = ConstrainDayOff; this.DayOffRule = DayOffRule; this.Activities = Activities; }
/// <summary> /// Initializes a new instance of the <see cref="CreateWorkPlanShift" /> class. /// </summary> /// <param name="Name">Name of the shift (required).</param> /// <param name="Days">Days of the week applicable for this shift.</param> /// <param name="FlexibleStartTime">Whether the start time of the shift is flexible.</param> /// <param name="ExactStartTimeMinutesFromMidnight">Exact start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == false.</param> /// <param name="EarliestStartTimeMinutesFromMidnight">Earliest start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == true.</param> /// <param name="LatestStartTimeMinutesFromMidnight">Latest start time of the shift defined as offset minutes from midnight. Used if flexibleStartTime == true.</param> /// <param name="ConstrainStopTime">Whether the latest stop time constraint for the shift is enabled.</param> /// <param name="LatestStopTimeMinutesFromMidnight">Latest stop time of the shift defined as offset minutes from midnight. Used if constrainStopTime == true.</param> /// <param name="StartIncrementMinutes">Increment in offset minutes that would contribute to different possible start times for the shift. Used if flexibleStartTime == true.</param> /// <param name="FlexiblePaidTime">Whether the paid time setting for the shift is flexible.</param> /// <param name="ExactPaidTimeMinutes">Exact paid time in minutes configured for the shift. Used if flexiblePaidTime == false.</param> /// <param name="MinimumPaidTimeMinutes">Minimum paid time in minutes configured for the shift. Used if flexiblePaidTime == true.</param> /// <param name="MaximumPaidTimeMinutes">Maximum paid time in minutes configured for the shift. Used if flexiblePaidTime == true.</param> /// <param name="ConstrainContiguousWorkTime">Whether the contiguous time constraint for the shift is enabled.</param> /// <param name="MinimumContiguousWorkTimeMinutes">Minimum contiguous time in minutes configured for the shift. Used if constrainContiguousWorkTime == true.</param> /// <param name="MaximumContiguousWorkTimeMinutes">Maximum contiguous time in minutes configured for the shift. Used if constrainContiguousWorkTime == true.</param> /// <param name="Activities">Activities configured for this shift.</param> public CreateWorkPlanShift(string Name = null, SetWrapperDayOfWeek Days = null, bool?FlexibleStartTime = null, int?ExactStartTimeMinutesFromMidnight = null, int?EarliestStartTimeMinutesFromMidnight = null, int?LatestStartTimeMinutesFromMidnight = null, bool?ConstrainStopTime = null, int?LatestStopTimeMinutesFromMidnight = null, int?StartIncrementMinutes = null, bool?FlexiblePaidTime = null, int?ExactPaidTimeMinutes = null, int?MinimumPaidTimeMinutes = null, int?MaximumPaidTimeMinutes = null, bool?ConstrainContiguousWorkTime = null, int?MinimumContiguousWorkTimeMinutes = null, int?MaximumContiguousWorkTimeMinutes = null, List <CreateWorkPlanActivity> Activities = null) { this.Name = Name; this.Days = Days; this.FlexibleStartTime = FlexibleStartTime; this.ExactStartTimeMinutesFromMidnight = ExactStartTimeMinutesFromMidnight; this.EarliestStartTimeMinutesFromMidnight = EarliestStartTimeMinutesFromMidnight; this.LatestStartTimeMinutesFromMidnight = LatestStartTimeMinutesFromMidnight; this.ConstrainStopTime = ConstrainStopTime; this.LatestStopTimeMinutesFromMidnight = LatestStopTimeMinutesFromMidnight; this.StartIncrementMinutes = StartIncrementMinutes; this.FlexiblePaidTime = FlexiblePaidTime; this.ExactPaidTimeMinutes = ExactPaidTimeMinutes; this.MinimumPaidTimeMinutes = MinimumPaidTimeMinutes; this.MaximumPaidTimeMinutes = MaximumPaidTimeMinutes; this.ConstrainContiguousWorkTime = ConstrainContiguousWorkTime; this.MinimumContiguousWorkTimeMinutes = MinimumContiguousWorkTimeMinutes; this.MaximumContiguousWorkTimeMinutes = MaximumContiguousWorkTimeMinutes; this.Activities = Activities; }
/// <summary> /// Initializes a new instance of the <see cref="CreateWorkPlan" /> class. /// </summary> /// <param name="Name">Name of this work plan (required).</param> /// <param name="Enabled">Whether the work plan is enabled for scheduling.</param> /// <param name="ConstrainWeeklyPaidTime">Whether the weekly paid time constraint is enabled for this work plan.</param> /// <param name="FlexibleWeeklyPaidTime">Whether the weekly paid time constraint is flexible for this work plan.</param> /// <param name="WeeklyExactPaidMinutes">Exact weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == false.</param> /// <param name="WeeklyMinimumPaidMinutes">Minimum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true.</param> /// <param name="WeeklyMaximumPaidMinutes">Maximum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true.</param> /// <param name="ConstrainPaidTimeGranularity">Whether paid time granularity should be constrained for this workplan.</param> /// <param name="PaidTimeGranularityMinutes">Granularity in minutes allowed for shift paid time in this work plan. Used if constrainPaidTimeGranularity == true.</param> /// <param name="ConstrainMinimumTimeBetweenShifts">Whether the minimum time between shifts constraint is enabled for this work plan.</param> /// <param name="MinimumTimeBetweenShiftsMinutes">Minimum time between shifts in minutes defined in this work plan. Used if constrainMinimumTimeBetweenShifts == true.</param> /// <param name="MaximumDays">Maximum number days in a week allowed to be scheduled for this work plan.</param> /// <param name="MinimumConsecutiveNonWorkingMinutesPerWeek">Minimum amount of consecutive non working minutes per week that agents who are assigned this work plan are allowed to have off.</param> /// <param name="ConstrainMaximumConsecutiveWorkingWeekends">Whether to constrain the maximum consecutive working weekends.</param> /// <param name="MaximumConsecutiveWorkingWeekends">The maximum number of consecutive weekends that agents who are assigned to this work plan are allowed to work.</param> /// <param name="MinimumWorkingDaysPerWeek">The minimum number of days that agents assigned to a work plan must work per week.</param> /// <param name="ConstrainMaximumConsecutiveWorkingDays">Whether to constrain the maximum consecutive working days.</param> /// <param name="MaximumConsecutiveWorkingDays">The maximum number of consecutive days that agents assigned to this work plan are allowed to work. Used if constrainMaximumConsecutiveWorkingDays == true.</param> /// <param name="MinimumShiftStartDistanceMinutes">The time period in minutes for the duration between the start times of two consecutive working days.</param> /// <param name="MinimumDaysOffPerPlanningPeriod">Minimum days off in the planning period.</param> /// <param name="MaximumDaysOffPerPlanningPeriod">Maximum days off in the planning period.</param> /// <param name="MinimumPaidMinutesPerPlanningPeriod">Minimum paid minutes in the planning period.</param> /// <param name="MaximumPaidMinutesPerPlanningPeriod">Maximum paid minutes in the planning period.</param> /// <param name="OptionalDays">Optional days to schedule for this work plan.</param> /// <param name="ShiftStartVarianceType">This constraint ensures that an agent starts each workday within a user-defined time threshold.</param> /// <param name="ShiftStartVariances">Variance in minutes among start times of shifts in this work plan.</param> /// <param name="Shifts">Shifts in this work plan.</param> /// <param name="Agents">Agents in this work plan.</param> public CreateWorkPlan(string Name = null, bool?Enabled = null, bool?ConstrainWeeklyPaidTime = null, bool?FlexibleWeeklyPaidTime = null, int?WeeklyExactPaidMinutes = null, int?WeeklyMinimumPaidMinutes = null, int?WeeklyMaximumPaidMinutes = null, bool?ConstrainPaidTimeGranularity = null, int?PaidTimeGranularityMinutes = null, bool?ConstrainMinimumTimeBetweenShifts = null, int?MinimumTimeBetweenShiftsMinutes = null, int?MaximumDays = null, int?MinimumConsecutiveNonWorkingMinutesPerWeek = null, bool?ConstrainMaximumConsecutiveWorkingWeekends = null, int?MaximumConsecutiveWorkingWeekends = null, int?MinimumWorkingDaysPerWeek = null, bool?ConstrainMaximumConsecutiveWorkingDays = null, int?MaximumConsecutiveWorkingDays = null, int?MinimumShiftStartDistanceMinutes = null, int?MinimumDaysOffPerPlanningPeriod = null, int?MaximumDaysOffPerPlanningPeriod = null, int?MinimumPaidMinutesPerPlanningPeriod = null, int?MaximumPaidMinutesPerPlanningPeriod = null, SetWrapperDayOfWeek OptionalDays = null, ShiftStartVarianceTypeEnum?ShiftStartVarianceType = null, ListWrapperShiftStartVariance ShiftStartVariances = null, List <CreateWorkPlanShift> Shifts = null, List <UserReference> Agents = null) { this.Name = Name; this.Enabled = Enabled; this.ConstrainWeeklyPaidTime = ConstrainWeeklyPaidTime; this.FlexibleWeeklyPaidTime = FlexibleWeeklyPaidTime; this.WeeklyExactPaidMinutes = WeeklyExactPaidMinutes; this.WeeklyMinimumPaidMinutes = WeeklyMinimumPaidMinutes; this.WeeklyMaximumPaidMinutes = WeeklyMaximumPaidMinutes; this.ConstrainPaidTimeGranularity = ConstrainPaidTimeGranularity; this.PaidTimeGranularityMinutes = PaidTimeGranularityMinutes; this.ConstrainMinimumTimeBetweenShifts = ConstrainMinimumTimeBetweenShifts; this.MinimumTimeBetweenShiftsMinutes = MinimumTimeBetweenShiftsMinutes; this.MaximumDays = MaximumDays; this.MinimumConsecutiveNonWorkingMinutesPerWeek = MinimumConsecutiveNonWorkingMinutesPerWeek; this.ConstrainMaximumConsecutiveWorkingWeekends = ConstrainMaximumConsecutiveWorkingWeekends; this.MaximumConsecutiveWorkingWeekends = MaximumConsecutiveWorkingWeekends; this.MinimumWorkingDaysPerWeek = MinimumWorkingDaysPerWeek; this.ConstrainMaximumConsecutiveWorkingDays = ConstrainMaximumConsecutiveWorkingDays; this.MaximumConsecutiveWorkingDays = MaximumConsecutiveWorkingDays; this.MinimumShiftStartDistanceMinutes = MinimumShiftStartDistanceMinutes; this.MinimumDaysOffPerPlanningPeriod = MinimumDaysOffPerPlanningPeriod; this.MaximumDaysOffPerPlanningPeriod = MaximumDaysOffPerPlanningPeriod; this.MinimumPaidMinutesPerPlanningPeriod = MinimumPaidMinutesPerPlanningPeriod; this.MaximumPaidMinutesPerPlanningPeriod = MaximumPaidMinutesPerPlanningPeriod; this.OptionalDays = OptionalDays; this.ShiftStartVarianceType = ShiftStartVarianceType; this.ShiftStartVariances = ShiftStartVariances; this.Shifts = Shifts; this.Agents = Agents; }
/// <summary> /// Initializes a new instance of the <see cref="WorkPlan" /> class. /// </summary> /// <param name="Name">Name.</param> /// <param name="Enabled">Whether the work plan is enabled for scheduling.</param> /// <param name="ConstrainWeeklyPaidTime">Whether the weekly paid time constraint is enabled for this work plan.</param> /// <param name="FlexibleWeeklyPaidTime">Whether the weekly paid time constraint is flexible for this work plan.</param> /// <param name="WeeklyExactPaidMinutes">Exact weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == false.</param> /// <param name="WeeklyMinimumPaidMinutes">Minimum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true.</param> /// <param name="WeeklyMaximumPaidMinutes">Maximum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true.</param> /// <param name="ConstrainPaidTimeGranularity">Whether paid time granularity is constrained for this workplan.</param> /// <param name="PaidTimeGranularityMinutes">Granularity in minutes allowed for shift paid time in this work plan. Used if constrainPaidTimeGranularity == true.</param> /// <param name="ConstrainMinimumTimeBetweenShifts">Whether the minimum time between shifts constraint is enabled for this work plan.</param> /// <param name="MinimumTimeBetweenShiftsMinutes">Minimum time between shifts in minutes defined in this work plan. Used if constrainMinimumTimeBetweenShifts == true.</param> /// <param name="MaximumDays">Maximum number days in a week allowed to be scheduled for this work plan.</param> /// <param name="StartDayOfWeekend">The day of the week for which the weekend starts, such as Saturday.</param> /// <param name="MinimumConsecutiveTimeOffPerWeekMinutes">Minimum amount of consecutive time off per week that agents who are assigned this work plan are allowed to have off.</param> /// <param name="ConstrainMaximumConsecutiveWorkingWeekends">Whether to constrain the maximum consecutive working weekends.</param> /// <param name="MaximumConsecutiveWorkingWeekends">The maximum number of consecutive weekends that agents who are assigned to this work plan are allowed to work.</param> /// <param name="MinimumWorkingDaysPerWeek">The minimum number of days that agents assigned to a work plan must work per week.</param> /// <param name="MaximumConsecutiveWorkingDays">The maximum number of consecutive days that agents assigned to this work plan are allowed to work.</param> /// <param name="MinimumShiftStartDistanceMinutes">The time period in minutes for the duration between the start times of two consecutive working days.</param> /// <param name="MinimumDaysOffPerPlanningPeriod">Minimum days off in the planning period.</param> /// <param name="MaximumDaysOffPerPlanningPeriod">Maximum days off in the planning period.</param> /// <param name="MinimumPaidHoursPerPlanningPeriod">Minimum paid hours in the planning period.</param> /// <param name="MaximumPaidHoursPerPlanningPeriod">Maximum paid hours in the planning period.</param> /// <param name="OptionalDays">Optional days to schedule for this work plan.</param> /// <param name="ShiftStartVariances">Variance in minutes among start times of shifts in this work plan.</param> /// <param name="Shifts">Shifts in this work plan.</param> /// <param name="Agents">Agents in this work plan.</param> /// <param name="Metadata">Version metadata for this work plan (required).</param> public WorkPlan(string Name = null, bool?Enabled = null, bool?ConstrainWeeklyPaidTime = null, bool?FlexibleWeeklyPaidTime = null, int?WeeklyExactPaidMinutes = null, int?WeeklyMinimumPaidMinutes = null, int?WeeklyMaximumPaidMinutes = null, bool?ConstrainPaidTimeGranularity = null, int?PaidTimeGranularityMinutes = null, bool?ConstrainMinimumTimeBetweenShifts = null, int?MinimumTimeBetweenShiftsMinutes = null, int?MaximumDays = null, StartDayOfWeekendEnum?StartDayOfWeekend = null, int?MinimumConsecutiveTimeOffPerWeekMinutes = null, bool?ConstrainMaximumConsecutiveWorkingWeekends = null, int?MaximumConsecutiveWorkingWeekends = null, int?MinimumWorkingDaysPerWeek = null, int?MaximumConsecutiveWorkingDays = null, int?MinimumShiftStartDistanceMinutes = null, int?MinimumDaysOffPerPlanningPeriod = null, int?MaximumDaysOffPerPlanningPeriod = null, int?MinimumPaidHoursPerPlanningPeriod = null, int?MaximumPaidHoursPerPlanningPeriod = null, SetWrapperDayOfWeek OptionalDays = null, ListWrapperShiftStartVariance ShiftStartVariances = null, List <WorkPlanShift> Shifts = null, List <DeletableUserReference> Agents = null, WfmVersionedEntityMetadata Metadata = null) { this.Name = Name; this.Enabled = Enabled; this.ConstrainWeeklyPaidTime = ConstrainWeeklyPaidTime; this.FlexibleWeeklyPaidTime = FlexibleWeeklyPaidTime; this.WeeklyExactPaidMinutes = WeeklyExactPaidMinutes; this.WeeklyMinimumPaidMinutes = WeeklyMinimumPaidMinutes; this.WeeklyMaximumPaidMinutes = WeeklyMaximumPaidMinutes; this.ConstrainPaidTimeGranularity = ConstrainPaidTimeGranularity; this.PaidTimeGranularityMinutes = PaidTimeGranularityMinutes; this.ConstrainMinimumTimeBetweenShifts = ConstrainMinimumTimeBetweenShifts; this.MinimumTimeBetweenShiftsMinutes = MinimumTimeBetweenShiftsMinutes; this.MaximumDays = MaximumDays; this.StartDayOfWeekend = StartDayOfWeekend; this.MinimumConsecutiveTimeOffPerWeekMinutes = MinimumConsecutiveTimeOffPerWeekMinutes; this.ConstrainMaximumConsecutiveWorkingWeekends = ConstrainMaximumConsecutiveWorkingWeekends; this.MaximumConsecutiveWorkingWeekends = MaximumConsecutiveWorkingWeekends; this.MinimumWorkingDaysPerWeek = MinimumWorkingDaysPerWeek; this.MaximumConsecutiveWorkingDays = MaximumConsecutiveWorkingDays; this.MinimumShiftStartDistanceMinutes = MinimumShiftStartDistanceMinutes; this.MinimumDaysOffPerPlanningPeriod = MinimumDaysOffPerPlanningPeriod; this.MaximumDaysOffPerPlanningPeriod = MaximumDaysOffPerPlanningPeriod; this.MinimumPaidHoursPerPlanningPeriod = MinimumPaidHoursPerPlanningPeriod; this.MaximumPaidHoursPerPlanningPeriod = MaximumPaidHoursPerPlanningPeriod; this.OptionalDays = OptionalDays; this.ShiftStartVariances = ShiftStartVariances; this.Shifts = Shifts; this.Agents = Agents; this.Metadata = Metadata; }
/// <summary> /// Initializes a new instance of the <see cref="WorkPlan" /> class. /// </summary> /// <param name="Name">Name.</param> /// <param name="Enabled">Whether the work plan is enabled for scheduling.</param> /// <param name="ConstrainWeeklyPaidTime">Whether the weekly paid time constraint is enabled for this work plan.</param> /// <param name="FlexibleWeeklyPaidTime">Whether the weekly paid time constraint is flexible for this work plan.</param> /// <param name="WeeklyExactPaidMinutes">Exact weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == false.</param> /// <param name="WeeklyMinimumPaidMinutes">Minimum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true.</param> /// <param name="WeeklyMaximumPaidMinutes">Maximum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true.</param> /// <param name="ConstrainPaidTimeGranularity">Whether paid time granularity is constrained for this workplan.</param> /// <param name="PaidTimeGranularityMinutes">Granularity in minutes allowed for shift paid time in this work plan. Used if constrainPaidTimeGranularity == true.</param> /// <param name="ConstrainMinimumTimeBetweenShifts">Whether the minimum time between shifts constraint is enabled for this work plan.</param> /// <param name="MinimumTimeBetweenShiftsMinutes">Minimum time between shifts in minutes defined in this work plan. Used if constrainMinimumTimeBetweenShifts == true.</param> /// <param name="MaximumDays">Maximum number days in a week allowed to be scheduled for this work plan.</param> /// <param name="OptionalDays">Optional days to schedule for this work plan.</param> /// <param name="ShiftStartVariances">Variance in minutes among start times of shifts in this work plan.</param> /// <param name="Shifts">Shifts in this work plan.</param> /// <param name="Agents">Agents in this work plan.</param> /// <param name="Metadata">Version metadata for this work plan (required).</param> public WorkPlan(string Name = null, bool?Enabled = null, bool?ConstrainWeeklyPaidTime = null, bool?FlexibleWeeklyPaidTime = null, int?WeeklyExactPaidMinutes = null, int?WeeklyMinimumPaidMinutes = null, int?WeeklyMaximumPaidMinutes = null, bool?ConstrainPaidTimeGranularity = null, int?PaidTimeGranularityMinutes = null, bool?ConstrainMinimumTimeBetweenShifts = null, int?MinimumTimeBetweenShiftsMinutes = null, int?MaximumDays = null, SetWrapperDayOfWeek OptionalDays = null, ListWrapperShiftStartVariance ShiftStartVariances = null, List <WorkPlanShift> Shifts = null, List <DeletableUserReference> Agents = null, WfmVersionedEntityMetadata Metadata = null) { this.Name = Name; this.Enabled = Enabled; this.ConstrainWeeklyPaidTime = ConstrainWeeklyPaidTime; this.FlexibleWeeklyPaidTime = FlexibleWeeklyPaidTime; this.WeeklyExactPaidMinutes = WeeklyExactPaidMinutes; this.WeeklyMinimumPaidMinutes = WeeklyMinimumPaidMinutes; this.WeeklyMaximumPaidMinutes = WeeklyMaximumPaidMinutes; this.ConstrainPaidTimeGranularity = ConstrainPaidTimeGranularity; this.PaidTimeGranularityMinutes = PaidTimeGranularityMinutes; this.ConstrainMinimumTimeBetweenShifts = ConstrainMinimumTimeBetweenShifts; this.MinimumTimeBetweenShiftsMinutes = MinimumTimeBetweenShiftsMinutes; this.MaximumDays = MaximumDays; this.OptionalDays = OptionalDays; this.ShiftStartVariances = ShiftStartVariances; this.Shifts = Shifts; this.Agents = Agents; this.Metadata = Metadata; }