ดัชนี
Break
(ข้อความ)BreakRule
(ข้อความ)BudgetRequirement
(ข้อความ)CoverageRequirement
(ข้อความ)CoverageRequirement.RoleRequirement
(ข้อความ)CoverageRequirement.SkillRequirement
(ข้อความ)DemandCoverageViolation
(ข้อความ)Employee
(ข้อความ)EmployeeDemand
(ข้อความ)EmployeeSchedule
(ข้อความ)EmployeeSchedule.ShiftWithEvents
(ข้อความ)EmployeeSchedule.ShiftWithEvents.Event
(ข้อความ)EventTemplate
(ข้อความ)HourlyContract
(ข้อความ)HourlyContract.OvertimePeriod
(ข้อความ)Priority
(enum)ResourceConstraint
(ข้อความ)SchedulingConstraint
(ข้อความ)Shift
(ข้อความ)ShiftAssignment
(ข้อความ)ShiftGenerationSolutionStatus
(enum)ShiftPreference
(ข้อความ)ShiftRequest
(ข้อความ)ShiftTemplate
(ข้อความ)SolutionStatus
(enum)SolveParameters
(ข้อความ)SolverConfig
(ข้อความ)WorkStatus
(enum)
พัก
ระยะเวลาที่พนักงานขัดจังหวะการทำงานระหว่างกะ
ช่อง | |
---|---|
start_date_time |
เวลาเริ่มต้นของช่วงพัก |
duration_minutes |
ระยะเวลาของช่วงพักเป็นนาที |
BreakRule
กฎที่กำหนดว่าช่วงพักสามารถเริ่มต้นภายในกะและระยะเวลาของช่วงพักได้ รายการช่วงพักทั้งหมดที่เป็นไปได้ซึ่งนำมาพิจารณาจะพิจารณาเพิ่มขึ้นทีละ rule_increment_minutes
เช่น ถ้ากฎช่วงพักโฆษณาเป็นการสร้างแบบจำลองช่วงพัก 30 นาทีที่สามารถเริ่มต้นระหว่าง 10:00 ถึง 11:00 น. และกฎเพิ่มขึ้น 20 นาที รายการช่วงพักที่นำมาพิจารณา ได้แก่ [10:00, 10:30], [10:20, 10:50], [10:40], 1:40]
ช่อง | |
---|---|
earliest_start_time |
เวลาเริ่มต้นเร็วที่สุดของช่วงพัก (รวม) ตั้งค่าได้เฉพาะ |
latest_start_time |
เวลาเริ่มต้นล่าสุดของช่วงพัก (รวม) ตั้งค่าได้เฉพาะ |
duration_minutes |
ระยะเวลาของช่วงพักเป็นนาที |
rule_increment_minutes |
[ไม่บังคับ] เวลาที่เพิ่มขึ้นเป็นนาทีสำหรับช่วงพักทั้งหมดที่จะพิจารณาในกฎช่วงพักโฆษณานี้ได้ หากไม่ได้ตั้งค่า ค่าเริ่มต้นจะเป็น |
BudgetRequirement
ข้อกำหนดด้านงบประมาณสำหรับช่วงเวลาที่ระบุ
ช่อง | |
---|---|
total_budget |
งบประมาณทั้งหมดสำหรับช่วงเวลาที่ระบุ ต้องระบุงบประมาณรวมหากลำดับความสำคัญคือ หากไม่ได้ตั้งค่า |
start_date_time |
เวลาเริ่มต้นที่งบประมาณนี้จะใช้ หากไม่ได้ระบุเวลาเริ่มต้น ระบบจะกำหนดให้เวลาเริ่มต้นเร็วที่สุดของกะทั้งหมด |
end_date_time |
เวลาสิ้นสุดที่งบประมาณนี้จะใช้ หากไม่ได้ระบุเวลาสิ้นสุด ระบบจะตั้งค่าเป็นเวลาสิ้นสุดล่าสุดของกะทั้งหมดที่ระบุ |
priority |
ระดับความสำคัญเพื่อให้เป็นไปตามข้อกำหนดด้านงบประมาณในกรอบเวลาที่ระบุ ลำดับความสำคัญเริ่มต้นคือ โปรดทราบว่าหากลำดับความสำคัญนี้สูงกว่าลำดับความสำคัญตามข้อจำกัดอื่นๆ และหาก |
CoverageRequirement
ข้อกำหนดความคุ้มครองจะระบุจำนวนพนักงานที่จำเป็นสำหรับชุดของบทบาทและ/หรือทักษะในช่วงเวลาที่กำหนดและในสถานที่หนึ่งๆ ช่วงเวลา DateTime ที่ตำแหน่งใดตำแหน่งหนึ่งต้องไม่ทับซ้อนกัน หรือจะระบุรายการรหัสกะแทนกรอบเวลาและสถานที่ก็ได้ โดยพนักงานที่ได้รับการกำหนดบทบาทหนึ่งๆ (หรือทักษะเฉพาะดังกล่าว) เท่านั้นที่จะมีคุณสมบัติตามข้อกำหนดนี้ได้
สำหรับบทบาทและ/หรือทักษะหนึ่งๆ ข้อกำหนดความครอบคลุมจะมีขึ้นเมื่อจำนวนพนักงานอย่างน้อย target_employee_count
คนทำงานในทุกช่วงเวลา (หรือทุกกะการทำงานใน shift_ids
) ในทางตรงกันข้าม ข้อกำหนดด้านความครอบคลุมถูกละเมิดหากช่วงเวลาใดก็ตาม (หรือบางกะใน shift_ids
) มีพนักงานน้อยกว่า target_employee_count
ที่ทำงานในกรอบเวลานั้น จำนวนพนักงานที่ทำงานในจำนวนที่มากกว่า target_employee_count
ยังคงเป็นไปตามข้อกำหนด แต่เครื่องมือแก้โจทย์จะทำให้จำนวนพนักงานที่มีจำนวนมากเกินไป
ช่อง | |
---|---|
start_date_time |
เวลาเริ่มต้นสำหรับข้อกำหนดการครอบคลุม (รวม) หากมีการตั้งค่า |
end_date_time |
เวลาสิ้นสุดสำหรับข้อกำหนดความครอบคลุม (ไม่รวม) หากมีการตั้งค่า |
location_id |
สถานที่ที่ต้องการพนักงาน |
shift_ids[] |
หากตั้งค่าไว้ ระบบจะใช้ข้อกำหนดด้านบทบาทและทักษะแยกกันกับรหัสกะทุกรหัสในรายการนี้ หาก Shift_ids ไม่ว่างเปล่า ในกรณีนี้ |
role_requirements[] |
จำนวนพนักงานที่กำหนดไว้สำหรับบทบาทที่ระบุในกรอบเวลา ต้องระบุ |
skill_requirements[] |
จำนวนพนักงานที่มีทักษะตามที่ระบุและได้รับการกำหนดให้กะการทำงานในช่วงเวลาที่กำหนด ต้องระบุ |
RoleRequirement
จำนวนพนักงานที่กำหนดไว้สำหรับบทบาทที่ระบุในกรอบเวลา
ช่อง | |
---|---|
role_id |
รหัสบทบาทสำหรับข้อกำหนด |
target_employee_count |
จำนวนพนักงานที่ต้องการได้รับมอบหมายบทบาทนั้นๆ ในกรอบเวลาที่กำหนด |
priority |
ระดับลำดับความสำคัญสำหรับข้อจำกัดของข้อกำหนดนี้ ลำดับความสำคัญเริ่มต้นสำหรับข้อจำกัดของทรัพยากรทั้งหมดคือ |
SkillRequirement
จำนวนพนักงานที่กำหนดซึ่งทำงานอยู่ในช่วงกรอบเวลา และมีทักษะตามที่กำหนด
ช่อง | |
---|---|
skill_id |
รหัสทักษะสำหรับข้อกำหนด |
target_employee_count |
จำนวนพนักงานที่ต้องการซึ่งมีทักษะและพร้อมทำงานในช่วงเวลาที่เหมาะสม |
priority |
ระดับลำดับความสำคัญสำหรับข้อจำกัดของข้อกำหนดนี้ ลำดับความสำคัญเริ่มต้นสำหรับข้อจำกัดของทรัพยากรทั้งหมดคือ |
DemandCoverageViolation
ระบุการละเมิดความครอบคลุมของดีมานด์สำหรับช่วงเวลาที่ระบุ ความต้องการของพนักงานจะเท่ากันตลอดช่วงเวลาที่ระบุ
ช่อง | |
---|---|
start_date_time |
วันที่และเวลาเริ่มต้นของช่วงความต้องการ (รวม) ค่านี้ถูกระบุจนถึงระดับนาที |
end_date_time |
วันที่และเวลาสิ้นสุดของช่วงดีมานด์ (ไม่รวม) ค่านี้ถูกระบุจนถึงระดับนาที |
coverage_violation |
การละเมิดการครอบคลุมในช่วงระยะเวลาที่ระบุ ค่าบวกบ่งชี้ว่ามีดีมานด์ที่ครอบคลุมมากเกินไป ส่วนค่าลบบ่งบอกว่ามีดีมานด์ที่ครอบคลุม |
พนักงาน
พนักงานประจำที่จะกำหนดเวลา
ช่อง | |
---|---|
id |
รหัสที่ไม่ซ้ำกันที่กำหนดให้พนักงานคนนี้ |
role_ids[] |
รหัสบทบาทที่พนักงานรายนี้ทำได้ ต้องระบุอย่างน้อย 1 บทบาท เมื่อมีการมอบหมายพนักงานเป็นกะ พนักงานคนดังกล่าวจะได้รับมอบหมายบทบาทเดียวจากรายการนี้ด้วย พนักงานอาจได้รับมอบหมายหน้าที่อื่นในช่วงกรอบเวลานัดหมาย |
skill_ids[] |
รหัสทักษะที่พนักงานรายนี้มี รายการนี้อาจว่างเปล่า เมื่อมีการมอบหมายกะ พนักงานจะใช้ทักษะย่อยใดๆ ที่ระบุไว้ที่นี่เพื่อให้ครอบคลุมความต้องการทักษะตลอดระยะเวลาของกะงานที่มอบหมาย |
shift_preferences[] |
เปลี่ยนค่ากำหนดของพนักงานคนนี้ กะงานที่ระบุไว้ที่นี่แสดงถึงกะที่พนักงานต้องการกำหนดให้อยู่ในกรอบเวลาการนัดหมาย รหัส Shift ที่ระบุใน |
scheduling_constraints[] |
รายการข้อจำกัดในการจัดตารางเวลาสำหรับพนักงานคนนี้ ระดับความสำคัญเริ่มต้นสำหรับแต่ละข้อจำกัดเหล่านี้คือ |
resource_constraints[] |
คุณจะเพิ่มข้อจำกัดการตั้งเวลาเพิ่มเติมใดๆ ที่ไม่ได้ระบุไว้ใน |
shift_requests[] |
รายการคำขอกะของพนักงาน โดยอาจเป็นการกำหนดให้พนักงานได้รับมอบหมายหรือไม่ได้กำหนดให้ทำงานในบางกะก็ได้ งานที่จัดตารางเวลาแบบตายตัวสำหรับพนักงานจะแสดงด้วย |
hourly_contract |
สัญญาที่ระบุอัตราค่าจ้างเป็นรายชั่วโมงเป็นประจำและแบบค่าล่วงเวลาสำหรับพนักงาน |
EmployeeDemand
ระบุจำนวนพนักงานที่ต้องการเพื่อรองรับความต้องการในช่วง DateTime ที่กำหนด
ช่อง | |
---|---|
start_date_time |
จุดเริ่มต้นของช่วงเวลาสำหรับความต้องการที่ระบุ (รวม) ค่าเหล่านี้จะอ่านได้เป็นนาที และระบบจะไม่สนใจหน่วยวินาทีและหน่วยที่เล็กกว่าทั้งหมด |
end_date_time |
จุดสิ้นสุดของช่วงเวลาสำหรับความต้องการที่ระบุ (ไม่รวม) ค่าเหล่านี้จะอ่านได้เป็นนาที และระบบจะไม่สนใจหน่วยวินาทีและหน่วยที่เล็กกว่าทั้งหมด |
employee_count |
จำนวนพนักงานที่ต้องการเพื่อรองรับความต้องการในช่วงเวลานี้ |
EmployeeSchedule
รายการกะการทำงานตามลำดับของ ShiftTemplate
รายการเดียวที่มอบหมายให้พนักงานหลายคน
ช่อง | |
---|---|
shift_template_id |
รหัสของเทมเพลตที่ใช้ในการสร้างชุดกะนี้ |
shifts[] |
รายการกะงานที่มอบหมายให้กับพนักงาน |
employee_count |
จำนวนพนักงานที่ควรกำหนดให้กะการทำงานชุดนี้ครอบคลุมความต้องการ |
ShiftWithEvents
ระบุวันที่เริ่มต้นและวันที่สิ้นสุดพร้อมกับรายการเหตุการณ์คงที่ของกะการเปลี่ยนแปลงที่เครื่องมือแก้โจทย์สร้างขึ้น
ช่อง | |
---|---|
start_date_time |
วันที่และเวลาเริ่มต้นของการเปลี่ยนแปลง ค่านี้ระบุถึงระดับนาที ไม่ได้ระบุหน่วยวินาทีและหน่วยที่เล็กกว่า |
end_date_time |
วันที่และเวลาสิ้นสุดของการเปลี่ยนแปลง ค่านี้ระบุถึงระดับนาที ไม่ได้ระบุหน่วยวินาทีและหน่วยที่เล็กกว่า |
events[] |
รายการเหตุการณ์ที่รวมอยู่ในการเปลี่ยนแปลงนี้ ซึ่งแมปกับส่วนที่ตรงกันทั้งหมด และอยู่ในลำดับเดียวกันกับ |
เหตุการณ์
ระบุวันที่และเวลาเริ่มต้นและสิ้นสุดของเหตุการณ์ที่เฉพาะเจาะจงในกะที่เครื่องมือแก้โจทย์สร้างขึ้น
ช่อง | |
---|---|
event_template_id |
รหัสของเทมเพลตที่ใช้สร้างเหตุการณ์นี้ |
start_date_time |
วันที่และเวลาเริ่มต้นของกิจกรรม ค่านี้ระบุถึงระดับนาที ไม่ได้ระบุหน่วยวินาทีและหน่วยที่เล็กกว่า |
end_date_time |
วันที่และเวลาสิ้นสุดของเหตุการณ์ ค่านี้ระบุถึงระดับนาที ไม่ได้ระบุหน่วยวินาทีและหน่วยที่เล็กกว่า |
EventTemplate
เทมเพลตที่ระบุกฎสำหรับการสร้างเหตุการณ์เดียวที่เกิดขึ้นระหว่างกะ กิจกรรมอาจเป็นการประชุม ช่วงพัก อาหารกลางวัน ฯลฯ
ช่อง | |
---|---|
id |
รหัสที่ไม่ซ้ำกันของเทมเพลตนี้ |
minimum_minutes_after_shift_start |
จำนวนนาทีขั้นต่ำหลังจากเริ่มกะที่กิจกรรมนี้สามารถเริ่มต้นได้ |
maximum_minutes_after_shift_start |
จำนวนนาทีสูงสุดหลังจากเริ่มกะที่กิจกรรมนี้สามารถเริ่มต้นได้ |
duration_minutes |
ระยะเวลาคงที่เป็นนาทีสำหรับกิจกรรมนี้ |
start_time_increment_minutes |
เวลาที่เพิ่มขึ้น (เป็นนาที) ที่ใช้ในการสร้างชุดเวลาเริ่มต้นของเหตุการณ์ที่เป็นไปได้ระหว่าง |
HourlyContract
ระบุอัตรารายชั่วโมงพื้นฐาน ส่วนต่างของอัตรา และตัวคูณการทำงานล่วงเวลา เพื่อกำหนดค่าตอบแทนสำหรับพนักงาน โปรดทราบว่ากฎระเบียบในที่ต่างๆ อาจต้องมีการคำนวณค่าชดเชยการทำงานล่วงเวลาที่แตกต่างออกไป เครื่องมือแก้โจทย์คณิตจะประมาณค่าชดเชยการทำงานล่วงเวลาเพื่อลดค่าใช้จ่ายรวมหรือเพื่อให้เป็นไปตามงบประมาณ (ดู BudgetRequirement
) ไม่ได้มีจุดประสงค์เพื่อให้เป็นเครื่องมือในการคำนวณเงินเดือน
ช่อง | |
---|---|
base_hourly_rate |
ค่าตอบแทนสำหรับการทำงานนอกเวลาทำการ หากพนักงานใช้หลายอัตรา ระบบจะคำนวณส่วนต่างของอัตราจะสัมพันธ์กับอัตราฐานรายชั่วโมงนี้ นอกจากนี้ หากมีหลายอัตรา อัตรารายชั่วโมงฐานควรเป็นอัตราขั้นต่ำของอัตราดังกล่าว |
hourly_rate_shift_differentials |
ส่วนต่างราคาต่อชั่วโมง ซึ่งจ่ายเพิ่มเติมจาก |
overtime_periods[] |
รายการของระยะเวลาทั้งหมดที่ต้องมีการคำนวณต่อเวลา ช่วงเวลาเหล่านี้ต้องไม่ทับซ้อนกัน |
OvertimePeriod
ระยะเวลาคงที่และเกิดซ้ำเป็นประจำ (โดยทั่วไปคือ 168 ชั่วโมงหรือ 24 ชั่วโมงติดต่อกัน 7 ชั่วโมง) ที่ใช้กำหนดจำนวนเงินค่าชดเชยการทำงานล่วงเวลา โดยแต่ละระยะเวลาจะมีตัวคูณในช่วงระยะเวลาหนึ่ง (เช่น 1.5) สัมพันธ์กับ base_hourly_rate
และขีดจำกัดจำนวนชั่วโมงที่ถือว่าทำงานปกติ (ไม่ใช่การทำงานล่วงเวลา) การเปลี่ยนแปลงใดๆ ที่ทับซ้อนกับกรอบเวลา start_date_time
(รวม) และ end_date_time
(ไม่รวม) จะนับรวมอยู่ในจำนวนชั่วโมงการทำงานทั้งหมดในระยะเวลานั้นๆ หากส่วนที่ซ้อนทับกันบางส่วน ระบบจะนับเฉพาะชั่วโมงที่ทับซ้อนกันเท่านั้น
ช่อง | |
---|---|
overtime_multiplier |
ตัวคูณเพื่อคำนวณอัตราการทำงานล่วงเวลาต่อชั่วโมง (ต้องมากกว่าหรือเท่ากับ 1.0) โดยทั่วไปแล้ว อัตราค่าดำเนินการต่อเวลารายชั่วโมงจะคำนวณเป็น |
start_date_time |
เวลาเริ่มต้นสำหรับช่วงต่อช่วง หากกะเหลื่อมซ้อนกันในครั้งนี้ ระบบจะนับชั่วโมงของการเปลี่ยนแปลงดังกล่าวจากเวลา |
end_date_time |
เวลาสิ้นสุดสำหรับช่วงต่อช่วง หากช่วงเวลาดังกล่าวทับซ้อนกันในครั้งนี้ ระบบจะนับจำนวนชั่วโมงของการเปลี่ยนแปลงดังกล่าวสูงสุดถึง |
maximum_regular_hours |
จำนวนเวลาทำงานสูงสุดที่จ่ายในอัตราปกติ (ไม่ใช่การทำงานล่วงเวลา) จำนวนนี้ต้องเป็นจำนวนบวก |
ลำดับความสำคัญ
ระดับความสำคัญสำหรับข้อจำกัดใดๆ ในกำหนดเวลาของพนักงานหรือข้อกำหนดด้านความครอบคลุม ซึ่งรวมถึง SchedulingConstraint
, ResourceConstraint
, ShiftRequest
และ CoverageRequirement
เนื่องจากอาจมีข้อจำกัดที่ขัดแย้งกัน ข้อจำกัดบางอย่างจึงอาจเป็นไปไม่ได้เสมอไป ด้วยเหตุนี้ ข้อจำกัดแต่ละประเภทจึงมีลำดับความสำคัญ (กำหนดโดยผู้ใช้หรือค่าเริ่มต้น) ซึ่งแจ้งให้เครื่องมือแก้โจทย์ทราบลำดับความสำคัญที่เกี่ยวข้องของข้อจำกัดทั้งหมดที่ให้ไว้กับกำหนดเวลาที่สมบูรณ์
Enum | |
---|---|
PRIORITY_UNSPECIFIED |
ไม่ทราบระดับความสำคัญ |
PRIORITY_LOW |
ระดับความสำคัญต่ำสุด ข้อจำกัดที่มีลำดับความสำคัญนี้มีความสำคัญน้อยกว่าข้อจำกัดอื่นๆ คนเหล่านี้จะเป็นคนแรกที่เข้ารับการพิจารณาเพื่อละเมิดนโยบายหากไม่พบวิธีแก้ปัญหาที่เป็นไปได้ |
PRIORITY_MEDIUM |
ระดับความสำคัญปานกลาง ข้อจำกัดที่มีลำดับความสำคัญนี้สำคัญกว่าข้อจำกัดที่มีลำดับความสำคัญ PRIORITY_LOW แต่น้อยกว่าข้อจำกัดที่มีลำดับความสำคัญ PRIORITY_HIGH หากไม่พบวิธีแก้ปัญหาที่เป็นไปได้หลังจากผ่อนปรนข้อจำกัดทั้งหมดที่มีลำดับความสำคัญ PRIORITY_LOW แล้ว ระบบจะพิจารณาข้อจำกัดที่มีลำดับความสำคัญ PRIORITY_MEDIUM เป็นลำดับถัดไปสำหรับการละเมิด |
PRIORITY_HIGH |
ระดับความสำคัญสูงสุด ข้อจำกัดที่มีระดับความสำคัญนี้ถือว่าสำคัญที่สุด นโยบายเหล่านี้จะถือเป็นกรณีสุดท้ายที่จะได้รับการพิจารณาสำหรับการละเมิดหากไม่พบวิธีแก้ปัญหาที่เป็นไปได้หลังจากผ่อนปรนข้อจำกัดของระดับลำดับความสำคัญต่ำกว่า |
PRIORITY_MANDATORY |
ระดับความสำคัญซึ่งแสดงถึงสิ่งที่เครื่องมือแก้โจทย์ละเมิดไม่ได้ หากเครื่องมือแก้โจทย์ส่งคืน SolutionStatus.INFEASIBLE อาจเป็นเพราะข้อจำกัด PRIORITY_MANDATORY มากเกินไป |
ResourceConstraint
ข้อจำกัดทั่วไปที่จำกัดปริมาณ "ทรัพยากร" บางอย่างที่พนักงานใช้ นี่คือเวอร์ชันนามธรรมของ SchedulingConstraint
ที่เฉพาะเจาะจงมากขึ้นซึ่งมีความยืดหยุ่นมากขึ้นสำหรับผู้ใช้ คุณสามารถระบุข้อจำกัดการตั้งเวลาหลายอย่างที่ไม่สามารถระบุใน SchedulingConstraint.type
โดยใช้ข้อความนี้แทนได้
ช่อง | |
---|---|
priority |
ระดับลำดับความสำคัญของข้อจำกัดทรัพยากรนี้ ลำดับความสำคัญเริ่มต้นสำหรับข้อจำกัดของทรัพยากรทั้งหมดคือ |
resource_usages |
จำนวนทรัพยากรที่ใช้โดยกะ ตัวอย่างเช่น หากข้อจำกัดนี้มีผลกับจำนวนชั่วโมงต่ำสุดและสูงสุดที่ทำงานโดยพนักงานในสัปดาห์หนึ่งๆ แผนที่นี้จะมีกะงานที่เกิดขึ้นในสัปดาห์นั้น และระยะเวลาของกะการทำงานแต่ละครั้งเป็นชั่วโมง |
minimum_resource_usage |
การใช้ทรัพยากรขั้นต่ำเพื่อให้เป็นไปตามข้อจำกัดด้านทรัพยากร |
maximum_resource_usage |
การใช้งานทรัพยากรสูงสุดเพื่อให้เป็นไปตามข้อจำกัดของทรัพยากร |
SchedulingConstraint
ข้อจำกัดทางกำหนดเวลาที่เจาะจงสำหรับพนักงานคนหนึ่ง ข้อจำกัดที่ระบุจะใช้ระหว่างช่วงเวลาที่ระบุ [start_date_time,
end_date_time)
เท่านั้น
ช่อง | |
---|---|
priority |
ระดับลำดับความสำคัญสำหรับข้อจำกัดการตั้งเวลานี้ ลำดับความสำคัญเริ่มต้นสำหรับข้อจำกัดการตั้งเวลาทั้งหมดคือ |
start_date_time |
เวลาเริ่มต้นเมื่อข้อจำกัดการจัดตารางเวลานี้มีผล (รวมด้วย) |
end_date_time |
เวลาสิ้นสุดเมื่อข้อจำกัดการตั้งเวลานี้มีผล (ไม่รวม) |
ช่องการรวม type ประเภทของข้อจำกัดที่ระบุ ข้อจำกัดแต่ละข้อจะนำมาใช้ภายในกรอบเวลาที่ระบุข้างต้นเท่านั้น type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ |
|
minimum_minutes |
จำนวนนาทีขั้นต่ำที่พนักงานทำงานได้ หากพนักงานได้รับมอบหมายให้อยู่ในกะที่ทับซ้อน (ทั้งหมดหรือบางส่วน) กับกรอบเวลา จำนวนนาทีที่กะนั้นทับซ้อนกับกรอบเวลาจะรวมอยู่ในจำนวนนี้ |
maximum_minutes |
จำนวนนาทีสูงสุดที่พนักงานทำงานได้ในกรอบเวลาที่กำหนด หากพนักงานได้รับมอบหมายให้อยู่ในกะที่ทับซ้อน (ทั้งหมดหรือบางส่วน) กับกรอบเวลา จำนวนนาทีที่กะนั้นทับซ้อนกับกรอบเวลาจะรวมอยู่ในจำนวนนี้ |
minimum_consecutive_work_days |
จำนวนวันขั้นต่ำติดต่อกันที่พนักงานทำงานได้ พนักงานจะทำงานในวันที่ใดวันหนึ่ง หากมีเวลาเป็นกะที่เริ่มต้นในวันนั้น กะงานที่มีการมอบหมายพนักงานซึ่งเริ่มต้นในกรอบเวลาดังกล่าวจะรวมอยู่ในจำนวนนี้ |
maximum_consecutive_work_days |
จำนวนวันสูงสุดติดต่อกันที่พนักงานทำงานได้ พนักงานจะทำงานในวันที่ใดวันหนึ่ง หากมีเวลาเป็นกะที่เริ่มต้นในวันนั้น กะงานที่มีการมอบหมายพนักงานซึ่งเริ่มต้นในกรอบเวลาดังกล่าวจะรวมอยู่ในจำนวนนี้ |
minimum_shift_count |
จำนวนกะขั้นต่ำที่พนักงานสามารถทำได้ กะการทำงานที่พนักงานได้รับมอบหมายและคาบเกี่ยวกับกรอบเวลาทั้งหมดจะรวมอยู่ในจำนวนนี้ |
maximum_shift_count |
จำนวนกะสูงสุดที่พนักงานจะทำงานได้ กะการทำงานที่พนักงานได้รับมอบหมายและคาบเกี่ยวกับกรอบเวลาทั้งหมดจะรวมอยู่ในจำนวนนี้ |
minimum_rest_minutes |
จำนวนนาทีขั้นต่ำที่พนักงานต้องพักหลังจากสิ้นสุดกะการทำงานหนึ่งก่อนที่จะได้รับมอบหมายให้ทำงานอื่น ข้อจำกัดนี้มีผลกับ Shift ทุกคู่ที่รวมอยู่ใน [ |
Shift
กะงานเป็นการกำหนดกรอบเวลาที่ตายตัวที่พนักงานสามารถทำงานได้
ช่อง | |
---|---|
id |
รหัสที่ไม่ซ้ำกันที่กำหนดให้สำหรับการเปลี่ยนแปลงนี้ |
location_id |
รหัสตำแหน่งที่การเปลี่ยนแปลงนี้ทำงาน เว้นว่างไว้ได้ |
start_date_time |
เวลาเริ่มต้นของการเปลี่ยนแปลง (รวมด้วย) |
end_date_time |
เวลาสิ้นสุดของกะ (ไม่รวม) ปัจจุบันเครื่องมือแก้โจทย์อนุญาตให้สำหรับกะที่มีความยาวไม่เกิน 24 ชม. เท่านั้น |
break_rules[] |
รายการกฎการละเมิดที่เกิดขึ้นระหว่างการเปลี่ยนแปลง พนักงานที่ทำกะนี้จะได้รับการกำหนดช่วงพักทุก |
ShiftAssignment
พนักงานที่จะเปลี่ยนบทบาท
ช่อง | |
---|---|
employee_id |
รหัสพนักงานที่กำหนด |
shift_id |
รหัส Shift ที่กำหนดให้พนักงาน |
role_id |
รหัสบทบาทที่พนักงานได้รับมอบหมายสำหรับกะนี้ |
breaks[] |
รายการช่วงพักสำหรับงานกะนี้ |
ShiftGenerationSolutionStatus
สถานะโซลูชันที่ระบุในคำตอบของโปรแกรมแก้โจทย์
Enum | |
---|---|
SHIFT_GENERATION_SOLUTION_STATUS_UNSPECIFIED |
สถานะที่ไม่ได้ระบุสำหรับคำตอบ |
SHIFT_GENERATION_SOLVED |
โปรแกรมแก้โจทย์พบวิธีแก้โจทย์ภายในเวลาที่กำหนด |
SHIFT_GENERATION_NOT_SOLVED |
ปัญหาป้องกันไม่ให้เครื่องมือแก้โจทย์สร้างการเปลี่ยนแปลงได้ |
SHIFT_GENERATION_NOT_SOLVED_DEADLINE_EXCEEDED |
ระบบไม่สามารถสร้างการเปลี่ยนแปลงเพื่อครอบคลุมความต้องการภายในระยะเวลาที่กำหนด |
ShiftPreference
ค่ากำหนดที่เป็นตัวเลขสำหรับรหัส Shift ที่เฉพาะเจาะจง
ช่อง | |
---|---|
shift_id |
รหัส Shift ที่ระบุค่ากำหนด |
preference |
ค่านิยมที่มากกว่าแสดงถึงการเปลี่ยนแปลงที่ต้องการมากกว่า |
ShiftRequest
คำขอของพนักงานที่จะมอบหมายหรือไม่มอบหมายงานให้เข้างาน
ช่อง | |
---|---|
priority |
ระดับความสำคัญของคำขอกำหนดเวลานี้ ลำดับความสำคัญเริ่มต้นสำหรับคำขอการตั้งเวลาทั้งหมดคือ |
shift_ids[] |
รหัสการเปลี่ยนแปลงของคำขอกำหนดเวลา |
type |
ประเภทคำขอ เช่น ระบุว่ามีการมอบหมายงานให้หรือไม่ได้มอบหมายคำขอให้กับชุดกะ |
ShiftTemplate
เทมเพลตที่ระบุกฎสำหรับการสร้างกะการทำงาน กะคือหน่วยงานที่ระบุเวลาเริ่มต้น เวลาสิ้นสุด และอาจมีกิจกรรม (เช่น อาหารกลางวัน ช่วงพัก เป็นต้น) ในคำตอบจะมีการเปลี่ยนแปลงการทำงานในวันที่ที่เจาะจง
ช่อง | |
---|---|
id |
รหัสที่ไม่ซ้ำกันของเทมเพลตนี้ |
earliest_start_time |
เวลาที่เร็วที่สุดในวันที่สามารถเริ่มต้นกะได้ ค่านี้จะระบุด้วยชั่วโมงและนาที โดยจะไม่สนใจวินาทีและนาโน |
latest_start_time |
เวลาล่าสุดในวันที่สามารถเริ่มต้นกะได้ ค่านี้จะระบุด้วยชั่วโมงและนาที โดยจะไม่สนใจวินาทีและนาโน หากค่านี้น้อยกว่า |
duration_minutes |
ระยะเวลาคงที่ของการเปลี่ยนแปลงที่สร้างโดยเทมเพลตนี้ |
start_time_increment_minutes |
เวลาที่เพิ่ม (เป็นนาที) ที่ใช้ในการสร้างชุดเวลาเริ่มต้นที่เป็นไปได้ระหว่าง |
days_off_count_per_week |
จำนวนวันที่แน่นอนต่อสัปดาห์ พนักงานจะมีวันหยุดให้หากไม่ได้รับมอบหมายให้เข้ากะที่เริ่มต้นในวันนั้น สัปดาห์คือ 7 วันและเริ่มต้นในวันอาทิตย์ |
event_templates[] |
กฎสำหรับการสร้างเหตุการณ์สำหรับกะแต่ละรายการ จะมี 1 เหตุการณ์ที่แน่นอนในแต่ละกะของแต่ละเหตุการณ์ที่ระบุ |
minimum_interevent_gap_minutes |
จำนวนนาทีขั้นต่ำระหว่างการสิ้นสุดของเหตุการณ์หนึ่งและการเริ่มต้นเหตุการณ์ถัดไป |
maximum_employee_count |
จำนวนพนักงานสูงสุดที่สามารถกำหนดให้กับกะทั้งหมดที่สร้างขึ้นโดยเทมเพลตนี้ |
SolutionStatus
สถานะวิธีแก้โจทย์ (ซึ่งก็คือกำหนดการ) ที่ให้ไว้ในการตอบสนองของเครื่องมือแก้โจทย์
Enum | |
---|---|
SOLUTION_STATUS_UNSPECIFIED |
สถานะที่ไม่ได้ระบุสำหรับคำตอบ |
FEASIBLE |
กำหนดเวลาที่ส่งกลับสามารถทำได้ แต่อาจไม่ดีที่สุด |
OPTIMAL |
กำหนดเวลาที่ส่งคืนเหมาะสมที่สุดแล้ว |
INFEASIBLE |
ไม่มีกำหนดเวลาที่เป็นไปได้สำหรับข้อจำกัดที่ระบุ เครื่องมือแก้โจทย์อาจแสดงผลค่านี้หากไม่เป็นไปตามข้อจำกัดชุดย่อยของข้อจำกัดที่มีระดับความสำคัญ PRIORITY_MANDATORY |
NOT_SOLVED |
ไม่พบกำหนดการ |
NOT_SOLVED_DEADLINE_EXCEEDED |
ไม่พบกำหนดการภายในระยะเวลาที่กำหนด |
SolveParameters
พารามิเตอร์ที่ควบคุมการแก้โจทย์ปัญหาการจัดตารางเวลาสำหรับกะการทำงานเพียงวิธีเดียว
ช่อง | |
---|---|
time_limit |
ระยะเวลาสูงสุดที่เครื่องมือแก้โจทย์ควรใช้กับโจทย์ หากไม่ได้ตั้งค่า ค่าเริ่มต้นจะเป็น 1 นาที ค่านี้ไม่ใช่ค่าจำกัดแบบเข้มงวด และไม่ได้พิจารณาค่าใช้จ่ายในการสื่อสาร เวลาในการตอบสนองที่คาดไว้ในการแก้ปัญหาอาจเกินค่านี้เล็กน้อย |
SolverConfig
ระบุพารามิเตอร์เพิ่มเติมเพื่อแก้โจทย์การสร้าง Shift
ช่อง | |
---|---|
time_limit |
ระยะเวลาสูงสุดที่เครื่องมือแก้โจทย์ควรใช้กับโจทย์ หากไม่ได้ตั้งค่า ค่าเริ่มต้นจะเป็น 1 นาที การเลือกการจำกัดเวลาควรขึ้นอยู่กับขนาดของปัญหา ตัวอย่างเช่น เมื่อแก้ปัญหาอินสแตนซ์ 7 วันด้วย ค่านี้ไม่ใช่ค่าจำกัดแบบเข้มงวด และไม่ได้พิจารณาค่าใช้จ่ายในการสื่อสาร เวลาในการตอบสนองที่คาดไว้ในการแก้ปัญหาอาจเกินค่านี้เล็กน้อย |
multi_day_schedule |
หากเป็น "จริง" เครื่องมือแก้โจทย์จะสร้าง |
shift_events_can_change |
หากเป็นจริง |
WorkStatus
พนักงานทำงานอยู่หรือไม่
Enum | |
---|---|
WORK_STATUS_UNSPECIFIED |
สถานะงานที่ไม่รู้จัก |
STATUS_WORK |
สถานะที่แสดงถึงพนักงานทำงานอยู่ |
STATUS_NOT_WORK |
สถานะที่แสดงถึงพนักงานที่ไม่ได้ทำงาน |