Group booking PRD V2

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)

  • It should be reflected on the total available slots

  • If client cancels booking and number of clients is 0, meeting must be cancelled

Client reschedules meeting

What happens if client reschedules a meeting. Do we allow it?

As expected (tested)

As expected (tested)

  • If rescheduled to a slot with 0 clients, a new booking shows up for the host

  • If rescheduled to slot with at least 1 client, no. of clients are adjusted (+1/-1).

  • If last client of slot reschedules, meeting in previous slot is cancelled

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)

    HOST EMAILS.drawio.png
    • 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

  1. Meeting link type page with group booking along with test

  2. Editing meeting link with setting to add number of clients

  3. 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

  4. Cancelled/Rescheduled clients if we are choosing to implement this

  5. Disabling of requires approval card or remove card completely

  6. Confirmation email for host text

  7. Cancellation + Rescheduling + Meeting created + Client attending emails

  8. Cancelled and Rescheduled client in UI with reason

  9. Override how calendar appears changes + default + callout(if needed)

  10. 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

    https://alex-mathai.neetokb.com/public/p-2eac35859f