ลองพิจารณาศูนย์ติดต่อที่ทำงานระหว่าง 8.30 ถึง 18.00 น. โดยมีตัวแทน 4 คนที่สามารถรับสายได้หลายภาษา เราสามารถกำหนดตัวแทนได้ 3 แบบด้วยกัน ได้แก่ 8:30-16:30 น., 9:00-17:00 น. และ 10:00-18:00 น. จากการคาดการณ์ที่ผ่านมา เห็นได้ชัดว่าความต้องการสำหรับแต่ละภาษาจะแตกต่างกันตามวันของสัปดาห์ ในวันจันทร์ การโทรมักเป็นภาษาอังกฤษและภาษาโปรตุเกส ดังนั้นต้องมีตัวแทนที่รู้ภาษาเหล่านี้อย่างน้อย 1 คน ทุกวันอังคาร การโทรมักจะเป็นภาษาสเปนและฝรั่งเศส ดังนั้นจะต้องมีตัวแทนที่เชี่ยวชาญอย่างน้อย 1 คนในภาษาเหล่านี้ ไม่ว่าจะเป็นภาษาใดก็ตาม ต้องมี Agent อย่างน้อย 2 ตัวที่พร้อมให้บริการตลอดเวลา
เปลี่ยนวันละหลายครั้ง
ในตัวอย่างศูนย์ติดต่อนี้ จะมีการปรับ 3 ครั้งต่อวัน และขอบเขตการวางแผนจะครอบคลุม 2 วัน ตัวอย่างเช่น กะ 8:30-16:30 ในวันจันทร์หนึ่งๆ จะแสดงเป็นดังนี้
{
"shifts": [
{
"id": "Monday-2024-7-1 8:30-16:30",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 16,
"minutes": 30
}
}
]
}
ตัวอย่างการปรับ 6 แบบ
{
"shifts": [
{
"id": "Monday-2024-7-1 8:30-16:30",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 16,
"minutes": 30
}
},
{
"id": "Monday-2024-7-1 9:00-17:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 9
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 17
}
},
{
"id": "Monday-2024-7-1 10:00-18:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 10
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 18
}
},
{
"id": "Tuesday-2024-7-2 8:30-16:30",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 16,
"minutes": 30
}
},
{
"id": "Tuesday-2024-7-2 9:00-17:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 9
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 17
}
},
{
"id": "Tuesday-2024-7-2 10:00-18:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 10
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 18
}
}
]
}
การใช้ภาษาในฐานะทักษะของพนักงาน
ภาษาที่ตัวแทนรู้จะแสดงเป็น skill
ตัวแทนคนแรกที่ชื่อว่า
ลอเรน รู้ภาษาสเปนและโปรตุเกส และเป็นตัวแทนของ
{
"employees": [
{
"id": "Lauren",
"role_ids": [
"Agent"
],
"skill_ids": [
"ES",
"PR"
]
}
]
}
นอกจากนี้ยังสามารถเพิ่มข้อจำกัดด้านกำหนดเวลาประเภทอื่นๆ คำขอกะการทำงาน และค่ากำหนดของพนักงานตามที่อธิบายไว้ในตัวอย่างอื่นๆ ได้
ตัวอย่างกับพนักงานทั้ง 4 คน
{
"employees": [
{
"id": "Lauren",
"role_ids": [
"Agent"
],
"skill_ids": [
"ES",
"PR"
]
},
{
"id": "Markus",
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"PR"
]
},
{
"id": "Hans",
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"ES"
],
"shiftRequests": [
{
"shiftIds": [
"Monday-2024-7-1 10:00-18:00"
],
"type": "STATUS_NOT_WORK"
}
]
},
{
"id": "Peter",
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"FR"
],
"shiftPreferences": [
{
"shiftId": "Monday-2024-7-1 10:00-18:00",
"preference": 1
}
]
}
]
}
ความครอบคลุมของดีมานด์สำหรับตัวแทนและภาษา
ความต้องการสำหรับตัวแทนหรือภาษาที่ต้องการจะแสดงด้วยข้อกำหนดด้านการครอบคลุม มีการระบุ Agent 2 รายการใน roleRequirements
ส่วนข้อกำหนดสำหรับภาษาจะระบุอยู่ใน skillRequirements
ข้อกำหนดการคุ้มครองสำหรับวันจันทร์และวันอังคาร
แบ่งออกเป็นดังนี้
{
"coverageRequirements": [
{
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 18
},
"roleRequirements": [
{
"role_id": "Agent",
"target_employee_count": 1,
"priority": "PRIORITY_HIGH"
}
],
"skillRequirements": [
{
"skill_id": "EN",
"target_employee_count": 1
},
{
"skill_id": "PR",
"target_employee_count": 1
}
]
},
{
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 18,
"minutes": 0
},
"roleRequirements": [
{
"role_id": "Agent",
"target_employee_count": 1,
"priority": "PRIORITY_HIGH"
}
],
"skillRequirements": [
{
"skill_id": "ES",
"target_employee_count": 1
},
{
"skill_id": "FR",
"target_employee_count": 1
}
]
}
],
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"ES",
"FR",
"PR"
]
}
โปรดทราบว่าต้องกำหนดบทบาทและรหัสทักษะทั้งหมดในคำขอ โดยต้องตรงกับรหัสที่ใช้กำหนดพนักงาน
ตัวอย่างคำขอที่สมบูรณ์
{
{
"requestId": "contact_center_examples",
"solve_parameters": {
"time_limit": {
"seconds": 60
}
},
"employees": [
{
"id": "Lauren",
"role_ids": [
"Agent"
],
"skill_ids": [
"ES",
"PR"
]
},
{
"id": "Markus",
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"PR"
]
},
{
"id": "Hans",
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"ES"
],
"shiftRequests": [
{
"shiftIds": [
"Monday-2024-7-1 10:00-18:00"
],
"type": "STATUS_NOT_WORK"
}
]
},
{
"id": "Peter",
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"FR"
],
"shiftPreferences": [
{
"shiftId": "Monday-2024-7-1 10:00-18:00",
"preference": 1
}
]
}
],
"shifts": [
{
"id": "Monday-2024-7-1 8:30-16:30",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 16,
"minutes": 30
}
},
{
"id": "Monday-2024-7-1 9:00-17:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 9
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 17
}
},
{
"id": "Monday-2024-7-1 10:00-18:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 10
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 18
}
},
{
"id": "Tuesday-2024-7-2 8:30-16:30",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 16,
"minutes": 30
}
},
{
"id": "Tuesday-2024-7-2 9:00-17:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 9
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 17
}
},
{
"id": "Tuesday-2024-7-2 10:00-18:00",
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 10
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 18
}
}
],
"coverageRequirements": [
{
"startDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 1,
"hours": 18
},
"roleRequirements": [
{
"role_id": "Agent",
"target_employee_count": 1,
"priority": "PRIORITY_HIGH"
}
],
"skillRequirements": [
{
"skill_id": "EN",
"target_employee_count": 1
},
{
"skill_id": "PR",
"target_employee_count": 1
}
]
},
{
"startDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 8,
"minutes": 30
},
"endDateTime": {
"year": 2024,
"month": 7,
"day": 2,
"hours": 18,
"minutes": 0
},
"roleRequirements": [
{
"role_id": "Agent",
"target_employee_count": 1,
"priority": "PRIORITY_HIGH"
}
],
"skillRequirements": [
{
"skill_id": "ES",
"target_employee_count": 1
},
{
"skill_id": "FR",
"target_employee_count": 1
}
]
}
],
"role_ids": [
"Agent"
],
"skill_ids": [
"EN",
"ES",
"FR",
"PR"
]
}
}
ตัวอย่างการตอบกลับ
การตอบกลับของการแก้โจทย์จะมีการกำหนด Agent ให้กับการเปลี่ยนแปลงและสถานะของกระบวนการเพิ่มประสิทธิภาพ
ตัวอย่างต่อไปนี้แสดงกะที่กำหนดไว้
{
"solutionStatus": "OPTIMAL",
"shiftAssignments": [
{
"employeeId": "Lauren",
"shiftId": "Tuesday-2024-7-2 10:00-18:00",
"roleId": "Agent"
},
{
"employeeId": "Markus",
"shiftId": "Monday-2024-7-1 8:30-16:30",
"roleId": "Agent"
},
{
"employeeId": "Peter",
"shiftId": "Monday-2024-7-1 10:00-18:00",
"roleId": "Agent"
},
{
"employeeId": "Peter",
"shiftId": "Tuesday-2024-7-2 8:30-16:30",
"roleId": "Agent"
}
],
"requestId": "contact_center_examples"
}