الفهرس
Break
(رسالة)BreakRule
(رسالة)BudgetRequirement
(رسالة)CoverageRequirement
(رسالة)CoverageRequirement.RoleRequirement
(رسالة)CoverageRequirement.SkillRequirement
(رسالة)DemandCoverageViolation
(رسالة)Employee
(رسالة)EmployeeDemand
(رسالة)EmployeeSchedule
(رسالة)EmployeeSchedule.ShiftWithEvents
(رسالة)EmployeeSchedule.ShiftWithEvents.Event
(رسالة)EventTemplate
(رسالة)HourlyContract
(رسالة)HourlyContract.OvertimePeriod
(رسالة)Priority
(تعداد)ResourceConstraint
(رسالة)SchedulingConstraint
(رسالة)Shift
(رسالة)ShiftAssignment
(رسالة)ShiftGenerationSolutionStatus
(تعداد)ShiftPreference
(رسالة)ShiftRequest
(رسالة)ShiftTemplate
(رسالة)SolutionStatus
(تعداد)SolveParameters
(رسالة)SolverConfig
(رسالة)WorkStatus
(تعداد)
استراحة
فترة زمنية يقاطع فيها الموظف عمله أثناء مناوبة العمل.
الحقول | |
---|---|
start_date_time |
تمثّل هذه السمة وقت بدء الاستراحة. |
duration_minutes |
مدة الاستراحة بالدقائق. |
BreakRule
يشير ذلك المصطلح إلى قاعدة تحدِّد الوقت الذي يمكن أن تبدأ فيه الاستراحة ضِمن وردية ومدتها. يتمّ تحديد قائمة كلّ الفواصل المحتملة التي يتمّ أخذها في الاعتبار بزيادات القيمة rule_increment_minutes
. على سبيل المثال، إذا كانت قاعدة الفاصل تعرض نموذجًا لفاصل مدته 30 دقيقة يمكن أن يبدأ بين 10:00 و11:00، وكانت زيادة القاعدة 20 دقيقة، تكون قائمة الفواصل التي يتم أخذها في الاعتبار: [10:00، 10:30]، [10:20، 10:50]، [10:10، 0.30]، [10:10، 11].
الحقول | |
---|---|
earliest_start_time |
أقرب وقت لبدء الفاصل (شامل) يمكن ضبط |
latest_start_time |
آخر وقت بدء للاستراحة (شامل) يمكن ضبط |
duration_minutes |
مدة الاستراحة بالدقائق. |
rule_increment_minutes |
[اختياري] زيادة الوقت بالدقائق لجميع الفواصل التي يمكن اعتبارها في قاعدة الفاصل هذه. وإذا لم يتم ضبط السياسة، سيتم ضبطها تلقائيًا على " |
BudgetRequirement
متطلبات الميزانية لفترة زمنية معينة.
الحقول | |
---|---|
total_budget |
إجمالي الميزانية للفترة الزمنية المحدّدة. يجب منح الميزانية الإجمالية إذا كانت الأولوية إذا لم يتم ضبط السياسة |
start_date_time |
وقت البدء للوقت الذي تنطبق فيه هذه الميزانية. إذا لم يتم تحديد وقت البدء، سيتم ضبطه ليكون أقرب وقت بدء لجميع الورديات المحدّدة. |
end_date_time |
وقت الانتهاء الذي ينطبق فيه هذه الميزانية إذا لم يتم تحديد وقت الانتهاء، يتم تحديده ليكون آخر وقت انتهاء لجميع الورديات المحدّدة. |
priority |
مستوى الأولوية لاستيفاء متطلبات الميزانية خلال الفترة الزمنية المحدّدة. الأولوية التلقائية هي يُرجى العلم أنّه إذا كانت هذه الأولوية أعلى من أولويات القيود الأخرى، وإذا كانت |
CoverageRequirement
يحدد متطلب التغطية عدد الموظفين المطلوبين لمجموعة من الأدوار و/أو المهارات خلال فترة زمنية معيّنة وفي موقع جغرافي معيّن. لا يمكن أن تتداخل فواصل التاريخ والوقت في موقع معيّن. يمكن بدلاً من ذلك تقديم قائمة بأرقام تعريف نوبات العمل بدلاً من فترة زمنية وموقع جغرافي. يمكن فقط للموظفين الذين يمكن تكليفهم بالدور المحدد (أو الذين يملكون المهارة المحددة) تلبية هذا الشرط.
بالنسبة إلى دور و/أو مهارة معيّنة، يتم استيفاء متطلبات التغطية عندما يعمل عدد لا يقل عن target_employee_count
من الموظفين في كل لحظة خلال الفترة الزمنية (أو لكل نوبة عمل في shift_ids
). وفي المقابل، يتم انتهاك متطلبات التغطية في حال وجود عدد أقل من target_employee_count
من الموظفين الذين يعملون خلال هذه الفترة الزمنية في أي وقت من الفترة الزمنية (أو لأي من الورديات في shift_ids
). لا يزال عدد الموظفين العاملين أكثر من 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[] |
معرّفات الأدوار التي يمكن لهذا الموظف تنفيذها. يجب تحديد دور واحد على الأقل. عندما يتم تعيين موظف إلى وردية، يتم أيضًا تعيينه إلى دور واحد من هذه القائمة. قد يتم تعيين الموظف لأدوار مختلفة أثناء نافذة الجدولة. |
skill_ids[] |
معرّفات المهارات التي يمتلكها هذا الموظف. يمكن أن تكون هذه القائمة فارغة. عندما يتم تعيين موظف لنوبة، فإنه يستخدم أي مجموعة فرعية من المهارات المدرجة هنا لتغطية متطلبات المهارة طوال مدة النوبة المعينة. |
shift_preferences[] |
تبديل الإعدادات المفضّلة لهذا الموظف تمثل الورديات المحددة هنا الورديات التي يفضل الموظف أن يتم التكليف بها خلال مهلة الجدولة. يجب أن تكون أرقام تعريف الورديات المحدّدة في |
scheduling_constraints[] |
قائمة قيود الجدولة لهذا الموظف. مستوى الأولوية التلقائي لكل من هذه القيود هو |
resource_constraints[] |
يمكن إضافة أي قيود إضافية لم يتم تحديدها في |
shift_requests[] |
قائمة بطلبات نوبات العمل للموظف يمكن أن يكون الطلب هو تعيين أحد الموظفين أو عدم تعيينه لنوبات محددة. يمكن تمثيل أي مهام جدولة ثابتة للموظف باستخدام |
hourly_contract |
عقد يحدد معدلات العمل المنتظم والإضافي بالساعة للموظف. |
EmployeeDemand
تحدِّد هذه السمة عدد الموظفين المطلوبين لتغطية الطلب في الفترة الزمنية المحدّدة التي تشمل التاريخ والوقت.
الحقول | |
---|---|
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 ساعة) يتم استخدامها لتحديد مقدار تعويض العمل الإضافي. ولكل فترة مضاعِف وقت إضافي (على سبيل المثال، 1.5) مقارنةً بـ base_hourly_rate
والحد الأقصى لعدد الساعات التي يمكن اعتبارها عملاً منتظمًا (بدون وقت إضافي). يتم احتساب أي نوبة تتداخل مع الفترة الزمنية start_date_time
(شاملة) وend_date_time
(حصرية) ضمن إجمالي عدد ساعات العمل خلال هذه الفترة. وفي حال كان التداخل جزئيًا، سيتم احتساب الساعات المتداخلة فقط.
الحقول | |
---|---|
overtime_multiplier |
المضاعف لحساب معدل الوقت الإضافي كل ساعة (يجب أن يكون أكبر أو يساوي 1.0). يتم عادةً احتساب معدل العمل الإضافي في الساعة على النحو التالي: |
start_date_time |
وقت البدء للفترة الزمنية الإضافية. إذا تداخلت نوبة عمل هذه المرة، يتم احتساب ساعات هذه الوردية من |
end_date_time |
وقت الانتهاء للفترة الزمنية الإضافية. إذا تداخلت الوردية هذه المرة، يتم احتساب ساعات هذه الوردية على الأكثر حتى |
maximum_regular_hours |
يشير ذلك المصطلح إلى الحد الأقصى لعدد ساعات العمل التي يتم دفعها بمعدل منتظم (بدون وقت إضافي). يجب أن تكون هذه الكمية موجبة. |
Priority
مستوى الأولوية لأي قيد على جدول الموظف أو متطلبات التغطية. ويشمل ذلك SchedulingConstraint
وResourceConstraint
وShiftRequest
وCoverageRequirement
. نظرًا لإمكانية وجود قيود متضاربة، فليس من الممكن دائمًا تلبية كل قيد. على هذا النحو، فإن لكل نوع من القيد أولوية (يمنحها المستخدم أو افتراضية) تخبر أداة الحلّ بالأهمية النسبية لجميع القيود المعطاة لجدول زمني كامل.
عمليات التعداد | |
---|---|
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
تحدد النوبة الزمنية فترة زمنية ثابتة يمكن للموظفين من خلالها العمل.
الحقول | |
---|---|
id |
تم تخصيص معرّف فريد لهذا الوردية. |
location_id |
رقم تعريف الموقع الجغرافي الذي تعمل فيه هذه الوردية يمكن أن يكون هذا الحقل فارغًا. |
start_date_time |
وقت بدء الوردية (شامل). |
end_date_time |
وقت انتهاء التبديل (شامل) في الوقت الحالي، لا تسمح أداة الحلّ إلا بنوبات العمل التي تقلّ مدتها عن 24 ساعة. |
break_rules[] |
قائمة بقواعد الفواصل التي تحدث أثناء وردية العمل. يتم منح الموظفين الذين يجرون هذه الوردية استراحة لكل |
ShiftAssignment
موظف لنقل تعيين الدور.
الحقول | |
---|---|
employee_id |
رقم تعريف الموظف الذي يتم تعيينه. |
shift_id |
رقم تعريف التبديل الذي تم تخصيصه للموظف. |
role_id |
رقم تعريف الدور الذي تم تعيينه للموظف في الوردية. |
breaks[] |
قائمة الفواصل الإعلانية لإسناد الورديات هذه |
ShiftGenerationSolutionStatus
حالة الحلّ المقدَّمة في الردّ على أداة الحلّ
عمليات التعداد | |
---|---|
SHIFT_GENERATION_SOLUTION_STATUS_UNSPECIFIED |
حالة الردّ غير محدّدة. |
SHIFT_GENERATION_SOLVED |
وجدت أداة الحلّ حلاً في الحد الزمني المقدَّم. |
SHIFT_GENERATION_NOT_SOLVED |
حدثت مشكلة منعت أداة الحلّ من إنشاء ورديات. |
SHIFT_GENERATION_NOT_SOLVED_DEADLINE_EXCEEDED |
تعذّر إنشاء نوبات العمل لتغطية الطلب خلال الفترة الزمنية المحدّدة. |
ShiftPreference
تفضيل رقمي لمعرّف تبديل معيّن.
الحقول | |
---|---|
shift_id |
رقم تعريف Shift الذي تم تحديد التفضيل له. |
preference |
تشير القيم الأكبر للتفضيل إلى التغيير المطلوب بشكل أكثر. |
ShiftRequest
طلب أحد الموظفين بأن يتم تعيينه أو عدم تكليفه بنوبات معيّنة
الحقول | |
---|---|
priority |
مستوى الأولوية لطلب الجدولة هذا. إنّ الأولوية التلقائية لجميع طلبات الجدولة هي |
shift_ids[] |
أرقام تعريف Shift لطلب الجدولة. |
type |
نوع الطلب، مثلاً ما إذا كان الطلب قد تم إسناده إلى مجموعة الورديات أم لا |
ShiftTemplate
نموذج يحدّد قواعد إنشاء ورديات. النوبة عمل هي وحدة عمل تحدد وقت البدء ووقت الانتهاء وقد تحتوي على أحداث (مثل الغداء والاستراحات وما إلى ذلك). سيتم تخصيص الوردية لتاريخ محدد في الرد.
الحقول | |
---|---|
id |
المعرّف الفريد لهذا النموذج. |
earliest_start_time |
أقرب وقت في اليوم يمكن أن تبدأ فيه الوردية. يتم تحديد هذه القيمة بالساعات والدقائق، ويتم تجاهل الثواني والنانوات. |
latest_start_time |
آخر وقت في اليوم يمكن أن يبدأ فيه التحويل. يتم تحديد هذه القيمة بالساعات والدقائق، ويتم تجاهل الثواني والنانوات. إذا كانت هذه القيمة أقل من |
duration_minutes |
مدة ثابتة للوردية التي تم إنشاؤها بواسطة هذا النموذج. |
start_time_increment_minutes |
الفترة الزمنية (بالدقائق) المستخدَمة لإنشاء مجموعة أوقات البدء المحتملة بين |
days_off_count_per_week |
عدد ثابت من أيام الإجازة في الأسبوع. يحصل الموظف على يوم إجازة إذا لم يكن مسندًا إليه في وردية تبدأ في ذلك اليوم. الأسبوع هو 7 أيام ويبدأ يوم الأحد. |
event_templates[] |
قواعد إنشاء أحداث لكل وردية سيتم تضمين حدث واحد بالضبط في كل وردية لكل حدث محدّد. |
minimum_interevent_gap_minutes |
الحد الأدنى لعدد الدقائق بين نهاية حدث وبداية الحدث الذي يليه. |
maximum_employee_count |
الحد الأقصى لعدد الموظفين الذين يمكن إسنادهم إلى جميع الورديات التي تم إنشاؤها باستخدام هذا النموذج. |
SolutionStatus
حالة الحل (أي الجدول الزمني) المقدَّمة في الردّ على أداة الحلّ
عمليات التعداد | |
---|---|
SOLUTION_STATUS_UNSPECIFIED |
حالة الردّ غير محدّدة. |
FEASIBLE |
الجدول الزمني المعروض ممكن، ولكنه قد لا يكون مثاليًا. |
OPTIMAL |
الجدول الزمني المعروض هو الأمثل. |
INFEASIBLE |
لا يوجد جدول عملي للقيود المحددة. قد تعرض أداة الحلّ هذه القيمة في حال تعذّر استيفاء أي مجموعة فرعية من القيود ذات مستوى الأولوية PRIORITY_MANDATORY . |
NOT_SOLVED |
لم يتم العثور على أي جدول زمني. |
NOT_SOLVED_DEADLINE_EXCEEDED |
لم يتم العثور على أي جدول زمني خلال الحد الزمني المحدد. |
SolveParameters
المَعلمات التي تتحكّم في حل واحد لمشكلة جدولة نوبات العمل
الحقول | |
---|---|
time_limit |
الحد الأقصى للوقت الذي يجب أن تقضيه أداة الحلّ في المسألة وفي حال ترك هذه السياسة بدون ضبط، سيتم ضبط القيمة التلقائية على دقيقة واحدة. هذه القيمة ليست حدًا صارمًا ولا تأخذ في الاعتبار النفقات العامة للاتصال. قد يتجاوز وقت الاستجابة المتوقّع لحل المشكلة هذه القيمة قليلاً. |
SolverConfig
تُحدِّد مَعلمات إضافية لحل مشكلة إنشاء ملفات Shift.
الحقول | |
---|---|
time_limit |
الحد الأقصى للوقت الذي يجب أن تقضيه أداة الحلّ في المسألة وفي حال ترك هذه السياسة بدون ضبط، سيتم ضبط القيمة التلقائية على دقيقة واحدة. يجب أن يعتمد اختيار حد زمني على حجم المشكلة. على سبيل المثال، عند حلّ مثيل من 7 أيام يحتوي على 2 هذه القيمة ليست حدًا صارمًا ولا تأخذ في الاعتبار النفقات العامة للاتصال. قد يتجاوز وقت الاستجابة المتوقّع لحل المشكلة هذه القيمة قليلاً. |
multi_day_schedule |
في حال كانت القيمة صحيحة، تُنشئ أداة الحلّ |
shift_events_can_change |
في حال كان هذا صحيحًا، قد تتضمّن |
WorkStatus
ما إذا كان الموظف يعمل أم لا.
عمليات التعداد | |
---|---|
WORK_STATUS_UNSPECIFIED |
حالة العمل غير معروفة. |
STATUS_WORK |
الحالة التي تمثّل موظّفًا موظفًا |
STATUS_NOT_WORK |
حالة تمثّل موظفًا غير عامل. |