string
string
string
dateTime
dateTime
number
string
tFlight
string
string
number
string
tPassenger
string
Flight List[ Status = "cancelled" ].Flight Number
Passenger List[ list contains( Cancelled Flights, Flight Number ) ]
sort( Waiting List, passenger priority )
reassign next passenger
Prioritized Waiting List
[]
Flight List
Passenger1.Status
"gold", "silver", "bronze"
Passenger2.Status
"gold", "silver", "bronze"
Passenger1.Miles
true, false
false
"gold"
"gold"
>= Passenger2.Miles
true
"gold"
"silver","bronze"
-
true
"silver"
"silver"
>= Passenger2.Miles
true
"silver"
"bronze"
-
true
"bronze"
"bronze"
>= Passenger2.Miles
true
Waiting List[1]
Flights[ Flight Number = Next Passenger.Flight Number ][1]
Flights[ From = Original Flight.From and
To = Original Flight.To and
Departure > Original Flight.Departure and
Status = "scheduled" and
has capacity( item, Reassigned Passengers List ) ][1]
Next Passenger.Name
Next Passenger.Status
Next Passenger.Miles
Best Alternate Flight.Flight Number
remove( Waiting List, 1 )
append( Reassigned Passengers List, Reassigned Passenger )
if count( Remaining Waiting List ) > 0
then
reassign next passenger( Remaining Waiting List,
Updated Reassigned Passengers List,
Flights )
else
Updated Reassigned Passengers List
flight.Capacity > count( rebooked list[ Flight Number = flight.Flight Number ] )