Order Exists with Seat Locking Exception

There are several places on our website where I use the OrderExists webapi method to determine if the current session has an existing order. Then if OrderExists returns true, I will call GetOrder webapi method to retrieve data associated with the current session. 

If the seat server Ticket Timer expires then the call to GetOrder will throw an exception (Seat lock exception)

I have implemented a timer (jquery) to determine when the seats will lock, and I release the seats before the Tess ticket timer expires but I can't rely on the timer exclusively if the user leaves the ticket purchase path. I have to assume the seats in the current order could lock. 

If the seats do lock how should I handle the web order associated with the current session since I can't release the seats after the timer expires? I can't figure out what method to call to "delete" or dissociate the order from the current session. I've tried using TransferSession but that doesn't seem to dissociate the current order with the session either. 

My question applies to our new website I am building for our organization. What they did on the old website is the following: 
Timer times out -
1) GetNewSessionKey
2) TransferSession 
3) LoginEx2 

They are storing the user's password in a session variable and logging in the user again so the order with expired seats is no longer associated with the current loggedIn/authenticated session. This is bad on multiple levels. 

Do I have to login the user again to dissociate the user's session from the order which has seats locked? If this is the only way to do it then I will have to login the user in as anonymous even if they logged in with their Tess web login. I'm sure there is a different way to accomplish this? 

Thanks for any info! 



[edited by: Chip Hunt at 4:30 PM (GMT -6) on 18 May 2015]