Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

What does this PR do?

Adds 40 minutes as an available duration option when configuring multiple duration options for event types. Previously, the available durations jumped from 30 to 45 minutes, skipping 40 minutes which is a commonly requested duration.

Changes:

  • Added 40 to the multipleDurationOptions array in EventSetupTab.tsx
  • Added comprehensive unit tests for 40-minute slot generation

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.
  • I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. N/A - no documentation changes needed.

How should this be tested?

  1. Go to Event Types → Edit an event type → Setup tab
  2. Enable "Allow booker to select duration"
  3. Click the "Available durations" dropdown
  4. Verify that 40 minutes is now available as an option (between 30 and 45 minutes)
  5. Select 40 minutes and save
  6. Verify the booking page shows 40 minutes as a selectable duration

Unit tests added:

  • TZ=UTC yarn test packages/features/schedules/lib/slots.test.ts -t "40-minute" - runs 5 tests covering:
    • Full day slot generation (36 slots in 24 hours)
    • Correct 40-minute time intervals (9:00, 9:40, 10:20)
    • Default duration handling for variable length events
    • Same-day booking with time constraints
    • Multiple date ranges

Checklist

  • My code follows the style guidelines of this project
  • I have checked if my changes generate no new warnings

Link to Devin run: https://app.devin.ai/sessions/a584b7947d0844cfb584b008544f6ded
Requested by: ali@cal.com

Note for reviewers: The diff includes some auto-formatting changes from biome lint (import reordering, CSS class sorting). The core change is simply adding 40 to the duration options array on line 78.

- Add 40 minutes to the multipleDurationOptions array in EventSetupTab
- Add comprehensive tests for 40-minute slot generation including:
  - Full day slot generation
  - Correct time intervals
  - Default duration handling
  - Same day booking with time constraints
  - Multiple date ranges

Co-Authored-By: ali@cal.com <ali@cal.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@alishaz-polymath alishaz-polymath marked this pull request as ready for review January 20, 2026 04:29
@graphite-app graphite-app bot added the core area: core, team members only label Jan 20, 2026
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 2 files

@alishaz-polymath alishaz-polymath added the run-ci Approve CI to run for external contributors label Jan 20, 2026
@alishaz-polymath alishaz-polymath merged commit 1e0b0d9 into main Jan 20, 2026
112 of 114 checks passed
@alishaz-polymath alishaz-polymath deleted the devin/1768882469-add-40min-duration-option branch January 20, 2026 06:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core area: core, team members only ready-for-e2e run-ci Approve CI to run for external contributors size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants