% % list the slots open for the date requested % false !entry Time.Now Time.Datels pop exch "/" catpref "/" catpref !Sked.Now _Sked.Date Time.Datels pop exch "/" catpref "/" catpref !Sked.Desired empty 0 *skedspan _Sked.Slots countup { dup !Sked.Index *skedspan _Sked.Desired &" " &_Sked.Stime "skedsldatetime" log)( !Sked.Timing _Sked.Timing Time.Now "n" Time.Diff "skeddiffnow" log)( negative { % % slot is still in future % _Sked.Index *skedopen { % % slot is open and time has not passed for use of the slot % _Sked.Index 36 base lower &". " %%% &"Available " &_Sked.Stime catcr & true !entry } { % % time has not passed for use of the slot but is reserved % _Sked.Index 36 base lower &". " &"Reserved " catcr & } ifelse } { % % time has passed for the slot % _Sked.Index 36 base lower &". " &"Expired " catcr pop } ifelse %%% &_Sked.Stime &" for " &_Sked.Span &" minutes" catcr %%% & } for _entry { % % at least one slot available % } { % % no slots available, clear summary % pop empty } ifelse % % stack: open-list %