Skip to content

fix(workplace): room and desk start times stop before closing time - #654

Merged
MrYuion merged 1 commit into
developfrom
fix/PPT-2872-closing-time-start
Nov 2, 2026
Merged

MrYuion merged 1 commit into
developfrom
fix/PPT-2872-closing-time-start

Conversation

@MrYuion

@MrYuion MrYuion commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

With bookable_hours set to 09:00–17:00, the new Workplace room and desk flows offered 17:00 as a start time. A booking that starts at closing time has no valid duration.

The shared time field already has a min_duration input that moves the last start back by the shortest booking. The older forms bind it. The new room and desk start-time fields did not, so the window end counted as a valid start.

Jira: PPT-2872

Solution

  • The start-time fields in meeting-flow-details, meeting-flow-space-select, desk-flow-details and desk-flow-select now bind min_duration to the shortest duration option (min(min_duration, ...custom_duration_options)). This is the same rule as libs/events meeting-form-details.
  • desk-filters binds min_duration to 60, the minimum of its duration field.
  • End-time fields stay the same. Closing time is still a valid end time.
  • The bookable_hours rows in docs/settings/workplace.md give the rule for the last start time.

With 09:00–17:00 and a 30 minute minimum, the last start is now 16:30.

Verification

  • room-times.spec.ts and desk-times.spec.ts (local E2E) now check that the last start is at most end - min_duration. Without the source change, both fail with 17:00 offered. With it, 7/7 pass against the local stack.
  • workplace and bookings tests pass. workplace builds. bun run e2e:typecheck passes.
  • The recording is on the Jira issue.

Follow-up: the open PR #595 has desk-booking.bookable-hours.spec.ts, which expects 17:00 as the last desk start. Update that test after this merges.

Reviewed with sol-loop: 1 round with gpt-6.1-sol. Sol verdict: approved

Changes made by Claude Opus 5.5 (claude-opus-5-5) in Claude Code, running in T3 Code.

🤖 Generated with Claude Code

With bookable hours set, the new room and desk flows offered the closing
time as a start time, which leaves no valid duration. The start-time
fields now pass the shortest duration option to the time field, so the
last start leaves room for a booking that ends by closing time.

The room and desk E2E time tests now assert this.

Refs: PPT-2872
@vercel

vercel Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
frontend-templates Building Building Preview Nov 2, 2026 12:12am UTC

@MrYuion
MrYuion merged commit 2a54fad into develop Nov 2, 2026
46 checks passed
@MrYuion
MrYuion deleted the fix/PPT-2872-closing-time-start branch November 2, 2026 00:59
camreeves added a commit that referenced this pull request Nov 3, 2026
Brings in #654 (PPT-2872), #655 (PPT-2871) and the desk asset changes
from #656, which the settings specs are updated for next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015VtrxAzu8XnqXeQG3QbRXt
camreeves added a commit that referenced this pull request Nov 3, 2026
…asset fixes

- desks and events bookable_hours: the last start now leaves room for the
  shortest duration (PPT-2872, #654). The closing-time case asserts no start
  is offered at closing time, and the specs pin min_duration so the expected
  last start doesn't depend on the stack's settings.
- parking use_building_timezone: drop test.fail now that an explicit parking
  false overrides bookings (PPT-2871, #655).
- desks.use_assets: the assets fixture also answers the building-wide
  `zones=<building>` query the desk list sends since #656.
- QA status doc updated to match.

Full settings and settings-browser run with develop merged in: 443 passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015VtrxAzu8XnqXeQG3QbRXt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant