Trips and Clearance Promises
A trip is simply a sequence of consecutive flights by a single traveller with a maximum length of 90 days from the start of the first flight to the end of the last. The start of a Trip is enforced by FLAP but the traveller controls when a trip ends - FLAP only forces a trip to end if the 90 day limit is reached.
Travellers (or the airlines they fly with) are able to submit trip plans to FLAP in advance and obtain a "clearance promise": a committed date after the completion of the Trip when the traveller will be allowed to fly again. This promise holds regardless of the traveller's distance balance at the time, and allows subsequent trips to be planned in advance with certainty.
Up to three consecutive clearance promises can be "chained". A chained promise has a date that is brought forward to be the start date of the next planned trip. This allows travellers to bunch up to four trips close together, but at a cost. The date of the promise immediately following the end of the stack is pushed further into the future to allow for the backfilling of the distance defict accrued over the period of the stack.
The experience of most travellers is simply of a calendar, very similar to a calendar presented on-line for the booking of holiday accomodation, with each day colour coded according to its currrent FLAP state. Below is a mock-up from of how this might look using Google Calendar.
The blue days show a return trip from London to Rome for a long weekend over the New Year. Immediately after the red days show when the traveller is grounded and unable to travel. As soon as the clearence date (4th February) is reached the days turn clear again.
The traveller is free to book more trips at any time but only for dates where days from the start of the trip to its associated clearance date are all clear.
An interactive Web UI can automatically use stacks to make best efforts to accomodate a planned trip, and to make proposals about which planned trips could be delayed or cancelled to accommodate the new trip.