1つの解決策は、データベースのテーブルに2つの列を追加することです。 1つの列は、セッションIDまたはユーザーID、あるいは部屋に提供されているユーザーのいずれかです。 2番目の列は、そのオファーの有効期限が切れる時期を示すタイムスタンプです。
次に、アプリで、保留列にタイムスタンプの有効期限が切れている部屋のみを表示します。 (最初のタイムスタンプを0に設定して、有効期限が切れた状態で開始するようにします。)部屋が選択されたら、列をもう一度確認します。有効期限が切れていないタイムスタンプがある場合、ユーザーには「申し訳ありませんが、遅すぎました」というメッセージが表示されます。それ以外の場合は、15分間など、そこにタイムスタンプを付けて続行します。
これは、旅行サイトやチケット購入サイトでよく見られます。「これらの座席はさらに14分間保持されます。それまでに取引を完了してください。そうしないと、何とか何とか何とかリリースされます。」