Filament: Appointment System with Public Form

This project demonstrates three Filament features:

  1. How to show dynamic radio button values (timeslots) in live-mode based on the values in other fields (date).
  2. How to re-use the admin panel form outside of admin panel, on a public page.
  3. How to use FullCalendar to show the calendar of tasks
2-appointment-reservation-public-form

Get the Source Code:

How it works

First, I will explain the dynamic form, and then, how to use that form as a public form, outside of the admin panel.

Dynamic Radio Values on Change of Dropdown

When you log in as admin, you can create an appointment: choose the track and the form will show the radio buttons of available timeslots that are not taken yet.

This is done in the file app/Filament/Resources/ReservationResource.php

DatePicker::make('date')
->live(),
Radio::make('track')
->options(fn (Get $get) => (new ReservationService())->getAvailableTimesForDate($get('date')))
->hidden(fn (Get $get) => ! $get('date'))

The code means the reactive "live" behavior of the DatePicker input, with Radio options being queried from the...

The FULL tutorial is available after the purchase: in the Readme file of the official repository you would get invited to.
Get the Source Code: All 50 Premium Examples for $99 Only Project Examples for $59