Competitor Analysis + Edge Cases + Additional features + Dependencies + Proposed solution
Dependency on feature / Action |
Description |
Calendly |
Calcom |
Proposed behavior |
---|---|---|---|---|
Client cancels meeting |
What happens if a client cancels a meeting, and what if they are the last person to cancel a meeting. Do we allow it? |
As expected (tested) |
As expected (tested) |
|
Client reschedules meeting |
What happens if client reschedules a meeting. Do we allow it? |
As expected (tested) |
As expected (tested) |
|
Client cancelled/rescheduled UI change |
Whether or not we show that a client cancelled or rescheduled |
Shows it in the UI, along with reason of cancellation. Strikes of client name, and updates seats left |
Just removes trace of that client. Calcom only lists the clients name and emails and answers. And if a client cancels/reschedules they are removed |
We will take up Calendly approach and show that a person has been cancelled. Because it is useful for businesses. |
Cancelling/Rescheduling options for clients |
What options do the clients have with respect to cancelling and rescheduling |
Allows both clients to cancel and reschedule |
Only allows 1st client to cancel and reschedule |
We should follow Calendly approach |
Client tries to book same slot twice |
What happens if client attempts to book twice with same email id in same slot |
The client can perform this action |
The client cannot perform this action. A callout appears mentioning that you have already booked this slot |
To follow the Calcom behavior, which is expected. There should not be 2 clients with same email id. Error message : This email has already booked this meeting. Change the email or book another slot. |
If host cancels or reschedules |
What happens if host cancels or reschedules |
Host has option to cancel, and all clients will recevie cancellation mail as usual. Does not allow rescheduling the meeting from both email or website. You have to manually do it yourself |
As expected (tested). Allows both options. |
We can go with the expected approach. Not sure why Calendly does not allow rescheduling. |
Allow client to chose duration |
Don't have feature |
Not allowed, toggle disabled with hover text |
We can remove the setting all together, but Calcom solution more intuitive. Disable toggle with hover text |
|
Allow client to chose meeting tool or location |
Setting is removed |
Setting is present, toggle disabled with hover text |
We must change checkbox for multi select to radio buttons for single select |
|
Messages feature |
Whether or not to implement messages feature |
Don't have feature |
Don't have feature |
We must remove it. To implement it we must change the working of messages feature and UI as well. It is designed for single client. If we need to cater for multi-client, we must have a messages tab for each client in the side pan we get after clicking booked meeting. Too much engineering effort, can consider if requested for it. |
Routing Forms |
No dependency |
No dependency |
No dependency, routing form is simply to route to meeting link, hence no issues. |
|
Questions & Responses |
How will the responses to booking page questions look for the host. Do we show it or not. |
Shows it. There is a tab for each client, on clicking will display the answers of that client. |
Does not show it, no change in UI. Host can view it from the email. |
We can show it, we can add tabs for each invitee which will further expand to show their booking page answers, payment status etc. |
Payments, Discount code, Refund |
How will payment status, etc look. Do we show total amount received? |
No change in behavior. UI will show to reflect payment status for each client |
No change in behavior |
No dependency. We will have to change UI to show payment status for each client. Refund button will be present next to each client. |
Meeting limits |
As expected |
As expected |
From host pov even if 10 clients, only 1 booking. So limit will take it as 1 meeting. |
|
Admin level settings |
Any dependencies on any of the admin related settings |
No dependency |
No dependency |
No dependency |
Email customization, reminders, any host setting. |
No dependency |
No dependency |
No dependency |
|
Recurring meetings |
Can we include recurring meetings for group bookings |
Don't have feature |
It is possible |
In our case, there are no dependencies. But we should remove the associated bookings tab as it will be too cluttered if multiple clients book recurring. |
Requires Approval |
Should host be able to ask for approval in case of group bookings |
Don't have feature |
Not allowed, toggle switch is disabled with hover text |
We should not allow is as well. It will be very complex to handle and will have a bunch of edge cases. Requires approval is used to determine if a meeting will take place or not, on a single client level there will be too many edge cases. |
Mark no-show |
Should we allow host to mark each client as no sho. Should we show total number of no shows in one booking |
Allows it, UI is different. Each client has a mark no show button. Excel report is based on client, each client has one entry. |
Don't have feature |
We will have to mark no show on an invitee level, and in the excel exported we should have separate entry for each invitee. Header no-show can show how many have not shown up. Like 5 / 10 No show. Not priority can take up later imo. |
Timeline tab |
Should we include timeline tab in booking info page |
Don't have feature |
Don't have feature |
Remove the timeline tab for Group bookings as it will be cluttered with too much information, and will not provide the desired value to the users. |
Edit number of clients limit for existing booking |
Should we provide this feature or not |
Has this feature as a button inside the booked meeting info page |
Don't have feature |
I think we can take it up later on or as per request from customers. |
Workflows (future scope) |
Once workflows are built, we will disable certain workflows for group bookings. Eg : Cannot set a cancellation workflow, because meeting can still be on after 1 cancellation. |
|||
Lock out duration |
Should we lock out duration when an existing group booking is present |
Calendly does it, and I have no idea why. |
Calcom does not do it. |
Have not figured why we need to lock it out. So let's keep unlocked. |
Client level rescheduling/cancellation |
Should we allow host to cancel/reschedule a single client for a group booking |
Calendly allows it. |
Calcom does not. |
I think we can take it up later on iteratively |
Showing client info among each other |
No feature |
Calcom does it. |
Again something we can take up upon customer request |
|
Sending Calendar invitation |
Should we send calendar invitations? |
Send calendar invitations from calendly mail |
Sends calendar invitation from calcom |
We should follow the same |
Reminder email |
Should we send remainder emails |
Yes, there is no dependency here |
Notes for Engineering team
The mail sent out to the clients, both confirmation email and calendar invitation MUST NOT include the details of other clients booked in the meeting. With respect to the calendar invitation there are options in Google Calendar which hides the participant list. We should hide it.
Cancelling and re-scheduling by the host will only be allowed for the entire meeting. If host cancels or reschedules the mail will be sent out to all clients.
-
Meeting can be rescheduled or cancelled from client side. (HOST EMAILS)
-
If cancelled, and still clients exist for the slot. The host gets 1 mail
"Client_Name no longer attending Meeting_Name". We will show cancellation reason.
-
If cancelled, and client was the last client. Host get's 2 mails.
1 - the mail mentioned above, we will show reason in this mail
2 - "Meeting_Name for meeting_time is cancelled".
-
If rescheduled, and still clients exist for the slot. The host gets 1 or 2 mails.
1 - "Client_Name has rescheduled Meeting_Name". We will show reason, and previous and new time slot.
-
2 - depends on where the client reschedules to
If client reschedules to slot with no existing meeting, then new meeting created mail.
If client books slot with existing meeting(at least 1 client), then NO mail sent. Any other approach either we will have false sense of how many are attending.
-
If rescheduled, and last client. The host gets 2 or 3 mails.
1 - "Client_Name has rescheduled Meeting_Name". We will show reason, and previous and new time slot.
2 - "Meeting_Name for meeting_time is cancelled".
-
3 - depends
If client reschedules to slot with no existing meeting, then new meeting created mail.
If client books slot with existing meeting(at least 1 client), then NO mail sent. Any other approach either we will have false sense of how many are attending.
-
-
Meeting can be rescheduled or cancelled from client side. (BEHAVIOR)
First client books - meeting added to calendar
Second client books - client added to existing meeting
if 1 client cancels, no change, if at least 1 client is there
If all client cancels, meeting cancelled, meaning event removed from calendar
-
Rescheduling is treated as 2 steps
1. Existing client cancelled (can be last client also, in which case meeting cancelled, aka calendar event removed)
-
2. Depends
If fresh slot, new meeting created, as in new calendar event
If existing meeting, client added to existing meeting
-
How meeting/event appears in your calendar
Keep all client specific variables, and after every new client books, the event name in calendar changes.
-
Add 2 dynamic variables
existing_client_count
max_client_count
-
Need to set a default template as CUSTOM
Heading: [Meeting Name] (existing_client_count of max_client_count booked)
Body: existing_client_count of max_client_count's attending
How UI will look when client cancels and reschedules. Both cases let's strike off and show cancels or rescheduled based on the entry point. Along with reason in the single client info page.
How meeting appears in your calendar will not be applied to group bookings. Let's mention in the setting, that this will not be applied for group bookings, and if they have to. They must override it. And we must disable overriding. We only give option for overriding how it appears in your calendar for group bookings.
Product decisions
-
maximum number of clients possible, minimum is 2. If they select one, validate and say it must be greater than 1. if only 1 chose one on one meeting. 1000 is our limit
Calendly : 9999
Youcanbookme : 50
Calcom : 10000000000 / Does not specify
SavvyCal / TidyCal : Does not specify
keep it as different meeting link type or include it under existing (100% include as different)
for the host side will it appear as 1 booking or 10? (100% should be 1 booking)
include messages or not => Yes.
include requires approval or not => No.
include no-show or not => Yes.
include recurring meetings or not => Yes.
remove timeline tab => No.
accept payment or not? allow refund or not? => Yes.
should we allow clients to cancel and reschedule => Yes.
should we show other clients info like Calcom => No. Can take up if customer requests.
should we allow host to cancel/reschedule a single client => NO for now. Can take up later on. Do not see the use case of host wanting to reschedule/cancel a single client.
should we allow host to cancel/reschedule entire booking => No.
Host cancellation and rescheduling => Yes
-
Booking confirmation email for host customization
Should we split booking confirmation for host into, meeting confirmation mail and client confirmation mail.
Should we disable customization all together?
Should we add callout saying this is meeting confirmation mail.
-
Overriding calendar preferences for group bookings
Remove setting completely
Remove dynamic variables
V2 Features
Allowing clients to see previous clients information
Allow host to cancel/reschedule one client
Allow host to send message to all clients at once
Allowing client to reschedule:
UI changes
how selecting meeting link will look ✅
how setting number of clients will look ✅
how booked meeting will look ✅
how will the emails look
how will the client responses look (calcom does not show it, email is the only source) (calendly shows it) ✅
how will no-show look ✅
how will paid/refund etc look ✅
how messages, associated bookings, timeline will look ✅
Screens to build
Meeting link type page with group booking along with test ✅
Editing meeting link with setting to add number of clients ✅
-
Display of booked meeting in bookings tab ✅
List of clients || Alternate approach is to have a new tab for clients ✅
Responses from each client on expanding ✅
Mark no show button and tag for each client ✅
Payment status tag for each client ✅
Refund button for each client ✅
Remove messages tab, timeline tab, and associated bookings ✅
Cancelled/Rescheduled clients if we are choosing to implement this ✅
Disabling of requires approval card or remove card completely ✅
Confirmation email for host text ✅
Cancellation + Rescheduling + Meeting created + Client attending emails
Cancelled and Rescheduled client in UI with reason
Override how calendar appears changes + default + callout(if needed)
-
Booking confirmation email for client default + callout(if needed)
TODO
Create screens for remaining UI ✅
Use yopmail to test the emails ✅
Test cancellation and rescheduling in Calendly and Calcom ✅
Look into user issues and feature requests for Calendly and Calcom ✅
Read up on help articles for group bookings in Calendly and Calcom ✅
Create video covering all edge case, feature dependencies and required UI changes based on competitor analysis ✅
Summary of table
cancelling/rescheduling must affect the total available seats.
if all clients cancel or reschedule from 1 slot, then the entire meeting must be cancelled, this can be done by checking if no. of clients is 0 or not.
if there some clients cancel, no change. if some clients reschedule, then a new meeting will be created, old meeting stays as long as there is client.
same email id cannot join the same slot. even if they reschedule (done in calcom) (in calendly they don't do it)
need to remove "allow client to chose duration"
need to remove "allow client to chose meeting tool or location"
has dependency on messages feature (if allowed all messages must come to one place) (might be complex from the engineering pov)
no dependency on routing forms
no dependency on payments, but we need to show the "Paid" next to each invitee and not as a general meeting attribute
no dependency on questions, but need to show how the UI will look regarding responses
no dependency on limits (1 group booking seen as one meeting)
no dependency on any admin level settings
no dependency on any email customization, reminder, and any host related setting.
has an indirect dependency on recurring meetings. the dependency is the associated bookings tab. in case of group bookings we cannot show the associated bookings tab. apart from this i don't see any issues with allowing both.
requires approval might be tricky, will need a lot of ui changes and edge cases (calcom does not allow both) (do not allow both imo)
has dependency on no-show (we will have to change existing code, to map no-show to client and not a meeting + need to remove from the exported excel sheet (maybe show 6/10 indicating how many showed up)) (do not include now imo, can take up if requested for it)
we must change the timeline tab. i would suggest not including the tab, why because we will need to show who booked when, and time line includes when payment is initiated, when it is done. if we have 10 clients in one meeting it will be too cluttered.
-
there is dependency on refund. the refund option will have to be done for a single client. UI will change, we will have refund next to each client
Enhancements scoped for V2 release