You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Booking page: explain empty slot lists and minimum-notice gaps #20
From #14. Independent of the greyed-slots work in #19 and worth doing regardless.
Two places where the booking page withholds an explanation it already has.
1. The empty / sparse slot list
fillSlots renders No available times. when a day has none. It reads like a broken page rather than an answer, and gives no hint whether to try another day.
Something that names the date, and ideally the host, would land better. Key is no_available_times in internal/i18n/locales/*.json.
2. Minimum notice is invisible
If an event type sets min_notice_minutes, today's early slots silently vanish. A booker looking at today sees nothing until the evening with no explanation anywhere on the page. This is the single most likely cause of "why can't I see those times", and unlike the host's calendar it is policy, not private data, so it is safe to state plainly.
Show something like "Bookings require 4 hours' notice" when the notice rule is what removed the near-term slots.
Notes
Three surfaces: book.html, manage.html, embed.js. Markup and JS are separate per surface; styling is shared in booking.css.
New strings need adding to all eight locales in internal/i18n/locales/. The same-keys guard test will fail otherwise: go test ./internal/i18n/.
Non-English locales are LLM drafts with no native review; that's the existing standard, no need to solve it here.
Activity
pullfrog commentedon Sep 1, 2026
test(event-types): cover the email templates and the price/inactive r…
feat(booking): explain empty days and minimum-notice gaps (#20, part 1)
feat(booking): render the empty-day and min-notice explanations (#20,…
Duplicate an event type, with every child dataset (#22)
Explain empty slot lists and minimum-notice gaps (#23)
fix(booking): finish the empty-day and minimum-notice explanation (#20)