Online scheduler “+N more” doesn’t expand hidden time slots (Top Choice)

Objective

  • Make the online scheduler calendar show all bookable times on busy days, not only the first five.
  • Fix the “+N more” overflow control on the Choose Your Time Slot step so it actually expands (or is replaced with working UX).
  • Unblock Top Choice Inspection Services testing and launch: 1:00 PM (and other times) are available on inspector schedules but hidden behind a non-functional “+2 more” label.

Background

  • Neil reported on the Top Choice online scheduler: at the time-picking step, a control that looks like an expander (“+2” / “+1”) does not respond when clicked.
  • 1:00 PM availability is missing from the calendar even though Sean and David both have 1:00 on the internal schedule.
  • Top Choice uses many custom start times, so a single day often has more than five distinct slot times from schedule/optimal-slots.
  • Slots are returned by the API; the calendar truncates display to five per day and shows static “+N more” text with no click handler—users interpret it as broken.
  • Repro walkthrough: Loom — Top Choice Online Scheduler Time Slot Not Showing

Transcript summary (Neil):

  • On Top Choice online scheduler, reached time selection.
  • “Plus 2” / “plus 1” expander GUI does not work.
  • 1:00 not shown; Sean and David both have 1:00 on the schedule.
  • Expectation: clicking +2 / +1 should expand to show those times.

Scope

Frontend (attik-frontend)

  • Public flow: /schedulerChoose Your Time Slot in src/app/scheduler/slots/SlotsStep.tsx, rendered by src/app/scheduler/slots/CalendarView.tsx.
  • src/app/scheduler/constants.ts sets MAX_VISIBLE_SLOTS_PER_DAY = 5; renderDayCell only maps slotsForDay.slice(0, MAX_VISIBLE_SLOTS_PER_DAY).
  • When slotsForDay.length > MAX_VISIBLE_SLOTS_PER_DAY, UI renders a non-interactive label (+{count} more) around lines 694–697 in CalendarView.tsx—no expand state, no onClick / onPress.
  • Slot times are grouped by exact datetime in slotsByDate; each custom start time counts toward the five-slot cap.
  • SlotsStep passes autoSelectTopInspector={true}—separate from this bug: affects inspector picker on multi-inspector rows, not revealing hidden times.
  • In scope: working expand/collapse per day (or equivalent) so overflow times (e.g. 1:00 PM) are selectable; accessible button semantics for overflow.
  • Decision needed: scroll within day cell vs. expand-in-place vs. higher cap for companies with dense slot grids.

Backend (attik-backend)

  • GET schedule/optimal-slots in src/routes/schedule.ts supplies slots; no change required for this specific UI bug unless investigation shows 1:00 absent from API (unlikely per report).

Out of scope (confirmed not the root cause)

  • Missing API availability / service-area filtering as primary cause.
  • Pay at Close and manual workorder payments.

References

  • Loom recording
  • Calendar UI: attik-frontend/src/app/scheduler/slots/CalendarView.tsx
  • Slot step: attik-frontend/src/app/scheduler/slots/SlotsStep.tsx
  • Visible cap: attik-frontend/src/app/scheduler/constants.ts
  • Slot API: attik-backend/src/routes/schedule.ts (/optimal-slots)

Please authenticate to join the conversation.

Upvoters
Status

Planned

Board
🏠

Main App

Date

1 day ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.