Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Problem Statement - Scheduling

The logistics of Zomato is awesome because Zomato created a system where everything
was figured out. Even though every employee is a human and would behave and think
differently in uncertain situation, Zomato created a system that ensured that everyone
knows exactly how to navigate every situation and there is no room for confusion or
inefficiency. They simply have to follow the playbook. Can you create a scheduling
system as strong as Zomato’s?
Assume you are in charge of Weekday’s scheduling team. You have a team of 2 college interns
Ram and Shyam who can help you with scheduling. Create a copy of this sheet for this
assignment.
INPUT
Every day, our 100 partner companies reach out to you with over 500 interview scheduling
requests in total. They simply give you their calendly and expect that you will take care of
scheduling end-to-end.
PS: The candidates have already agreed to be interviewed by the specific company a few days
back when we checked with them. You now have to simply schedule.
OUTPUT
1. You will have to make sure that the candidate schedules the interview via the calendly
in whatever ways possible. You can call/email/whatsapp the candidate to ensure that
they do so.
2. 80% of interviews should get scheduled within 24 hrs (scheduling should happen within
24 hrs, interview can happen later as well)
PRODUCT
Create ToDo sheet for Ram and Shyam which they can follow almost blindly and achieve their
output goals.
● You can make as many assumptions as you want.
● You can divide work for Ram and Shyam in whatever ways you want.
● Assume real-world situations. Maybe candidate doesn’t open email, or maybe they
don’t use whatsapp, or maybe they don’t respond to calls - anything can happen. Or
even that the candidate can forget about scheduling via calendly even after agreeing to
do so.
● Also, remember that Ram and Shyam are college interns and might not be great at
figuring things out. You have to make their processes really straightforward.
Expectations:
● Can you break down a problem statement into smaller units
● Can you think of all edge cases
● Can you come up with innovative ideas
● Please documents all your assumptions and thought process. This documentation is a
part of the assignment.
● Once done with the assignment, share it with chetan@weekday.works and
ria@weekday.team
[NOT MANDATORY] Bonus Assignment
Can you make your system robust enough to also achieve the goal of preventing interview
no-shows?
1. You will have to make sure of following up with the candidates and interviewers before
the interview to ensure that both the interviewer and candidate have joined the call.
2. There should be less than 5% no-shows by either of candidate or interviewer.

The aim is to create a robust interview scheduling operational workflow to handle requests
from partner companies. The model should be able to handle real-life scenarios, insure a
minimal drop rate and should be straightforward enough to be executable with minimal
training.
Predefined
● The client(companies) are providing us with their calendly link
● 80% of interviews should get scheduled within 24 hrs
The assumptions are in italics
The solution can be achieved in a variety of ways with varying degrees of automation, we can
look at 2 such cases

Model 1 - Low Automation Route


Step 1 - Receive Interview Requests

● A duplicate sheet should be created to keep track of the workflow, updated every hour,
and new columns to track progress. Which would be updated throughout the
scheduling lifecycle
Assumption - The requests are received through the Weekday portal and are updated in
realtime
● The request will be available to us in an xlsx or a csv file
● Validation can be skipped if data is checked during account creation
● Else
○ Need to validate the data - all the data fields are sufficiently filed (Company
Interviewer, Interviewer Email, Candidate, Candidate Email, Candidate Phone
Scheduling method, Round)
■ Email should be in the form of *@*.*, Phone no - 10 digits (use
pre-defined Excel macros)
○ If any error - raise the issue immediately - have a standard email/message ready
○ Update
Assumption - The requests are received through multiple channels (Weekday portal, Email,
WhatsApp)
This scenario is also applicable if the portal is down for maintenance ad otherwise
● No request should be received verbally or a mix of verbal and written
● Requests should be received only by official mail and/or on an official number
(preferably WhatsApp)
● The client should be provided with a draft email/message to fill in all the fields
● The data should be added to an xlsx file
● Same steps as above - Need to validate the data, If any error - raise the issue, Update
Step 2 - Prioritize The Requests
Assumption - Since the provided Excel file shows no fixed priority thus request should be
handled on a first come first serve bases
Also, we are receiving bulk requests at the same time, both from the same client and from
different clients.
Requests are also coming beyond working hours as we have many international clients
If Ram and Shyam can toggle their working hours or they work in different time zones it can be
easily handled but we are discounting that for a moment

● The data will be processed in an hourly batch


● We need to communicate with our Indian clients to send requests between working
hours (9-5) this allows for better allocation of resources
● Stagger the working hours if possible 9-5 and 12-8
● Mailing beyond 8 pm is also not sensible as our candidates are based out of India
(assumption) - This should also be made clear with our clients
● The request received beyond operational hours should be handled first thing the next
day
○ An intern should be available for a few hours on Saturday to handle pending
requests and follow-up (due to the time zone difference), they can be given
equivalent time off on Monday

Step 3 - Initiating contact with the Candidates

