You can't double-book a down airplane.

Most scheduling tools will happily put a student in a grounded tail, because the schedule and the maintenance record are two different systems. Here they're one. Before a booking is written, the scheduler asks whether the airplane is airworthy, free, and allowed — and says which of those failed.

Today's line

One board, not four tabs.

Who's flying, in which tail, with which instructor, against which reservation type. Blocks, maintenance windows, and dispatch-check status stream onto the calendar as they change, so the board on the front desk and the board in the hangar say the same thing.

Reservation types separate a lesson from a rental from a maintenance ferry. Recurring templates handle the Tuesday-at-nine student. A waitlist catches the member who wanted the slot you just freed.

Today's LineKMMU · Jan 15
08:00N738GGR. Coopergo
10:30N5234KT. Hartleygo
14:00N9127Fstop
Conflict detection

Five ways a booking can be wrong. Named, not guessed.

A conflict scan over a proposed window doesn't return a red box. It returns which rule objected and which resources are involved — so dispatch fixes the actual problem instead of moving the flight an hour and trying again.

aircraft_grounded

The tail is out of service. A grounding squawk moved it there, and no amount of clicking will put a student in it.

aircraft_booked

Someone already has that airplane in that window. Surfaced before the booking is written, not after two people show up.

double_booking

The same resource in two places. Off by default at the org level — you have to deliberately allow it.

instructor_unavailable

Outside the instructor's availability blocks, or already committed to another lesson in that slot.

restriction

A scheduling rule for this reservation type or this role — currency, checkout, minimum notice, advance window.

Rescheduling an existing booking excludes that booking from its own overlap checks — moving a flight thirty minutes shouldn't collide with where it used to be.

Behaviour that matters at 7am

The edge cases are the job.

Maintenance blocks cancel, not collide

Move a maintenance window and the bookings that now fall inside it are cancelled and stamped with the block that did it. Nobody has to remember which four lessons were on that tail.

Solo rentals aren't fake conflicts

A rental with no instructor skips the instructor-overlap check entirely, so two members renting different airplanes at the same hour don't collide on an empty instructor slot.

Slots materialise when you look

Availability isn't a nightly job that drifts. Slots are derived from the instructor's blocks and written the moment someone opens that range on the calendar.

Approval is a permission, not a habit

Confirming or denying a booking request needs the approve-bookings capability. Instructors, dispatchers, and chiefs have it. Students requesting their own lesson do not.

Pre-flight dispatch check

The walkaround, recorded.

A booking can carry a dispatch check: a list of items, each with its own type, name, and result, plus who performed it and when. When its status changes, the calendar hears about it — so an incomplete check is visible on the board, not in someone's clipboard.

Slot suggestions

Scored, with reasons.

Ask for a slot and each candidate comes back scored, with the reasons in plain language. The penalties are not a mystery:

  • Instructor already booked −0.40
  • Maintenance window overlaps −0.40
  • Aircraft already booked −0.35
Questions

Can a grounded aircraft still be dispatched?

No. Availability requires the aircraft to exist, be active, not be grounded, and have no conflicting bookings in the requested window. A grounding squawk fails that check, so the tail cannot be assigned until the squawk is resolved.

What happens to bookings when maintenance is scheduled on top of them?

Creating or moving a maintenance block re-evaluates conflicts against the new window. Bookings that now overlap it are cancelled and stamped with the maintenance block that cancelled them, so dispatch can see why.

Is double-booking ever allowed?

Only if your organisation turns it on. Double-booking is off by default, and the overlap checks are skipped only when a booking is explicitly created with the allowance set.

Ready to Dispatch?

Put the board where the truth is.