Excel would have and could have
load the rows and columns,
Mark existing season tickets as orange, Mark the rest as Green (Available)
After season ticket holders take up their seats mark them as red (Taken), change all other orange (ST Holders not taking the option in time) to Green
When the emails, calls, visits start its a 1st come 1st serve basis and if its available after checking the excel sheet mark it red, if not find the closest and mark Yellow whilst waiting for feedback (Only for emailed tickets)
Change Yellow to Red if acceptable, or if no response in say 3 days mark as green.
Repeat steps 4 to 6 till we sell all the tickets
Dead easy