/// <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="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="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; }