Beispiel #1
0
 /// <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;
 }