申込フォームへの同時申込を回避する仕組みを作りたい

現在、イベントのリストを表示し、ユーザーが申込可能なアプリを作っています。
「eventデータ」、「userデータ」および
userが申込時にeventとuserに紐つく「entryデータ」を生成し

entryデータが生成される都度、eventデータ内の「申込人数」という項目に
数値を+1する形で申込人数を管理し

「申込人数」がeventデータの「定員」という項目以上になると
申込が出来なくなる仕様にしています。
(申込ボタンを押した際に、分岐し、「満員です」というページへ飛ぶ)

<相談事項>
最近ユーザーが増え、同時にイベントにユーザーが申し込むことがあり
残り1枠で複数のユーザーが同時に申し込むことが生じています。
(厳密に同時ではないが、少なくともデータベースの更新スピードより速い程度に同時)

この状況を回避するための妙案があればご教示いただきたく。よろしくお願いします。

<自分で試したこと>
申込時にイベントの申込人数をチェックするフローを
なるべく多段階にして、少しでもオーバーブッキングをはじくタイミングを
多くする。という施策は実施しています。

例)
①申込ボタン
↓※
②利用規約画面(規約に承諾ボタン)
↓※
③参加費入金画面(stripe決済ボタン)

①の申込ボタン、②の承諾ボタンで申込人数チェックをするほか
上記の画面遷移の①②③それぞれの画面の間の※のところに
白紙のページを作りページアクションに同様に人数チェック分岐を
仕込んではいます。

とはいえ、根本的な解決にはならず
同時申込の可能性をゼロにはできないでいます。

(厳密に同時ではないが、少なくともデータベースの更新スピードより速い程度に同時)

これが厄介ですね。
少なくともAdalo のSometimevisleなどAdalo内で解決できるものではないと思いました。

代替案としては、TypeformなどのFormツールなどで入力するデータベースを制限する方法が良いと思うので、Set a Respinse Limit などで制限する( ビジネスプラン以上が必要) だと思います。

上記にコストが掛けられないなら、人力で、応募者多数が見込まれる場合には、一旦運営側で当選メールを送ります。などが現実解になるかなと思います。

「いいね!」 1