店長エージェント SaaS — 要件定義書

Version 1.0 | 2026-04-15 | AI経営共創パートナーズ

プロジェクト名
店長エージェント SaaS
対象業界
パチンコホール
開発ステータス
MVP未着手
MVP開発期間
8週間(Phase 1)

1. プロジェクト概要

パチンコホール店長の事務作業を最大77%カットするAI業務支援SaaS。キクヤ向けに開発済みの「SETTING OPTIMIZER」をベースに、マルチテナントSaaSとして展開する。

1.1 料金プラン

プラン月額(税別)主な機能
Basic100,000円F-01 計数管理 / F-02 シフト / F-03 報告書
Pro150,000円Basic + ヒートマップ + 複数店舗比較
Premium500,000円Pro + 商圏分析 + 不正検知

1.2 現在のステータス

成果物ステータス備考
デモUI完成済みtencho-demo.pages.dev
MVP要件定義書完成済み本ドキュメント(ドラフト)
向井氏FB反映反映中2026-04-15 受領、方向転換あり
開発未着手
向井氏フィードバック(2026-04-15)による方向転換

2. 技術スタック

レイヤー技術バージョン
FrontendReact19.x
FrontendTypeScript5.9.x
FrontendVite8.x
FrontendTailwindCSS4.x
FrontendZustand5.x
BackendPython3.14
BackendFastAPI0.135.x
BackendSQLAlchemy2.0.x
BackendAlembic1.18.x
AIClaude Sonnet 4claude-sonnet-4-*
DBPostgreSQL16.x

3. システムアーキテクチャ

┌─────────────┐     ┌──────────────────────┐     ┌──────────────┐
│  Frontend   │────▶│  Backend API         │────▶│  Database    │
│  React/TS   │◀────│  FastAPI (Python)    │◀────│  PostgreSQL  │
│  TailwindCSS│     │                      │     │              │
└─────────────┘     │  ┌────────────────┐  │     └──────────────┘
                    │  │ Claude API     │  │
                    │  │ (AI Analyzer)  │  │
                    │  └────────────────┘  │
                    └──────────────────────┘

フロントエンドはSPAとしてビルドし、静的ホスティング。バックエンドAPIはFastAPIで構築し、Claude APIを内部で呼び出す。DBはPostgreSQLを使用し、論理テナント分離を行う。

4. 既存資産(再利用対象)

キクヤ SETTING OPTIMIZERのコードベースを再利用する。
格納場所: 30_案件別/キクヤ/20_成果物/pachislot-settings/

4.1 Backend再利用モジュール

モジュール機能移植方針
core/scoring.py台ごとの5指標スコアリングそのまま移植
core/profit_adjuster.py粗利目標ベースの設定最適化そのまま移植
core/application/smart_optimizer.py複数候補生成そのまま移植
core/ai_analyzer.pyClaude APIによるAI分析そのまま移植
core/csv_loader.pyホルコンCSVの読み込みそのまま移植
core/config_loader.py設定読み込みテナント別設定に拡張
core/models.pyデータモデルテナント対応に拡張
core/auth.py認証マルチテナント対応に拡張

4.2 Frontend再利用モジュール

