同一参加者の二重予約や重複登録が発生した場合の原因調査と対処、防止策を解説します。
重複登録の検出と確認
EventSyncでは、二重登録防止のためシステムがメールアドレスで重複チェックを行います。同一メールアドレスでの二重予約を試みると、通常は「このメールアドレスはすでに登録されています」というエラーが表示されます。
ただし、わずかな時間差で複数のリクエストが同時に送信された場合(フォームの二重送信など)、重複チェックをくぐり抜けて二重登録が発生するケースがまれにあります。この場合、両方の予約に予約番号(BK-{タイムスタンプ}-{ランダム値}形式)が発行されます。
二重登録が疑われる場合は、管理画面の「重複チェック」ツールを使用してください。同一イベント内で同じメールアドレスで複数の有効な予約が存在する場合を検出し、一覧表示します。
重複登録の解消手順
重複した予約が見つかった場合、参加者に確認を取った上でどちらを有効とするかを決定してください。通常は後から作成された予約(タイムスタンプが新しい予約番号)を保持し、古い方をキャンセルします。
予約番号(BK-{タイムスタンプ}-{ランダム値})のタイムスタンプ部分を比較することで、どちらが先に作成されたかを確認できます。管理画面ではタイムスタンプの昇順・降順でソートすることも可能です。
キャンセルする予約を選択して「管理者キャンセル」を実行してください。この際、「キャンセル通知メールを送信しない」オプションを選択することで、参加者に不必要な混乱を与えることなくクリーンアップできます。重複解消後は参加者に正しい予約情報を1通のメールで送付することをお勧めします。
二重登録の防止策
フォームの二重送信による重複登録を防ぐには、送信ボタンをクリック後に無効化するクライアントサイドの処理が重要です。EventSyncの標準フォームにはこの機能が実装されていますが、カスタムフォームを使用している場合は実装を確認してください。
APIを通じて予約を作成する場合は、同一メールアドレスからの短時間の重複リクエストを検出するためのべき等性キーを使用してください。「Idempotency-Key」ヘッダーにUUIDを設定することで、同じキーを持つリクエストは1回のみ処理されます。
管理画面の「重複防止設定」では、同一メールアドレスによる再登録ポリシーを設定できます。「エラーとして拒否」「既存予約を更新」「新規作成を許可」の3つのモードから選択してください。イベントの性質に応じて適切なモードを選択することで、ユーザー体験を損なわずに重複を管理できます。