あるコンタクト センターについて、勤務時間外に勤務時間外に 対応できます。コンタクト センターは 24 時間 365 日稼働し、 必要な従業員数は時間とともに変化する。コンタクトセンターは フルタイム従業員とパートタイム従業員の両方です。
正社員が 9 時間のシフト勤務、1 時間の休憩 4 または 5 時間 午前 5 時から午前 5 時から午後 5 時までの間 午後 12 時パートタイムの社員は、職場で 15 分の休憩を含む 4 時間のシフト勤務 いつでもシフトを開始できます。両方 可能なシフトの開始時間は 15 分単位で検討されます。
コンタクト センターは、従業員の要件を フルタイムで最大 20 人しかいない可能性があることを考慮し、 40 人のパートタイム社員を抱えています
フルタイムおよびパートタイムの従業員向けのシフト テンプレート
有効なシフトを決定するルールは、シフト テンプレート。シフト テンプレート内ではブレークの概念を表現できる イベント テンプレートを使用します。たとえば フルタイムの社員のシフト テンプレートは 従業員のシフトは次のように表されます。
{
"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
のリストで表されます。
各要素は、時間間隔と従業員数、
あります。この例では、従業員数 4 ~ 13 人の需要は、
期間は 2 日間で、次のように表されます。
{
...
"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
}
]
}
レスポンスの例
ソルバーのレスポンスには、従業員のスケジュールのリストと、 それに対応する人数です。需要をカバーするのに できない場合、レスポンスには関連するすべての違反のリストも含まれ、 指定します。
次の例は、特定のサービスに対して生成された従業員スケジュールの 1 つを示しています。 フルタイム正社員:
{
"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
},
...
]
...
}