Contact Center

พิจารณาศูนย์ติดต่อที่คุณต้องการสร้างการเปลี่ยนแปลงที่ ก็ครอบคลุมความต้องการพนักงานด้วย ศูนย์ติดต่อให้บริการทุกวันตลอด 24 ชั่วโมง และ จำนวนพนักงานที่มีความต้องการจะเปลี่ยนแปลงไปเมื่อเวลาผ่านไป การว่าจ้างศูนย์ติดต่อ ทั้งพนักงานประจำและพาร์ทไทม์

พนักงานเต็มเวลาเข้ากะ 9 ชั่วโมง มีช่วงพัก 1 ชั่วโมง 4 หรือ 5 ชั่วโมง หลังจากเริ่มเข้ากะ และสามารถเริ่มกะในเวลาระหว่าง 5.00 น. ถึง 12:00 น. พนักงานพาร์ทไทม์ทำกะ 4 ชั่วโมงและพักสายตา 15 นาที สิ้นสุดชั่วโมงการทำงานที่สอง และสามารถเริ่มกะได้ตลอดเวลา ในทั้ง 2 รูปแบบ กรณีต่างๆ จำนวนเวลาเริ่มต้นการเปลี่ยนแปลงที่เป็นไปได้จะคิดเพิ่มครั้งละ 15 นาที

ศูนย์ติดต่อดังกล่าวสนใจที่จะวางแผนข้อกำหนดด้านแรงงานสำหรับ ในอีก 2 วันถัดไป โดยพิจารณาว่าอาจมีสูงสุด 20 คน จากการทำงานแบบเต็มเวลา และพนักงานพาร์ทไทม์ 40 คน

เทมเพลต Shift สำหรับพนักงานประจำและพนักงานพาร์ทไทม์

กฎที่กำหนดการเปลี่ยนแปลงที่ถูกต้องสามารถแสดงด้วย shift เทมเพลต ภายในเทมเพลต Shift สามารถใช้แทนแนวคิดการหยุดพักได้ ด้วยเทมเพลตเหตุการณ์ เช่น เทมเพลต 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 โดยที่องค์ประกอบแต่ละอย่างเหล่านี้มีลักษณะเป็นช่วงเวลาและพนักงาน นับจำนวน ในตัวอย่างนี้ ความต้องการมีความผันผวนระหว่างพนักงาน 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
      },
      ...
    ]
    ...
  }