Calendly-style availability schedule grid.
Renders a tabular week view where columns are days and rows are time slots. Each slot can be: available (clickable), booked (gray, disabled), or selected (primary highlight). Unlike CalendarWeekView (px-positioned events), ScheduleView is a booking availability grid for scheduling appointments.
Example
<.schedule_view
week_start={~D[2026-03-09]}
start_hour={9}
end_hour={17}
step_minutes={30}
availability={%{~D[2026-03-09] => ["09:00", "09:30", "10:00"]}}
booked_slots={%{~D[2026-03-09] => ["09:30"]}}
selected_slot={%{date: ~D[2026-03-09], time: "10:00"}}
on_select="select_slot"
days_count={5}
/>
Summary
Functions
Attributes
week_start(:any) (required)start_hour(:integer) - Defaults to8.end_hour(:integer) - Defaults to18.step_minutes(:integer) - Defaults to30.availability(:map) - Defaults to%{}.booked_slots(:map) - Defaults to%{}.selected_slot(:map) - Defaults tonil.on_select(:string) - Defaults tonil.days_count(:integer) - Defaults to5. Must be one of5, or7.class(:string) - Defaults tonil.- Global attributes are accepted.