# 住宅ローン営業管理ツール ## データベース設計書(業者専用・有料プラン) --- # 1. 設計方針 - マルチテナント(会社単位)構造 - 会社データ完全分離(company_id必須) - 顧客 → 案件 → ローン進捗 の階層構造 - 将来的なCRM連携を想定した拡張可能設計 - 論理削除(deleted_at)対応 --- # 2. テーブル一覧 1. companies 2. users 3. customers 4. cases 5. case_sale_simulations 6. case_purchase_simulations 7. case_purchase_comparisons 8. financial_institutions 9. case_loan_progress 10. case_loan_progress_logs 11. calculator_logs(任意) 12. user_sessions(認証管理) --- # 3. テーブル詳細設計 --- # 3.1 companies(会社) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | 会社ID | | name | varchar | 会社名 | | logo_url | varchar | ロゴURL | | plan_type | varchar | プラン種別 | | user_limit | int | ユーザー上限数 | | created_at | datetime | 作成日時 | | updated_at | datetime | 更新日時 | | deleted_at | datetime | 論理削除 | --- # 3.2 users(スタッフ) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | ユーザーID | | company_id | bigint FK | 会社ID | | name | varchar | 氏名 | | email | varchar | メール | | password_hash | varchar | パスワード | | role | varchar | admin / member | | is_active | boolean | 有効フラグ | | created_at | datetime | 作成日時 | | updated_at | datetime | 更新日時 | --- # 3.3 customers(顧客) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | 顧客ID | | company_id | bigint FK | 会社ID | | name | varchar | 顧客名 | | phone | varchar | 電話番号 | | email | varchar | メール | | memo | text | メモ | | created_at | datetime | 作成日時 | | updated_at | datetime | 更新日時 | | deleted_at | datetime | 論理削除 | --- # 3.4 cases(案件) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | 案件ID | | company_id | bigint FK | 会社ID | | customer_id | bigint FK | 顧客ID | | assigned_user_id | bigint FK | 担当営業 | | property_name | varchar | 物件名 | | property_price | bigint | 物件価格 | | status | varchar | 案件ステータス | | created_at | datetime | 作成日時 | | updated_at | datetime | 更新日時 | | deleted_at | datetime | 論理削除 | --- # 3.5 case_sale_simulations(売却シミュレーション) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | シミュレーションID | | case_id | bigint FK | 案件ID | | sale_price | bigint | 売却価格 | | loan_balance | bigint | 残債 | | survey_cost | bigint | 測量費 | | mortgage_release_cost | bigint | 抵当権抹消費 | | ownership_transfer_cost | bigint | 所有権移転費用 | | demolition_cost | bigint | 解体費 | | tax_adjustment | bigint | 固定資産税精算 | | other_cost | bigint | その他費用合計 | | acquisition_cost | bigint | 取得費 | | holding_years | int | 所有年数 | | tax_estimated | bigint | 概算税額(内部用) | | net_amount_before_tax | bigint | 税引前手取り | | created_at | datetime | 作成日時 | --- # 3.6 case_purchase_simulations(購入シミュレーション) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | シミュレーションID | | case_id | bigint FK | 案件ID | | mode | varchar | property / monthly / total | | property_price | bigint | 物件価格 | | down_payment | bigint | 頭金 | | interest_rate | decimal | 金利 | | loan_years | int | 年数 | | monthly_limit | bigint | 月々上限 | | total_limit | bigint | 総額上限 | | current_age | int | 現在年齢 | | loan_amount | bigint | 借入額 | | monthly_payment | bigint | 月々返済 | | total_payment | bigint | 総返済額 | | total_interest | bigint | 総利息 | | created_at | datetime | 作成日時 | --- # 3.7 case_purchase_comparisons(比較データ) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | 比較ID | | case_id | bigint FK | 案件ID | | comparison_type | varchar | rate / term | | value_1 | decimal | 比較値1 | | value_2 | decimal | 比較値2 | | value_3 | decimal | 比較値3 | | created_at | datetime | 作成日時 | --- # 3.8 financial_institutions(金融機関) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | 金融機関ID | | company_id | bigint FK | 会社ID(null可:テンプレ) | | name | varchar | 銀行名 | | description | text | 説明 | | loan_types | text | 金利タイプ情報 | | fee_type | varchar | 手数料種別 | | dan_shin_info | text | 団信情報 | | pre_screening_url | varchar | 仮審査URL | | created_at | datetime | 作成日時 | --- # 3.9 case_loan_progress(ローン進捗) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | 進捗ID | | case_id | bigint FK | 案件ID | | financial_institution_id | bigint FK | 銀行ID | | pre_status | varchar | 仮審査ステータス | | main_status | varchar | 本審査ステータス | | bank_staff_name | varchar | 銀行担当者 | | bank_staff_phone | varchar | 電話 | | bank_staff_email | varchar | メール | | memo | text | メモ | | created_at | datetime | 作成日時 | | updated_at | datetime | 更新日時 | --- # 3.10 case_loan_progress_logs(進捗履歴) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | ログID | | case_loan_progress_id | bigint FK | 進捗ID | | status_type | varchar | pre / main | | old_status | varchar | 旧ステータス | | new_status | varchar | 新ステータス | | changed_by | bigint FK | 更新者 | | created_at | datetime | 作成日時 | --- # 3.11 calculator_logs(電卓履歴・任意) | カラム名 | 型 | 説明 | |-----------|----|------| | id | bigint PK | ログID | | user_id | bigint FK | ユーザーID | | expression | varchar | 計算式 | | result | varchar | 結果 | | created_at | datetime | 作成日時 | --- # 4. インデックス設計(推奨) - customers.company_id - cases.customer_id - cases.assigned_user_id - case_loan_progress.case_id - financial_institutions.company_id --- # 5. 拡張想定 - CRM統合用 external_customer_id カラム追加 - API連携用トークン管理テーブル - 通知管理テーブル(alerts) --- 以上が現段階のデータベース設計案です。