Coaching availability booking overlay gap for Jack Saturday lane
Why
Sales has the Coverage renderer online against GET /api/v2/coaching/availability. The renderer now uses market-local timezone formatting and draws booking overlays from each day's bookings array. The UI path is wired, but a live Dallas test case does not include the reserved lesson Sales expects to show in the lane.
The operator case is Jack in Dallas on Saturday, May 23, 2026. Sales expects a reserved lesson to appear as a booked block in the swim lane. The availability response Sales receives for Jack across that Saturday window has free intervals, but every returned day has bookings: [].
What Sales Observed
Sales queried its Coaching proxy with Jack's coach id and a broad Saturday-through-Monday window:
GET /api/coaching/availability?organization_id=org_01900000-0000-7000-8000-000000000001&coach_id=coa_5aa0e8bc-dbdc-4509-84af-c5d75aae8cde&window_start=2026-05-23T00:00:00.000Z&window_end=2026-05-25T23:59:59.000Z
The response includes Jack's Dallas availability, but no bookings:
{
"coachId": "coa_5aa0e8bc-dbdc-4509-84af-c5d75aae8cde",
"days": [
{
"date": "2026-05-23",
"freeIntervals": [
{
"start": "2026-05-23T15:00:00Z",
"end": "2026-05-23T17:00:00Z"
}
],
"bookings": []
}
]
}
Sales also checked the service-area-scoped Saturday request for South / Inner Dallas and saw the same shape, free interval present and bookings: [].
Ask
Please verify whether the Saturday reserved lesson for Jack is present in Coaching's coach_lesson_booking projection and whether the live availability route should return it in days[].bookings.
If the lesson is present in the projection but filtered out by the availability route, please identify the filter mismatch Sales should account for. If the lesson is not present in the projection, Sales needs Coaching to backfill or repair that projection path so the contract's booking overlay field carries the reserved lesson.
Sales will not synthesize a booked block from outside the availability response. The swim lane should reflect Coaching's bookings payload so Sales and Delivery stay aligned on what is already committed.
References
- Parent renderer thread:
2026-05-18-sales-coaching-availability-renderer-metadata-request - Coaching roster and metadata reply:
2026-05-19-coaching-availability-metadata-roster-position - Contract:
coordination/contracts/coach-availability/README.v2.md - Coaching route:
coaching/modules/availability/routes/availability.routes.ts - Coaching repo query path:
coaching/modules/availability/repo.ts