ดัชนี
- 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 | สถานะที่แสดงถึงพนักงานที่ไม่ได้ทำงาน | 