モジュール移植先方針
components/optimizer/*F-01移植
components/layout/*共通レイアウトSaaS用に拡張
pages/OptimizerPage.tsxF-01ページ移植
store/optimizationStore.tsF-01ストアそのまま移植

5. マルチテナント要件

5.1 分離戦略

5.2 ロール定義

ロール説明権限
adminシステム管理者全テナント管理、ユーザー管理
manager店長自テナント内の全操作
userスタッフ閲覧 + 限定操作

5.3 テナント管理スキーマ

CREATE TABLE tenants (
    id            UUID PRIMARY KEY,
    name          VARCHAR(200) NOT NULL,
    slug          VARCHAR(50) UNIQUE NOT NULL,
    plan          VARCHAR(20) DEFAULT 'basic',
    config        JSONB DEFAULT '{}',
    is_active     BOOLEAN DEFAULT true,
    created_at    TIMESTAMPTZ DEFAULT NOW(),
    updated_at    TIMESTAMPTZ DEFAULT NOW()
);

CREATE TABLE users (
    id            UUID PRIMARY KEY,
    tenant_id     UUID NOT NULL REFERENCES tenants(id),
    email         VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    name          VARCHAR(100) NOT NULL,
    role          VARCHAR(20) DEFAULT 'user',
    is_active     BOOLEAN DEFAULT true,
    created_at    TIMESTAMPTZ DEFAULT NOW()
);

6. 機能要件

6.1 F-01: 計数管理(SETTING OPTIMIZER移植) 未着手

概要: ホルコンCSVと粗利目標を入力し、AIが翌日の台別推奨設定を提案する。

処理フロー

  1. ホルコンCSVアップロード(データ整形)
  2. 5指標スコアリング
  3. 粗利目標ベース最適化
  4. 複数候補生成(Smart Optimizer)
  5. Claude APIによるAI分析

出力物

API エンドポイント

MethodEndpoint説明
POST/api/optimization/run最適化実行
POST/api/optimization/analyzeAI分析実行
POST/api/data-import/uploadCSVアップロード
GET/api/decisions設定決定履歴取得
POST/api/decisions設定決定記録
向井氏FB反映事項(F-01)

6.2 F-02: 労務管理(シフト作成) 未着手

概要: スタッフの希望・スキル・法定労働時間を考慮してAIが最適シフトを提案する。

制約条件

API エンドポイント

MethodEndpoint説明
GET / POST/api/shiftsシフト取得 / 生成
GET / POST/api/staffスタッフ一覧 / 登録
POST/api/staff/{id}/availability出勤可能日登録

関連テーブル

staff, staff_availability, shifts, business_calendar

6.3 F-03: 報告書作成 未着手

概要: 計数データ(F-01)+ シフト実績(F-02)+ 特記事項から日次/週次報告書を自動生成する。

API エンドポイント

MethodEndpoint説明
GET / POST/api/reports報告書取得 / 生成
GET / POST/api/report-templatesテンプレート管理

6.4 F-04: 効果測定 未着手

概要: イベント・ライター来店企画のROI自動算出。

API エンドポイント

MethodEndpoint説明
GET / POST/api/campaignsキャンペーン一覧 / 登録
GET/api/campaigns/{id}/roiROI算出

7. Pro/Premium機能(Phase 2以降)

機能プラン概要優先度
島図面ヒートマップPro実店舗レイアウト(アール島対応)、ピーク時間分析(15時・20時)、台配置最適化提案最重要
設定最適化AIProボックス単位の設定提案、着席率連動、店長の意図入力、異常検知
商圏分析Premium競合店分析、ランチェスター戦略、p-worldデータ連携
不正検知Premium勝率異常検知、設定漏洩パターン検知

8. データモデル

tenants ──┬── users
          ├── daily_data            (日次実績CSV)
          ├── optimization_runs     (最適化実行履歴)
          ├── decisions             (設定決定履歴)
          ├── staff ──── staff_availability
          ├── shifts
          ├── business_calendar
          ├── reports / report_templates
          └── campaigns / campaign_results

全テーブルは tenant_id を持ち、RLS(Row Level Security)またはアプリケーション層でテナント分離を行う。

9. 非機能要件

項目要件
最適化実行500台 10秒以内
AI分析30秒以内
シフト生成30名 1ヶ月 30秒以内
稼働率99.5%
バックアップ日次自動
通信HTTPS必須
認証JWT + bcrypt
同時接続50ユーザー

10. 開発フェーズ

10.1 Phase 1: MVP(8週間)

タスク成果物
W1-2マルチテナント基盤DB設計、認証拡張、テナント管理API
W3-4F-01 移植SETTING OPTIMIZER → SaaS化
W5-6F-02 実装シフト管理
W7F-03 実装報告書作成
W8F-04 + 結合テスト + デプロイ効果測定、E2Eテスト、本番環境

10.2 Phase 2-3

Phase期間内容
Phase 2(Pro機能)1ヶ月ヒートマップ + 複数店舗比較
Phase 3(Premium機能)1ヶ月商圏分析 + 不正検知

11. インフラ・コスト試算

月額合計(5店舗)
約 20,000円
1店舗あたりAPIコスト
約 1,240円/月
項目月額
アプリサーバー3,000〜10,000円
データベース0〜3,000円
ストレージ500円
Claude API5,000円

12. 受入基準

IDテスト内容合格条件
T-01CSV取込→最適化→結果表示500台30日分のデータで正常動作
T-02AI分析・Q&A分析結果が30秒以内に返却
T-03シフト自動生成30名1ヶ月、法定制約を全て充足
T-04報告書PDF出力テンプレートに基づくPDF生成
T-05ROI計算正しいROI値を算出
T-06テナント分離他テナントのデータが参照不可
T-07認証・認可ロール別アクセス制御が正常動作

13. 依頼事項

子安氏への開発依頼内容:

  1. 既存SETTING OPTIMIZERコードベースのマルチテナントSaaS化
  2. F-01〜F-04のMVP実装
  3. 向井氏FBを反映した計数管理UIの刷新
  4. デプロイ環境の構築
既存コードベースの参照先

30_案件別/キクヤ/20_成果物/pachislot-settings/ にSETTING OPTIMIZERの全ソースが格納されている。セクション4の再利用方針に従い移植すること。