● Mailing and WhatsApp automation can be done through services like MailChimp and
WhatsApp API respectively
● Else
○ Use a Tool such as Mail Merge to take CSV/google sheet data to a predefined
email
○ Use email tracking Apps
○ Using Whatsapp Business will require similar tools
● A call at this stage is not recommended
Since the candidate is receiving client calendly thus client will automatically receive the
interview link but the weekday also needs to update itself if and when the interview is
scheduled
● Use an API built on Calendly
● Else
○ Zapier allows the automation of Calendly meeting output to Google sheet
■ Issue - need to connect client Calendly with Zapier - unlikely
● Else
○ So a form (google forum), at the end of the email to collect the time of the
interview from the interviewer
■ Better to schedule an email 2 hrs from the initial email to act as both
reminder and collect the interview time

● If no response, the escalation protocol


○ 6hrs
○ A Call and WhatsApp message

● If still not
○ Repeat the procedure every 12 hrs
○ If no response in 3 days - inform the client

● If any issue from the candidate side


○ A link in the email which will inform us about the issue (flag)
○ We will call back

Step 4 - Day of the Interview

● Email to both client and candidate at the beginning of the day


● WhatsApp and message to the candidate- 1 hour before the interview
○ Assumption - most of the no-shows are from the candidate side
○ Call not recommended as 500 calls per day (on average)
● Hard to monitor the interview in real time without Calendly API

Step 5 Post Interview

● A forum for both client and candidate to take input

Issues with Model 1

● The biggest issue is the requests coming outside the working hours, even with
staggered work hours, many requests will be up to 12 hours old when 1st addressed
● The interns (Ram and Shyam) will need to familiarise themselves with lots of tools
which will require a learning curve and will have to not only have to execute the steps
but also document them
● Higher probability of bottleneck as calling especially on occasions of no response and on
the day of the interview will be time-consuming and will likely overshadow other work
● A constellation of several services induces more point of failures
● The scalability of this model is questionable as an increase in client requests will require
new interns who will themselves take time to learn

To-do list for Ram and Shyam

● Ram will undertake all the Initiating contact with the Candidate's work
○ Creating hourly batches
○ 1st email and WhatsApp message
● Shyam will undertake the rest
○ Call and WhatsApp if no response
○ Email, WhatsApp and message on the day of the interview
○ Informing the client if no response from the candidate

Model 2 High Automation Route

The weekday portal will have client and candidate profile

Client Integration

● The client will be able to schedule interviews and see their status through a real-time
interface/dashboard
● The client will be able to track candidates’ progress
● A candidate facing dashboard can also be implemented
○ If implemented - all communications and scheduling can be done through the
portal

Scheduling

● A real-time Email, WhatsApp and message will be sent to the candidates


○ Since real-time means, some requests will be sent late at night, for that one
more reminder will be sent in the morning
● A Calendly API will allow one to keep track of the interview schedule
● The candidate profile will be dynamically updated

If No response

● If no response for 6 hrs, this will raise a flag


○ Different flag rules for late-night requests
● A call would be made in case of the flag
● If still no response
○ A flag every 12 hrs - call and also WhatsApp message
○ If no response in 3 days - inform the client

Communication Originating from the Candidate

● A request a call link in the email for any issue (like cancelling etc)
● A flag will generate (higher priority)
○ Higher priority as these candidates have already responded once
● We will contact the candidate through a call before confirming any step
○ Similar response if the candidate tries to call or email us

Day of the Interview

● Email to both parties


● Whatsapp and message to the candidate, 1 hr before
● Calendly API will keep track of the interview

Todo list for Ram and Shyam

● Provide comprehensive training and documentation for them to understand and


execute the workflow effectively. This documentation should cover step-by-step
processes, troubleshooting guidelines, FAQs, and best practices for handling different
scenarios.
● Their primary work will be to handle flags and call the candidates
○ In the morning first, they will clear the flags of the night before
○ Then handle flags as they come
○ Update the candidate profile in case of cancellation also note the reason
■ Though automated cancellation through a link can be provided to reduce
cancellation percentage - on call cancellation is recommended
● If workload allows - call the candidate having an interview at a sensitive time (7 pm - 7
am) - done before the end of the workday
● A call to all the candidates having interviews not undertaken as 500 calls (on average),
will overwhelm the interns
Model 1 Vs Model 2

Matrix Model 1 Model 2

Real-Time/Offhours Requests 0 1

Complexity (for interns) 0 1

Workload 0 1

Ease of Progress Monitoring 0 1

Scalability 0 1

Cost 1 0

Thus Model 2 is preferred (1 vs 5)

Communications Channels

Email

● The preferred mode of communication should be emailing


