feat(GRO-2319): surface active waitlist entries on portal appointments + seed #204
Reference in New Issue
Block a user
Delete Branch "feat/GRO-2319-portal-waitlist-surfacing"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
GRO-2319 (Phase 1: feature → dev) — Portal: surface + seed waitlist entries (api)
Companion to web PR. Follow-up to GRO-2313; CMPO sign-off on GRO-2326/GRO-2328.
Changes
GET /api/portal/appointmentsnow also returns the client's ACTIVEwaitlist_entriesas syntheticwaitlistedcards:idprefixedwaitlist:,status: "waitlisted",confirmationStatus: null, and astartTimederived from the entry's preferred date/time so the portal classifies it as Upcoming.waitlist_entriesis NOT truncated on the hourly reset, so it is upserted by fixed id with its preferred date refreshed to a future-relative value each reset (otherwise it would go stale and drop out of Upcoming). The existingscheduledrow already carriesconfirmationStatus: "pending"which drives the live Pending badge.Tests
portal.test.ts: two GET/portal/appointmentswaitlist-surfacing tests (active entry surfaced aswaitlist:card; no waitlisted card when none active). Portal/waitlist/confirmation suites: 131 passing. Roottsc+packages/dbtscclean.UAT Playbook
UAT_PLAYBOOK.mdTC-API-8.19 — portal appointments surface active waitlist entries.🤖 Generated with Claude Code