# `PhiaUi.Components.ScheduleView`
[🔗](https://github.com/charlenopires/PhiaUI/blob/v0.1.17/lib/phia_ui/components/calendar/schedule_view.ex#L1)

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}
    />

# `schedule_view`

## Attributes

* `week_start` (`:any`) (required)
* `start_hour` (`:integer`) - Defaults to `8`.
* `end_hour` (`:integer`) - Defaults to `18`.
* `step_minutes` (`:integer`) - Defaults to `30`.
* `availability` (`:map`) - Defaults to `%{}`.
* `booked_slots` (`:map`) - Defaults to `%{}`.
* `selected_slot` (`:map`) - Defaults to `nil`.
* `on_select` (`:string`) - Defaults to `nil`.
* `days_count` (`:integer`) - Defaults to `5`. Must be one of `5`, or `7`.
* `class` (`:string`) - Defaults to `nil`.
* Global attributes are accepted.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
