"This notebook was prepared by [Donne Martin](https://github.com/donnemartin). Source and license info is on [GitHub](https://github.com/donnemartin/system-design-primer-primer)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Design a call center"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Constraints and assumptions\n",
"\n",
"* What levels of employees are in the call center?\n",
" * Operator, supervisor, director\n",
"* Can we assume operators always get the initial calls?\n",
" * Yes\n",
"* If there is no free operators or the operator can't handle the call, does the call go to the supervisors?\n",
" * Yes\n",
"* If there is no free supervisors or the supervisor can't handle the call, does the call go to the directors?\n",
" * Yes\n",
"* Can we assume the directors can handle all calls?\n",
" * Yes\n",
"* What happens if nobody can answer the call?\n",
" * It gets queued\n",
"* Do we need to handle 'VIP' calls where we put someone to the front of the line?\n",
" * No\n",
"* Can we assume inputs are valid or do we have to validate them?\n",
This notebook was prepared by [Donne Martin](https://github.com/donnemartin). Source and license info is on [GitHub](https://github.com/donnemartin/system-design-primer-primer).
%% Cell type:markdown id: tags:
# Design a call center
%% Cell type:markdown id: tags:
## Constraints and assumptions
* What levels of employees are in the call center?
* Operator, supervisor, director
* Can we assume operators always get the initial calls?
* Yes
* If there is no free operators or the operator can't handle the call, does the call go to the supervisors?
* Yes
* If there is no free supervisors or the supervisor can't handle the call, does the call go to the directors?
* Yes
* Can we assume the directors can handle all calls?
* Yes
* What happens if nobody can answer the call?
* It gets queued
* Do we need to handle 'VIP' calls where we put someone to the front of the line?
* No
* Can we assume inputs are valid or do we have to validate them?