Appointment System with Public Form
Filament 3This project demonstrates three Filament features:
- How to show dynamic radio button values (timeslots) in live-mode based on the values in other fields (date).
- How to re-use the admin panel form outside of admin panel, on a public page.
- How to use FullCalendar to show the calendar of tasks
Get the Source Code:
Only This Example
One-time payment
Sign in with GitHub to buy
Sign in first, then complete your $9 checkout.
FilamentExamples Membership
30-day money-back guarantee
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...