उस संपर्क केंद्र पर विचार करें जिसके लिए आप शिफ़्ट जनरेट करना चाहते हैं, जिससे कर्मचारियों की मांग को कवर किया जाता है. संपर्क केंद्र 24/7 काम करता है और कर्मचारियों की ज़रूरत की संख्या, समय के साथ बदलती रहती है. संपर्क केंद्र ने नौकरी दे दी है ये दोनों फ़ुल-टाइम और पार्ट-टाइम कर्मचारी होते हैं.
फ़ुल टाइम कर्मचारी नौ घंटे की शिफ़्ट में काम करते हैं, लेकिन वे चार या पांच घंटे के लिए एक घंटे का ब्रेक लेते हैं की शिफ़्ट शुरू हो जाती है और सुबह 5 बजे के बीच किसी भी समय अपनी शिफ़्ट शुरू की जा सकती है दोपहर 12 बजे. पार्ट-टाइम कर्मचारी चार घंटों की शिफ़्ट में काम करते हैं और 15 मिनट का ब्रेक लेते हैं समय खत्म हो जाता है और अपनी शिफ़्ट किसी भी समय शुरू कर सकता है. दोनों में मामलों में, संभावित शिफ़्ट शुरू होने के समय को 15-मिनट के अंतराल पर माना जाता है.
संपर्क केंद्र, इस बात के लिए योजना बनाने में दिलचस्पी रखता है कि अगले दो दिनों तक काम करते हैं, क्योंकि ज़्यादा से ज़्यादा 20 फ़ुल-टाइम काम हो सकते हैं कर्मचारी और 40 पार्ट-टाइम कर्मचारी हैं.
फ़ुल-टाइम और पार्ट-टाइम कर्मचारियों के लिए टेंप्लेट में बदलाव
मान्य शिफ़्ट तय करने वाले नियमों को शिफ़्ट की मदद से दिखाया जा सकता है टेंप्लेट के बारे में ज़्यादा जानें. शिफ़्ट टेंप्लेट में, ब्रेक के सिद्धांत को दिखाया जा सकता है इवेंट टेंप्लेट का इस्तेमाल करें. उदाहरण के लिए, एक फ़ुल-टाइम के लिए shift टेंप्लेट कर्मचारियों में बदलाव को इस तरह दिखाया गया है:
{
"id": "full-time",
"earliestStartTime": {
"hours": 5
},
"latestStartTime": {
"hours": 12
},
"durationMinutes": 540,
"startTimeIncrementMinutes": 15,
"eventTemplates": [
{
"id": "full-time-break",
"minimumMinutesAfterShiftStart": 240,
"maximumMinutesAfterShiftStart": 300,
"durationMinutes": 60,
"startTimeIncrementMinutes": 60
}
],
"maximumEmployeeCount": 20
}
इसी तरह, पार्ट-टाइम कर्मचारियों को शिफ़्ट करने के लिए, इस टेंप्लेट का इस्तेमाल किया गया है:
{
"id": "part-time",
"earliestStartTime": {},
"latestStartTime": {
"hours": 23,
"minutes": 59
},
"durationMinutes": 240,
"startTimeIncrementMinutes": 15,
"eventTemplates": [
{
"id": "part-time-break",
"minimumMinutesAfterShiftStart": 120,
"maximumMinutesAfterShiftStart": 120,
"durationMinutes": 15,
"startTimeIncrementMinutes": 0
}
],
"maximumEmployeeCount": 40
}
समय के साथ कर्मचारियों की मांग
कर्मचारियों की मांग को EmployeeDemand
की सूची के साथ दिखाया जाता है,
जहां इनमें से हर एक एलिमेंट की विशेषता एक टाइम इंटरवल और एक कर्मचारी की दी गई है.
संख्या. इस उदाहरण में, ग्राहकों की मांग में पिछले 30 दिनों में 4 से 13 कर्मचारियों के बीच
की अवधि दो दिनों की होती है और इसे इस तरह दिखाया जाता है:
{
...
"employeeDemands": [
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 20
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 12
},
"employeeCount": 8
},
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 12
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 20
},
"employeeCount": 12
},
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 20
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 6
},
"employeeCount": 4
},
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 6
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 22,
"hours": 0
},
"employeeCount": 13
}
]
}
पूरे अनुरोध का उदाहरण
{
"solverConfig": {
"timeLimit": "30s"
},
"shiftTemplates": [
{
"id": "full-time",
"earliestStartTime": {
"hours": 5
},
"latestStartTime": {
"hours": 12
},
"durationMinutes": 540,
"startTimeIncrementMinutes": 15,
"eventTemplates": [
{
"id": "full-time-break",
"minimumMinutesAfterShiftStart": 240,
"maximumMinutesAfterShiftStart": 300,
"durationMinutes": 60,
"startTimeIncrementMinutes": 60
}
],
"maximumEmployeeCount": 20
},
{
"id": "part-time",
"earliestStartTime": {},
"latestStartTime": {
"hours": 23,
"minutes": 59
},
"durationMinutes": 240,
"startTimeIncrementMinutes": 15,
"eventTemplates": [
{
"id": "part-time-break",
"minimumMinutesAfterShiftStart": 120,
"maximumMinutesAfterShiftStart": 120,
"durationMinutes": 15,
"startTimeIncrementMinutes": 0
}
],
"maximumEmployeeCount": 40
}
],
"employeeDemands": [
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 20
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 12
},
"employeeCount": 8
},
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 12
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 20
},
"employeeCount": 12
},
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 20,
"hours": 20
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 6
},
"employeeCount": 4
},
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 6
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 22,
"hours": 0
},
"employeeCount": 13
}
]
}
रिस्पॉन्स का उदाहरण
सॉल्वर के जवाब में, कर्मचारियों के शेड्यूल की सूची और उनके ज़रूरी कर्मचारियों की संख्या. अगर मांग पूरी करने के लिए यह ज़रूरी है, तो हो नहीं सकता. जवाब में हर ज़रूरी समय पर उल्लंघन के बारे में भी बताया जाएगा अंतराल.
नीचे दिए गए उदाहरण में, कंपनी के लिए जनरेट किए गए कर्मचारी शेड्यूल में से एक दिखाया गया है फ़ुल टाइम एम्प्लॉयी (स्थायी कर्मचारी):
{
"solutionStatus": "SHIFT_GENERATION_SOLVED",
"employeeSchedules": [
{
"shiftTemplateId": "full-time",
"shifts": [
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 7,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 16,
"minutes": 30
},
"events": [
{
"startDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 12,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 5,
"day": 21,
"hours": 13,
"minutes": 30
},
"eventTemplateId": "full-time-break"
}
]
}
],
"employeeCount": 1
},
...
]
...
}