Scheduling
Require members to have an approved aircraft checkout before they can be scheduled in that aircraft type.
Checkout enforcement prevents scheduling a pilot in an aircraft type they haven't been approved to fly. When enabled, the scheduler (or the pilot themselves for self-service booking) cannot create a reservation unless the pilot has a current, non-expired checkout record for that aircraft's make and model.
This setting is only available for flight school and flying club organizations. Ownership group orgs do not show this toggle.
Before checkout enforcement can work, pilots need checkout records in their member profiles.
When a reservation is being created with checkout enforcement enabled:
{make} {model} of the selected aircraft.If a checkout has an expiry date that has passed, it no longer counts as valid for enforcement purposes. Add a new checkout record after a pilot completes a recurrency flight.
Checkout enforcement only applies when scheduling. Admins and owners can always create bookings regardless of checkout status — the server-side check only enforces limits for renter and student roles when creating schedules programmatically through the normal booking flow.
If you need to schedule a pilot in an aircraft type they haven't been approved for (e.g., for a checkout flight itself), create the checkout record first with today's date, then book.
supabase-migration-v31.sql.{aircraft.make} {aircraft.model}. Ensure consistency when adding checkouts — "Cessna 172S" must match exactly (the dropdown in the Checkouts tab populates from your fleet to prevent mismatches).member_aircraft_checkouts table (added in migration v30).