実際の連携先がなくても、予約データの取り込み処理を体験できます
From:
Subject:
本文:
実際の運用では、この予約データが自動的にSupabaseの
external_reservations
テーブルに保存されます。管理画面で内容を確認後、ワンクリックでメイン予約システムに同期できます。
IMAPまたはGmail APIを使って、1分間隔で新着メールをチェックします。Bull Queueによる非同期処理で、大量のメールも効率的に処理できます。
送信元メールアドレス(@hotpepper.jp, @salonboard.com等)や件名から、適切なパーサーを自動的に選択。各予約サイト独自のフォーマットに対応します。
正規表現とCheerioを使ってHTML/テキストメールを解析。顧客名・電話・日時・メニュー・料金など20項目以上のデータを抽出します。
顧客名(Levenshtein距離)・電話番号・日時・メニューの4要素で類似度を計算。同じ予約が複数サイトから届いても、自動的に重複を検出できます。
管理画面で内容を確認してから、ワンクリックでメイン予約システムに同期。誤った予約を取り込むリスクを最小限に抑えます。
目的: 実際の外部予約サイト(HOT PEPPER / SALON BOARD / 楽天ビューティー)との連携がなくても、データ取り込みの仕組みを理解し、動作を確認できます。
仕組み: サンプルメールを生成し、実際のパーサーと同じロジックで解析。重複チェックまで含めた完全なフローをシミュレーションします。
本番環境: 実際の運用では、EmailMonitorServiceが1分間隔で自動的にメールをチェック。Bullキューで非同期処理し、管理画面から手動で同期タイミングをコントロールできます。