Flea Flicker 5830150c77 fix(GRO-2105): include serviceId in BookingFlow/RescheduleFlow availability call
Both portal flows were calling /api/book/availability with only the date
param, causing the API to return 400 'serviceId and date are required'.
The handler then .map()'d the {error:...} object, throwing TypeError and
wiping <div id="root">.

- Add fetchAvailability helper that validates r.ok and Array.isArray(data)
- RescheduleFlow: pass appt.serviceId
- BookingFlow: pass selectedServices[0]?.id
- Surface API error message ('Failed to load time slots' or the server's
  error string) instead of crashing
- Add a cancelled guard to prevent stale responses from overwriting state

GRO-1804 / TC-WEB-5.12.5 through 5.12.11 unblocked.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-02 19:02:30 +00:00
2026-05-02 21:35:00 +00:00
2026-05-14 17:42:22 +00:00

web

GroomBook web app (extracted from groombook/app monorepo)

S
Description
GroomBook web app (extracted from groombook/app monorepo)
Readme 42 MiB
Languages
TypeScript 99.5%
CSS 0.3%