Skip to content

Booking page: explain empty slot lists and minimum-notice gaps #20

Description

@shockalotti

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions