Edit recurring availability with date overrides and overnight slots #28

Open
opened 2026-11-01 20:11:45 +00:00 by viacheslavshuka · 0 comments

Outcome

Testers need an effective availability schedule that controls discovery matching and delivery hours. Implement one shared schedule with weekly slots and date-specific replacements.

Use FullCalendar Standard for the website view with ordinary form controls alongside calendar interactions. Availability editing remains distinct from browsing sessions.

Acceptance criteria

  • A user can save several non-contiguous weekly slots per day and replace a specific date with explicit slots or an unavailable override.
  • An override replaces that date's recurring availability. It does not silently append to it.
  • Overnight slots require an explicit next-day end. Equal clock times do not implicitly mean a full day.
  • Overrides apply to the whole local date, including incoming overnight portions. Tuesday unavailable removes Tuesday 00:00–02:00 from Monday 22:00–Tuesday 02:00.
  • The calendar shows effective availability after applying weekly slots, overrides, and timezone rules. Form controls can perform the same edits without dragging.
  • Missing local clock values contribute no available instants. Both occurrences of repeated clock values count when they fall inside a chosen slot.
  • Session matching requires the entire start-to-estimated-end interval to fit effective availability. A matching start alone is insufficient.
  • Unconfigured availability disables discovery recommendations and prompts configuration. It does not imply all-day availability or block manual registration.
  • The same effective schedule controls discovery delivery hours. No separate required notification-hours form is added.
  • Website forms own schedule editing. Bot links open those forms. Writes cannot edit another person's schedule.

Validation design

Use a simple independent interval model to test replacement precedence, adjacent intervals, gaps, midnight splits, and complete-interval matching. Include a DST gap, repeated hour, and non-hour transition. Calendar tests must expose a misleading merged continuous slot. API tests must reject cross-account writes and preserve the prior schedule on invalid input.

Dependencies

## Outcome Testers need an effective availability schedule that controls discovery matching and delivery hours. Implement one shared schedule with weekly slots and date-specific replacements. Use FullCalendar Standard for the website view with ordinary form controls alongside calendar interactions. Availability editing remains distinct from browsing sessions. ## Acceptance criteria - A user can save several non-contiguous weekly slots per day and replace a specific date with explicit slots or an unavailable override. - An override replaces that date's recurring availability. It does not silently append to it. - Overnight slots require an explicit next-day end. Equal clock times do not implicitly mean a full day. - Overrides apply to the whole local date, including incoming overnight portions. Tuesday unavailable removes Tuesday 00:00–02:00 from Monday 22:00–Tuesday 02:00. - The calendar shows effective availability after applying weekly slots, overrides, and timezone rules. Form controls can perform the same edits without dragging. - Missing local clock values contribute no available instants. Both occurrences of repeated clock values count when they fall inside a chosen slot. - Session matching requires the entire start-to-estimated-end interval to fit effective availability. A matching start alone is insufficient. - Unconfigured availability disables discovery recommendations and prompts configuration. It does not imply all-day availability or block manual registration. - The same effective schedule controls discovery delivery hours. No separate required notification-hours form is added. - Website forms own schedule editing. Bot links open those forms. Writes cannot edit another person's schedule. ## Validation design Use a simple independent interval model to test replacement precedence, adjacent intervals, gaps, midnight splits, and complete-interval matching. Include a DST gap, repeated hour, and non-hour transition. Calendar tests must expose a misleading merged continuous slot. API tests must reject cross-account writes and preserve the prior schedule on invalid input. ## Dependencies - [#20: Display dates and deadlines in each user's saved timezone](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/20). Supplies the named timezone and timezone-change contract. - [#7: Create the React application with locked frontend tooling](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/7). Provides localized form controls and the browser application. ## Related work - [#54: Open Quorum on a filtered list of upcoming tests](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/54) - [#55: Announce matching tests once and combine deferred discoveries into digests](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/55)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
viacheslavshuka/quorum#28
No description provided.