Użyłbym prostego pola znacznika czasu w bazie danych, aby wskazać „zablokowany”. Za każdym razem, gdy ktoś próbuje zarezerwować pokój, program porównuje aktualny czas ze znacznikiem czasu i jeśli jest> 20 minut, a płatność nie została dokonana, zamek jest nieważny.
Ta metoda jest prawdopodobnie wystarczająco wydajna. Znacznik czasu jest zwykle 32-bitowy, a wydajność w wywołaniach bazy danych jest znikoma.