○ More professional, can carry more information
● First Contact email
○ The email should have all the required information - Company, Interviewer
Name, Calendly link, Round
○ Before the Calendly Link, the candidate should be given a guide on how to make
an account in Calendly - this will prevent candidates from double booking
themselves
■ Also Calendly plugin will act as a reminder
○ Emphasis the candidate's timeframe for scheduling the interview. Clearly state
the deadline or preferred response time to encourage prompt action.
○ Have hyperlinks for candidates for popular video conferencing products - we can
survey our clients to know which are used.
● Reminder email on the day of the interview
○ A reminder about time and time zone
○ Reminder to install video conferencing app (according to client specification)
● Also, draft emails for
○ Confirmation - both client and candidate
○ Cancellation - both client and candidate

WhatsApp

● Informing of interview and directing towards mail


● If an issue with the email
○ A link on WhatsApp to generate a special WhatsApp message (clone of the email)
● The emphasis is on the email as we want to keep things professional, the client might
interview in a stable environment (pc)
○ We can survey clients and candidates to get a better idea and can make the
initial WhatsApp message equally descriptive
● A conventional message should also accompany the WhatsApp message

The candidate should also be updated through Weekday plugin (candidate must be directed to
install it)

Scenarios and Edge Cases

● During onboarding candidate and clients should be explained the process to keep
everyone on the same page
● Send a list of FAQs in the email and WhatsApp message
● The interns (Ram and Shyam) should be provided with these FAQs to answer any
questions
○ A script for the call can also be created
● Candidates making an account in Calendly will prevent double booking
○ Our Calendly API can ensure sufficient time between 2 meetings - at least an
hour
● In case of Natural calamity and internet shutdown in the area
○ A candidate should be first contacted by email - to respond if they can undertake
the interview
■ This is done because usually broadband work in these scenarios
○ If no response then client should be informed of the same and requested to
reschedule
● Candidate Withdrawal
○ Mail on the day of the interview should allow the candidate to raise the flag, so
we can connect to them to ensure the withdrawal
■ Friction is introduced to prevent withdrawal, this decision can be made
automated
○ The client can be provided with alternative interview prospects from our
database
● Candidate Withdrawal due to job acceptance
○ A candidate might be interviewed by several companies and might get selected in
one with interviews in another pending. We are assuming that the client inform
us about
○ Then the candidate be given the option to either continue with other interviews
(to choose the best offer) or to withdraw his candidature from other ongoing
interviews
● Candidate Rescheduling
○ The 1st contact email should make clear that rescheduling is not recommended
○ If still insisted
■ The reason should be collected (through a forum)
■ The reason should be communicated to the client and a new appointment
be asked
● Providing a personalised reason will increase the client’s probability
of rescheduling
● Client Withdrawal
○ Automated mail to candidate
○ If the client is just rescheduling
■ The process will start again with 1st contact email
○ If the job opening is closed
■ Give alternate job openings to the candidate
● No-Show Situations
○ Candidates be given a WhatsApp message 1hr before the interview
○ Also Calendly plugin will act as a reminder
○ The client will receive an email
○ A call is not recommended as the interview might be scheduled outside working
hours, for those in working hours calls can be arranged
● Last minute cancellation
○ Last minute cancellation from the client side is expected in only rare cases
○ In the case of the candidate, a detailed reason should be sought
○ This reason can be reviewed inhouse(by Ram and Shyam) or be sent to the client
and asked if they want to reschedule
○ An insufficient reason can result in a penalty like - fewer job matches etc
● Timezone confusion
○ The client and candidate should be asked about their time zones
○ In first contact email candidate should be communicated clearly about the time
zone
○ Time zone conversion tools like WorldTimeBuddy can be provided to the
candidate
○ Any communication should clearly give time in IST
● Multiple rounds
○ Those who gave the first round are more likely to ensure their presence in
subsequent interviews therefore any flag raised by them should be handled on
priority
○ The provided sheet shows that we are getting Calendly links for all three rounds
together
■ Even if that is the case the candidate will be provided with 1 round link at
a time
● Complex Interview Processes
○ Cases like coding tests are covered in this
○ The client should be given the option of Non-Standard Interview Formats
○ The candidate should be communicated clearly about the platform and security
measures clearly explained
○ To automate this - instead of subjective input from the client - a drop down
● Handling Urgent client requests
○ Since the system is realtime - thus no change in email and WhatsApp
○ Though the urgency would be visible to candidates through Calendly available
slots
■ Still Email and WhatsApp should state the urgency
○ The call will be arranged in 2hrs instead of 6hrs in case of no response
● Scalability
○ Handling flags/exception require more workforce
○ Since training and onboarding is fast - new interns can be hired
○ If workload increase suddenly - few services can be further automated (allowing
self cancellation)

Performance Monitoring and Optimization (KPIs)

● Scheduling turnaround time


● Interviews scheduled in 24 hours
● Drop rate
● Customer satisfaction

Iterations

● Feedback
○ Objective after every interview
○ Subjective after hiring
■ These can also be used as success stories
● Testing different communication channels mix
○ Can use different mixes of Email, WhatsApp, and Call to see which works
perfectly
○ Same with the content of all three
● Personas of the candidates
○ And if possible clients

Documentation and Knowledge Sharing

● An objective and subjective debrief from interns after the completion of their internship

You might also like