Skip to content

dynamic group links#2239

Merged
zomars merged 87 commits intomainfrom
feature/dynamic-group-links
Apr 6, 2022
Merged

dynamic group links#2239
zomars merged 87 commits intomainfrom
feature/dynamic-group-links

Conversation

@alishaz-polymath
Copy link
Copy Markdown
Member

@alishaz-polymath alishaz-polymath commented Mar 22, 2022

What does this PR do?

  • Allows bookers to dynamically create group links by adding users using + between their usernames.
  • Provides users to decide if they wish to allow dynamic group booking or not.

loom video

Fixes #1661

What needs to be done:

  • Accept multi user query /[user1]+[user2]+[user3]
  • Create default eventTypes 15min, 30min, 60min
  • Create collective links for multi user query
  • Accept multi user query for a default event type /[user1]+[user2]+[user3]/15min
  • Fetch availability for multi user query when accessing a type /[user1]+[user2]+[user3]/15min
  • Ensure the OG flow with single user is working flawlessly as well, after the changes
  • Fix unique key usage
  • Ensure booking works for this group event
  • Fix success page for this group event
  • Ensure reschedule works normally for this booked group event
  • Ensure cancel works for this booked group event
  • Add a profile setting which enables/disables the user to participate in dynamic group links (so that they aren't randomly booked in combination with someone else if they aren't open to it)
  • Add daily.co as event location
  • Handle cases by throwing error where some of the users in the group don't have dynamic group booking allowed
  • Add an improved error handling for cases where some of the users in the group don't have dynamic group booking allowed

Quirks & Follow up

  • Even if the disableGuest is true for the dynamic group events in case of rescheduling the booked event, it becomes wonky and adds all but one of the 'group' being booked as guests which might mean that they receive the emails twice as they might be added as attendee more than once, and this might keep growing with each reschedule of the same event. Exploring this currently.

  • Edge case: Even if one of the users in the group has disabled their dynamic booking bookability, the booking page would throw an error.
    updated to handle it better [ref:
    image
    ]

  • Currently disabling guest for this booking type because of the way guests are identified for rescheduling. It would require a rework of the reschedule page specifically how the guests are pulled in, so we can do that in a follow up PR

  • Exception handling when one of the two usernames/slugs don't exist, the page says the user has not set up any events (hinting at the existing user) however, it should ideally state that one of the username slugs are incorrect. Can be improved in a follow up PR

  • We can improve the design of these errors once (cc: @Jaibles) designs are ready

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How should this be tested?

  • Enable the setting to allow dyamic group booking in /settings/profile
    image
    Then proceed with the following tests:
  1. Combine two or more username slugs who have allowed the dynamic group booking <slug1+slug2+slug3> etc.
    In localhost, it would be http://localhost:3000/slug1+slug2+slug3. Proceed with the booking and complete it.
  2. Just like 1., except, disallow dynamic group booking in at least one of them. The booking shouldn't be allowed now
  3. Reschedule an event booked earlier
  4. Cancel an event booked earlier
  5. Try adding random slugs in the group combo, the booking would only include the users who have an account with us, and the others will be ignored.

@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 22, 2022

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployments, click below or on the icon next to each commit.

docs – ./apps/docs

🔍 Inspect: https://vercel.com/cal/docs/AvfzU8zMZxKLAHJdXCPPABsDXTE7
✅ Preview: Canceled

[Deployment for 2b99f4e canceled]

calendso – ./apps/web

🔍 Inspect: https://vercel.com/cal/calendso/2oHR2K56JjkAPagtXCZBceGKBLhL
✅ Preview: https://calendso-git-feature-dynamic-group-links-cal.vercel.app

[Deployment in progress for 2b99f4e]

@alishaz-polymath alishaz-polymath added the ♻️ autoupdate tells kodiak to keep this branch up-to-date label Mar 22, 2022
@alishaz-polymath alishaz-polymath self-assigned this Mar 22, 2022
@vercel vercel Bot temporarily deployed to Preview – docs March 22, 2022 11:14 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 22, 2022 11:19 Inactive
@PeerRich PeerRich changed the title --init dynamic group links Mar 22, 2022
@vercel vercel Bot temporarily deployed to Preview – docs March 22, 2022 14:54 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 22, 2022 14:54 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 22, 2022 15:23 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 22, 2022 15:23 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 22, 2022 19:45 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 22, 2022 19:45 Inactive
@alishaz-polymath alishaz-polymath force-pushed the feature/dynamic-group-links branch from 8d7f847 to f78cfa3 Compare March 23, 2022 06:18
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 06:18 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 06:18 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 06:24 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 06:24 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 08:09 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 08:09 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 08:18 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 08:18 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 17:55 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 17:55 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 22:02 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 22:02 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 23, 2022 23:25 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 23, 2022 23:25 Inactive
@vercel vercel Bot temporarily deployed to Preview – calendso March 24, 2022 02:14 Inactive
@vercel vercel Bot temporarily deployed to Preview – docs March 24, 2022 02:14 Inactive
@alishaz-polymath
Copy link
Copy Markdown
Member Author

@zomars I've added e2e test for /pro+free but I'm not entirely sure if I did that right or not. I'm not too well versed with e2e tests, so I might need your help in this. Also, the E2E test is getting cancelled after 10 mins, so I'm not sure if the added test did something wrong or if it is just a matter of it taking too long

Copy link
Copy Markdown
Contributor

@zomars zomars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed E2E tests, tested and can confirm that is working flawlessly.

Comment thread apps/web/pages/[user].tsx Outdated
Comment thread apps/web/pages/[user]/[type].tsx Outdated
Comment thread apps/web/pages/[user]/[type].tsx Outdated
Comment thread apps/web/pages/[user]/[type].tsx Outdated
Comment thread apps/web/pages/[user]/[type].tsx Outdated
Comment thread apps/web/pages/[user]/[type].tsx Outdated
alannnc
alannnc previously requested changes Apr 5, 2022
Copy link
Copy Markdown
Contributor

@alannnc alannnc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor code improvements suggested

Comment thread apps/web/pages/[user]/book.tsx Outdated
Comment thread apps/web/pages/api/book/event.ts Outdated
Comment thread apps/web/pages/success.tsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ autoupdate tells kodiak to keep this branch up-to-date core area: core, team members only ❗️ migrations contains migration files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dynamic group links (collective)

7 participants