PM portal 内で表示する正本文書の一覧です。
docs/Tatekan/kintai/kintai_concept_brief.mdConcept Briefdocs/Tatekan/kintai/shiftmax_analysis.mdShiftMAX Analysis
Private / PM Only
Access Protected
Time のアーキテクチャ、設計、仕様、要求定義を PM portal 内で参照するためのページです。
PM portal 内で表示する正本文書の一覧です。
docs/Tatekan/kintai/kintai_concept_brief.mdConcept Briefdocs/Tatekan/kintai/shiftmax_analysis.mdShiftMAX AnalysisTime は TATEKANOS を構成する要素です。このページでは現在の正本文書を PM portal 内で参照できます。
Source
docs/Tatekan/kintai/kintai_concept_brief.md
専用のアーキテクチャ文書はまだなく、現状はコンセプト文書が最も近い正本です。
Date: 2026-03-13 JST Status: 市場調査完了 / コンセプト整合中 — PM y/n 確認待ち 前版: TATEKAN Kintai(仮称)→ PM決定により TATEKAN Time に正式改訂
TATEKAN Time(PM 決定)Time(内部略称)ビルメン業界は 人件費率 57.7%・警備員の 52.7% が 60 歳以上 という労働集約型業種であり、勤怠管理は「利益率 0.5% の世界で最も原価に直結する業務」の一つである。
現状の課題:
| 課題 | 内容 |
|---|---|
| アナログ打刻 | 紙タイムカード・Excel 集計が主流。月次締め作業に数日を要する |
| シフト調整の属人化 | 担当者の頭の中でシフトが組まれており、代替要員の算出が即時対応不可 |
| 申請承認の断絶 | 残業・有給申請が紙または口頭。承認経路が不透明で監査対応困難 |
| 給与計算との乖離 | 勤務実績と給与計算が別システム。転記ミス・二重管理が常態化 |
| 複数現場の分散管理 | 清掃・警備・設備の各現場ごとに異なる管理方法が混在 |
| 宿直管理の複雑さ | 宿直・仮眠の労働時間判定(大星ビル管理事件準拠)が属人的に処理されている |
tatekan_industry_os_vision.md の 5 層アーキテクチャでは、シフト AI は Phase C(12〜24 ヶ月先)に位置づけられているが、これは「AI による最適化」が後段であるという意味であり、基盤となる打刻・シフト・申請承認データの収集は Phase A から始める必要がある。
AI Agent Hub(Layer 5)の「シフト AI: 人員配置最適化」は、勤怠管理の生データなしには実現しない。TATEKAN Time はそのデータ基盤を担う。
Toriteki は「元請け→協力会社への発注・検収・作業報告」を扱うが、作業員の勤怠(出勤・退勤・現場滞在時間)は管理しない。TATEKAN Time はこのギャップを埋め、作業報告と勤怠記録を紐づけることで現場別原価管理精度を高める。
TATEKAN Time は:
dMemo と近接連携し、日次業務メモと終業打刻の接続を可能にするTATEKAN Time は以下ではない:
| 職種 | 代表的シフト | 休日制度 | 特殊性 |
|---|---|---|---|
| 常駐警備 | 9:00→翌9:00(24h拘束、実働16h、仮眠6h、休憩2h)→明け→休み | 4週8休 | 宿日直許可・断続的労働の判定が必要 |
| 清掃 | 早朝6-9時 / 日勤8-17時 / 夜間22-翌6時(現場による) | 週2日 or 4週8休 | パート多・短時間勤務・複数現場掛け持ち |
| 設備管理 | 日勤→日勤→宿直→明け→休み(5日サイクル) | 4週8休 | 巡回・宿直・緊急対応待機 |
| 事務職(合同産業) | 平日9:00-18:00 | 週2日(土日) | 通常勤務 |
| 職種 | 出勤場所の性質 | BLE ビーコン補助 |
|---|---|---|
| 警備職 | ほぼ決まった現場 | ○ |
| 清掃職 | ほぼ決まった現場(複数掛け持ちあり) | ○ |
| 設備員 | ほぼ決まった現場 | ○ |
| 事務職 | ほぼ決まった事務所 | ○ |
| 営業職 | 現場固定ではない | △(モバイル打刻主経路) |
| 開発職 | 現場固定ではない | △(モバイル打刻主経路) |
primary_site_id をスタッフマスタに登録し、BLE 検知は登録済み現場のビーコンに限定して処理する。
清掃スタッフが同日に A 現場(06:00-09:00)と B 現場(10:00-14:00)を掛け持ちするケース(primary_site_id 外への出勤)では:
- 同日の複数打刻を合算して1日の実労働時間を計算
- 現場ごとの滞在時間を個別記録(原価配賦のため)
- 合計が8h超の場合に時間外として自動認識
shift table = plan、clock/application/approval = actual、payroll ledger = approved result の 3 層で扱うplan の正本とし、怪我・病欠・交代・欠員などの臨時変更は actual 側で履歴管理するplan を配信する補助チャネルとして扱う| 種別 | 採用予定 | 実装方針 |
|---|---|---|
| 1ヶ月単位 | 警備・設備向けの主流 | 月ごとに変形カレンダーを設定し、3段階清算(日超/週超/月超)を自動計算 |
| 1年単位 | 警備業の一部 | 届出済み協定に基づき特定日・特定週を登録 |
| 通常(週40h) | 事務職・清掃パート | 標準モード |
宿直勤務タイプでは以下を選択:
| 設定値 | 意味 | 労働時間計算 |
|---|---|---|
standby_obligated |
義務から解放されていない宿直 | 拘束時間全体を労働時間とみなす |
standby_released |
完全解放型仮眠あり | 仮眠時間を非労働時間として除外 |
incident_only |
事案対応のみ記録 | 対応時間のみ労働時間として加算 |
打刻時刻から以下のマトリクスを自動適用:
| 状況 | 割増率 |
|---|---|
| 時間外(法定外) | +25% |
| 深夜(22-5時) | +25% |
| 法定休日 | +35% |
| 時間外 + 深夜 | +50% |
| 休日 + 深夜 | +60% |
| 時間外 60h超 + 深夜 | +75% |
| 機能 | 説明 |
|---|---|
| 出勤・退勤 打刻 | スマートフォン Web アプリから現場で打刻 |
| GPS 打刻 | 現場座標との照合(許容半径設定可) |
| QR コード打刻 | 現場設置 QR → スキャンで打刻(端末不要) |
| BLE ビーコン補助 | 現場設置ビーコン検知 → シフト照合 → 打刻忘れアラート(自動打刻はしない・位置情報取得なし) |
| 日次勤務実績 | 打刻から自動集計。手修正は管理者承認フロー経由 |
| 不備アラート | 打刻漏れ・異常時間を即時検知してマネージャーに通知 |
| 複数現場合算 | 同日の複数現場打刻を合算して実労働時間を算出 |
| 休憩モード | テナント別に auto / manual_punch / hybrid を選択可能。合同産業では auto を基本とし、所定労働時間・勤務テンプレート・勤務区分に応じて system が自動付与 |
| 機能 | 説明 |
|---|---|
| 勤務体系テンプレート | 警備宿直・設備5日サイクル・清掃パート・事務の4プリセット初期提供 |
| AI 月次下書き | 過去データまたは AI 初期ヒアリングから月次シフト案を生成し、シフト表を plan の正本 として提示する |
| 個人確認 / 差分修正 | 本人は AI 案が問題なければ何も触らず受諾し、変更が必要な場合だけ差分を出す |
| 交代申請 | スタッフがシフト交代を申請 → マネージャーが承認 |
| 欠員アラート | 配置人数が基準を下回ると自動アラート |
| シフト公開 | 確定シフトをスタッフアプリに配信 |
| カレンダー同期(任意) | 必要なテナントのみ Google Calendar 等へ補助同期。Time 内シフト表が正本 |
| 4週8休管理 | 起算日を就業規則に従い設定し、法定休日の自動判定 |
| 申請種別 | 説明 |
|---|---|
| 残業申請 | 事前申請 or 事後申請(管理者設定で切り替え) |
| 有給休暇申請 | 取得残日数の自動管理 |
| 代休申請 | 振替休日の紐づけ管理 |
| 遅刻・早退届 | 提出 → 上長承認 → 勤務記録に反映 |
| 特別休暇 | 慶弔・病欠等の区分設定 |
承認フローは 1 段または 2 段(マネージャー → 管理本部)を設定可能。
| 機能 | 説明 |
|---|---|
| 月次勤務時間集計 | 締め処理で実労働時間・残業時間・深夜時間・休日出勤を確定 |
| CSV エクスポート | 弥生給与・freee 人事労務等の取込フォーマット対応 |
| 割増計算済み集計 | 25%/35%/50%/60%/75% の自動計算結果を給与連携用に出力 |
| API エクスポート(将来) | 外部給与 SaaS との直接 API 連携(Phase 2 以降) |
| 原価連携 | 現場別・職種別の労務費を TATEKAN Core の原価管理に渡す |
| レイヤー | 技術 | 理由 |
|---|---|---|
| Backend | Python / Flask | NOS 既存スタック統一。Toriteki / Mitsumori と同一 |
| Deploy | Cloud Run | 既存 NOS インフラと統一。オートスケール対応 |
| Database | Cloud SQL PostgreSQL | 勤怠データはリレーショナル(従業員×日付×現場のマトリクス構造)。Mitsumori と同様の判断 |
| Auth | TATEKAN Control 経由(独立認証) | Google Workspace アカウント前提としない。メール/パスワード or TATEKAN Control 発行の認証情報を使用 |
| Storage | GCS | 打刻証跡・QR 生成ファイルの保存 |
| Frontend | Jinja2 + Vanilla JS | 既存 NOS スタック統一。スマートフォン対応レスポンシブ必須。従業員 UI はブラウザのみ(SS 不要) |
| BLE ログ基盤 | BigQuery | 2,000台超のビーコンが生成する出入りログを BigQuery に集約。定期バッチでログ肥大化を防ぐ |
| 案 | 棄却理由 |
|---|---|
| Firestore | 勤怠の集計クエリ(GROUP BY, SUM)は SQL が圧倒的に有利 |
| BigQuery | OLTP には不向き。月次締め処理のトランザクション管理困難 |
| 外部 SaaS 採用 | NOS マルチテナント制御・原価連携・業界特化カスタマイズが不可。ShiftMAX は価格・統合面で不適 |
tenant_id による行レベル分離(PostgreSQL RLS)time = enabled/disabled を管理tatekan.app/time/[tenant_slug]/ または Cloud Run サービス分離(→ Open Questions Q8)| サービス | 価格帯 | ビルメン特化度 | TATEKANOS 統合 |
|---|---|---|---|
| ジョブカン / KING OF TIME | 安 | △ 汎用 | ✗ |
| freee / MF 勤怠 | 中 | △ 汎用 | ✗ |
| ShiftMAX | 高(月3万〜) | ◎ ビルメン特化 | ✗ |
| TATEKAN Time | 中〜低 | ◎ ビルメン特化 | ✓ TATEKANOS 統合 |
| パターン | TATEKAN Time 利用形態 |
|---|---|
| 元請けビルメン会社(full_linked) | Core + Toriteki + Mitsumori + Time の完全連携 |
| 協力会社(standalone) | Toriteki + Time のみ(自社作業員の勤怠管理) |
| 警備会社(特化) | シフト管理・夜間打刻・宿直管理・休日出勤申請が中心 |
| 商マネ社(全国同一体系) | 事務職中心の標準モードで利用 |
| # | 質問 | 背景 |
|---|---|---|
| Q1 | ~~サービス名~~ | ~~解決済み: TATEKAN Time に決定~~ |
| Q2 | Phase 1 の開発着手タイミングはいつか | TATEKAN Control Phase 1 完了後か、並行して進めるか |
| Q3 | 給与計算連携の最初のターゲットは何か | 合同産業が現在使用している給与ソフト(弥生 / freee / GLOVIA 等)による |
| Q4 | 打刻方式の優先順位は GPS / QR / 両方対応か | Phase 1 スコープの絞り込みに影響 |
| Q5 | dMemo の終業メモ連携をどこまで Phase 1 に含めるか | 打刻主経路との責務分離と UX に影響 |
| Q6 | スタッフアプリは Toriteki と共通 UI にするか Time 独立 UI にするか | フロントエンド開発量と UX 一貫性のトレードオフ |
| Q7 | Cloud SQL の Time 専用インスタンスを新設するか Mitsumori と共有するか | インフラコストと分離性のトレードオフ |
| Q8 | マルチテナント URL 方針(Cloud Run サービス分離 vs サブパス分離)の選択 | デプロイ複雑度・コストに影響 |
| Q9 | ~~商マネ社の勤務体系の詳細~~ | ✅ 解決: 全国統一勤務パターン・シフト収集中 |
| Q10 | ~~宿直の労働時間設定~~ | ✅ 解決: standby_obligated(拘束型)がデフォルト |
┌──────────────────────────────────────────────────────────┐
│ Layer 5: AI Agent Hub │
│ - シフト AI: 人員配置最適化(Time データが前提) │
│ - 原価 AI: 労務費リアルタイム監視(Time × Core 連携) │
├──────────────────────────────────────────────────────────┤
│ Layer 4: Web3 Trust(将来 optional) │
├──────────────────────────────────────────────────────────┤
│ Layer 3: TATEKAN Control │
│ - Time = enabled / disabled をテナントごとに制御 │
├──────────────────────────────────────────────────────────┤
│ Layer 2: Business Apps │
│ ┌──────────┬───────────┬────────────┬─────────────┐ │
│ │ Core │ Toriteki │ Mitsumori │ Time │ │
│ │ 物件管理 │ 協力会社 │ 清掃積算 │ 打刻管理 │ │
│ │ 契約管理 │ 発注管理 │ 設備積算 │ シフト管理 │ │
│ │ 請求入金 │ 作業報告 │ 警備積算 │ 申請承認 │ │
│ │ 物件損益 │ 検収管理 │ 帳票出力 │ 給与連携 │ │
│ └──────────┴───────────┴────────────┴─────────────┘ │
│ ↑ 作業報告 × 打刻の原価連携 ↑ │
├──────────────────────────────────────────────────────────┤
│ Layer 1: Cloud Run / Cloud SQL / GCS / tatekan.app │
└──────────────────────────────────────────────────────────┘
BLE ビーコン調達に時間を要するため、開発と調達を並行して進める。
| トラック | 内容 | 着手タイミング |
|---|---|---|
| Track A: 打刻システム開発 | アプリ設計・実装・テスト(Phase 1〜) | 即時着手 |
| Track B: BLE ビーコン調達 | 調達先選定(ELECOM/深圳直接買付)・サンプル検証・交渉 | 早期着手・並行進行 |
→ Track B 完了を待たずに Track A を進める。ビーコン未到着でも打刻 UI は稼働可能な設計とする。
carryover ラベル付与docs/orders/ACTIVE.json に tatekan-time 追加kintai_requirements.md)の着手(Mitsumori 形式に倣う)domain_entity_service_mapping.md に TATEKAN Time エンティティのリンク節を追加シフト表 とし、提出用の月次シフト表を基軸に運用するdMemo とする作成: ClaudeCode 2026-03-13 JST
形式参照: docs/Tatekan/control/tatekan_control_concept_brief.md
市場調査参照: docs/Tatekan/kintai/kintai_market_research.md
旧仮称 Kintai → TATEKAN Time(PM決定 2026-03-13)
Source
docs/Tatekan/kintai/shiftmax_analysis.md
Date: 2026-03-13 JST Status: 参考資料 — 設計指針として使用 目的: ShiftMAX の「いいとこどり」転用方針と外部 API 連携設計を統合した設計参照文書
株式会社グッドサイクルシステム(大阪)が開発・販売するビルメンテナンス/警備/清掃業界向けシフト管理 SaaS。
https://shiftmax.jp(株式会社グッドサイクルシステム)ShiftMAX の核心は業界特化型の自動シフト生成ロジックにある。
| 機能 | 詳細 |
|---|---|
| 現場単位管理 | 部門ではなく「現場(サイト)」単位でスタッフを管理・配置。多現場 FM 企業の実態に合致 |
| 配置ルール | 現場×時間帯ごとの最低配置人数を定義し、自動シフト生成時に充足チェック |
| スキル・資格マッチング | 電気主任技術者・危険物取扱者等の資格を保有するスタッフのみ対象現場に配置 |
| 自動月次シフト生成 | 上記ルールを満たす月次シフト表を自動生成。管理者が微調整して確定 |
| 連続勤務日数チェック | 法定の最大連続勤務日数違反をリアルタイムでフラグ |
汎用 SaaS では「ワークアラウンド」が必要な宿直を、ShiftMAX はファーストクラスのシフトコードとして扱う。
宿直シフトの流れ(ShiftMAX での表現):
Day 1 08:30 → 出勤(日勤帯入)
Day 1 17:30 → 日勤終了
Day 1 17:30 → 宿直入(シフトコード切替)
Day 2 08:30 → 宿直明け(退勤)
Day 3 → 休み(明け休)
| 制度 | ShiftMAX の対応 |
|---|---|
| 1ヶ月単位変形 | 月ごとに変形カレンダーを設定。日・週・月の3段階で法定時間外を自動計算 |
| 1年単位変形 | 労使協定に基づき特定日・特定週を登録。年間通算で清算 |
| 4週8休 | 4 週ローリングサイクルで起算日管理。法定休日の自動判定 |
| 方式 | 詳細 |
|---|---|
| IC カード | 現場設置リーダー(Suica/PASMO 互換)でタッチ打刻。端末不要 |
| スマホ GPS | 現場座標と GPS 照合でなりすまし防止 |
| QR コード | 現場設置 QR をスキャン。スマホ不所持スタッフ向け |
ShiftMAX の隠れた強み。ビルメン特有の「顧客請求管理」との連動:
左サイドバー(ナビ)
├── シフト管理
│ ├── 月次シフト表(メイン画面)
│ └── 現場ビュー
├── 勤怠管理
├── 有給管理
├── マスタ管理
└── レポート
パンくず: 会社 > エリア > 現場
1 2 3 4 5 6 7 ... 31
山田太郎 [日][日][宿][明][休][日][日]
鈴木花子 [早][─][日][日][夜][─][早]
田中一郎 [─][警][警][警][明][休][警]
| 表示項目 | 内容 |
|---|---|
| 欠員アラート | 今日/明日の配置不足現場(赤バッジ) |
| 承認待ち | 有給・残業の未承認件数 |
| 時間外アラート | 36協定上限 80% 超のスタッフ一覧 |
| 月次サマリ | 現場別の実働時間・残業時間 |
| 機能 | 対応状況 |
|---|---|
| スタッフ: 自分のシフト確認 | ネイティブアプリ(iOS/Android) |
| スタッフ: 打刻(GPS) | ネイティブアプリ |
| スタッフ: 有給申請 | ネイティブアプリ |
| 管理者: 承認 | スマホ Web(限定) |
| 管理者: フル編集 | デスクトップのみ ← 弱点 |
ShiftMAX から Time に直接学ぶべきなのは、色や表現ではなく 画面構造そのもの である。
表 と 一覧 に着地させるAIが考える / 人が確認して選ぶ / 手入力は最後 を dMemo と共通原則にする| 規模 | 月額(概算) | 初期費用 |
|---|---|---|
| 〜50名 | ¥20,000〜30,000 | ¥100,000〜300,000 |
| 51〜200名 | ¥40,000〜80,000 | 同上 |
| 201名〜 | 要見積 | 要見積 |
30日無料トライアルあり。電話・メールサポート込み。
| 弱点 | 詳細 |
|---|---|
| 給与エンジンなし | 上流フィーダーのみ。別途給与ソフトが必要 |
| モバイル管理機能限定 | シフト編集・承認フルフローはデスクトップ必須 |
| API 非公開 | 連携はベンダー経由の NDA 提供。開発者セルフサービス不可 |
| 分析レポート弱い | 基本 CSV 出力のみ。BI ダッシュボードなし |
| 小規模企業に高価格 | 30名以下は KING OF TIME 等の方がコスト有利 |
| スケール上限 | 3,000名超の大規模 FM では SAP WFM / UKG が優位 |
| カスタマイズ上限 | 業界特化の裏返しで、特殊な労働協定への対応に限界あり |
| ShiftMAX の強み | TATEKAN Time への転用 | ShiftMAX 超えポイント |
|---|---|---|
| 現場単位管理 | site_id を全データの基軸設計。打刻・シフト・原価が全て現場紐づき |
Toriteki 作業報告と同一 site_id で結合 → 原価自動連携 |
| 宿直ネイティブ対応 | standby_type 3モード: standby_obligated / released / incident_only |
大星ビル管理事件準拠の法的自動判定付き |
| 変形労働時間制 | 1ヶ月/1年単位の3段階清算を自動計算 | フレックスも対応(事務職向け) |
| 4週8休管理 | 就業規則の起算日を設定し法定休日を自動判定 | 同等 |
| 資格マッチング | employee_certifications テーブルでシフト生成時にチェック |
TATEKAN Control のテナントマスタと連携 |
| 自動シフト生成 | Phase 1: テンプレート→月次手動生成 / Phase C: AI 最適化 | ShiftMAX より段階的アプローチ(Phase C で超える) |
| IC カード打刻 | Phase 1: スマホ Web + QR 先行 / Phase 2: IC カード対応 | スマホ Web を先行(端末配布不要・低コスト) |
| 代替シフト自動提案 | 有給承認時に対象現場×スキルで候補自動リストアップ | 同等(Phase 1 後半) |
| 現場別原価集計 | Core の原価管理モジュールへの自動 API 連携 | ShiftMAX は CSV 出力止まり。TATEKAN Time は NOS 統合で差別化 |
| ShiftMAX の弱点を克服 | ||
| API 非公開 | API-first 設計(公開 REST API、OAuth2 PKCE + API キー) | ✓ ShiftMAX を超える |
| 給与エンジンなし | 弥生/freee/MF の CSV+API 連携(フォーマット自動変換) | ✓ ShiftMAX を超える |
| モバイル管理限定 | レスポンシブ Web で管理者もフルモバイル対応 | ✓ ShiftMAX を超える |
| 分析レポート弱い | Phase 2: BI ダッシュボード + AI Agent Hub への接続 | ✓ ShiftMAX を超える |
ShiftMAX のメイン画面レイアウトを TATEKAN Time に採用:
月次シフト表(カレンダーグリッド)を主入口として採用
├── 行 = スタッフ(現場でフィルタ)
├── 列 = 日付
├── セル = シフトテンプレート(色分け)
│ - 日勤: 青
│ - 宿直: 紺
│ - 明け: 水色
│ - 休み: グレー
│ - 欠員: 赤(アラート)
└── サイドパネル: 当日の現場別配置状況
モバイル管理者対応(ShiftMAX の弱点を克服):
- スワイプでスタッフ切替
- タップでシフト変更ダイアログ
- プッシュ通知: 申請・欠員アラート
| 連携先 | 認証 | 複数打刻/日 | Webhook | 統合難易度 | Phase 1 優先度 |
|---|---|---|---|---|---|
| 弥生給与(デスクトップ) | CSV | CSV対応 | ✗ | Easy | ★★★ 最優先 |
| freee 人事労務 | OAuth2 | ◎ work_record_segments |
○ | Medium | ★★★ |
| MF クラウド給与 | OAuth2 | △ 休憩として管理 | ○ | Medium | ★★ |
| KING OF TIME | API キー | ○ | ✗ | Easy | ★★(既存KOT企業向け) |
| SmartHR | API キー | N/A | △ | Medium | ★(社員マスタ同期のみ) |
フォーマット仕様:
- 文字コード: Shift-JIS(UTF-8 不可)
- 改行: CR+LF
- ヘッダ行: あり(固定項目名)
主要フィールド:
社員コード, 支給区分, 支給/控除コード,
出勤日数, 実労働時間, 時間外時間, 深夜時間, 休日出勤時間,
金額(割増計算済み)
work_record_segments(清掃掛け持ちに最適){
"employee_id": 123,
"date": "2026-03-01",
"segments": [
{
"clock_in_at": "2026-03-01T06:00:00+09:00",
"clock_out_at": "2026-03-01T09:00:00+09:00",
"work_place": "A現場"
},
{
"clock_in_at": "2026-03-01T10:00:00+09:00",
"clock_out_at": "2026-03-01T14:00:00+09:00",
"work_place": "B現場"
}
]
}
TATEKAN Time の内部データモデルはこの構造を採用する。
# 認証
OAuth2 PKCE(企業向け)/ API キー(Server-to-Server)
# 打刻セグメント(freee 準拠・拡張)
POST /api/v1/tenants/{tenant_id}/clock_events
GET /api/v1/tenants/{tenant_id}/work_record_segments/{date}
# 日次集計(給与連携出力用)
GET /api/v1/tenants/{tenant_id}/daily_summaries/{year_month}
→ 実働/残業/深夜/休日出勤/割増区分 を JSON で返す
# 給与連携エクスポート(フォーマット自動変換)
GET /api/v1/tenants/{tenant_id}/payroll_export/{year_month}
?format=freee|mf|yayoi_csv
# 宿直勤務
POST /api/v1/tenants/{tenant_id}/overnight_shifts
{
"employee_id": "...",
"date": "2026-03-01",
"standby_type": "standby_obligated|standby_released|incident_only",
"start_at": "2026-03-01T08:30:00+09:00",
"end_at": "2026-03-02T08:30:00+09:00",
"sleep_periods": [
{"from": "2026-03-01T23:00:00+09:00", "to": "2026-03-02T05:00:00+09:00"}
]
}
# Webhook(締め処理・承認イベント)
POST {callback_url}
{
"event": "monthly_close_completed|leave_approved|overtime_limit_warning",
"tenant_id": "...",
"payload": {...}
}
| フェーズ | 連携 | 方式 |
|---|---|---|
| Phase 1 | 弥生給与 CSV エクスポート | CSV(Shift-JIS)生成 |
| Phase 1 | freee 人事労務 API | OAuth2 + work_record_segments |
| Phase 2 | MF クラウド給与 API | OAuth2 |
| Phase 2 | KING OF TIME 双方向同期 | REST API キー |
| Phase 3 | SmartHR 社員マスタ同期 | API キー |
高価格
│
ShiftMAX ● │
(業界特化・高機能) │
│
──────────────────────┼────────────────────────
汎用機能 │ 業界特化機能
│
KING OF TIME ● │ TATEKAN Time ◎
ジョブカン ● │ (ここを狙う)
freee ● │ ・TATEKANOS統合
│ ・API-first
低価格 ・クラウドネイティブ
ShiftMAX との差別化サマリ: 1. TATEKANOS 統合(Toriteki 原価連携)— ShiftMAX にはない 2. API-first 公開設計 — ShiftMAX は非公開 3. モバイル管理フル対応 — ShiftMAX はデスクトップ依存 4. 法的判定自動化(宿直) — ShiftMAX は設定ベース 5. 中価格帯 — ShiftMAX より低コストで業界特化機能を提供
ヒアリング項目・回答内容は分割ファイルを参照:
godo_sangyo_hearing.md(全8項目・PM回答済み 2026-03-13)
作成: ClaudeCode 2026-03-13 JST
参照調査: Background Agent(ShiftMAX深堀り + API連携調査)2026-03-13
関連: godo_sangyo_hearing.md / kintai_market_research.md / kintai_concept_brief.md
専用仕様書は未確定です。現状の関連資料は ShiftMAX Analysis です。
Source
docs/Tatekan/kintai/kintai_concept_brief.md
Date: 2026-03-13 JST Status: 市場調査完了 / コンセプト整合中 — PM y/n 確認待ち 前版: TATEKAN Kintai(仮称)→ PM決定により TATEKAN Time に正式改訂
TATEKAN Time(PM 決定)Time(内部略称)ビルメン業界は 人件費率 57.7%・警備員の 52.7% が 60 歳以上 という労働集約型業種であり、勤怠管理は「利益率 0.5% の世界で最も原価に直結する業務」の一つである。
現状の課題:
| 課題 | 内容 |
|---|---|
| アナログ打刻 | 紙タイムカード・Excel 集計が主流。月次締め作業に数日を要する |
| シフト調整の属人化 | 担当者の頭の中でシフトが組まれており、代替要員の算出が即時対応不可 |
| 申請承認の断絶 | 残業・有給申請が紙または口頭。承認経路が不透明で監査対応困難 |
| 給与計算との乖離 | 勤務実績と給与計算が別システム。転記ミス・二重管理が常態化 |
| 複数現場の分散管理 | 清掃・警備・設備の各現場ごとに異なる管理方法が混在 |
| 宿直管理の複雑さ | 宿直・仮眠の労働時間判定(大星ビル管理事件準拠)が属人的に処理されている |
tatekan_industry_os_vision.md の 5 層アーキテクチャでは、シフト AI は Phase C(12〜24 ヶ月先)に位置づけられているが、これは「AI による最適化」が後段であるという意味であり、基盤となる打刻・シフト・申請承認データの収集は Phase A から始める必要がある。
AI Agent Hub(Layer 5)の「シフト AI: 人員配置最適化」は、勤怠管理の生データなしには実現しない。TATEKAN Time はそのデータ基盤を担う。
Toriteki は「元請け→協力会社への発注・検収・作業報告」を扱うが、作業員の勤怠(出勤・退勤・現場滞在時間)は管理しない。TATEKAN Time はこのギャップを埋め、作業報告と勤怠記録を紐づけることで現場別原価管理精度を高める。
TATEKAN Time は:
dMemo と近接連携し、日次業務メモと終業打刻の接続を可能にするTATEKAN Time は以下ではない:
| 職種 | 代表的シフト | 休日制度 | 特殊性 |
|---|---|---|---|
| 常駐警備 | 9:00→翌9:00(24h拘束、実働16h、仮眠6h、休憩2h)→明け→休み | 4週8休 | 宿日直許可・断続的労働の判定が必要 |
| 清掃 | 早朝6-9時 / 日勤8-17時 / 夜間22-翌6時(現場による) | 週2日 or 4週8休 | パート多・短時間勤務・複数現場掛け持ち |
| 設備管理 | 日勤→日勤→宿直→明け→休み(5日サイクル) | 4週8休 | 巡回・宿直・緊急対応待機 |
| 事務職(合同産業) | 平日9:00-18:00 | 週2日(土日) | 通常勤務 |
| 職種 | 出勤場所の性質 | BLE ビーコン補助 |
|---|---|---|
| 警備職 | ほぼ決まった現場 | ○ |
| 清掃職 | ほぼ決まった現場(複数掛け持ちあり) | ○ |
| 設備員 | ほぼ決まった現場 | ○ |
| 事務職 | ほぼ決まった事務所 | ○ |
| 営業職 | 現場固定ではない | △(モバイル打刻主経路) |
| 開発職 | 現場固定ではない | △(モバイル打刻主経路) |
primary_site_id をスタッフマスタに登録し、BLE 検知は登録済み現場のビーコンに限定して処理する。
清掃スタッフが同日に A 現場(06:00-09:00)と B 現場(10:00-14:00)を掛け持ちするケース(primary_site_id 外への出勤)では:
- 同日の複数打刻を合算して1日の実労働時間を計算
- 現場ごとの滞在時間を個別記録(原価配賦のため)
- 合計が8h超の場合に時間外として自動認識
shift table = plan、clock/application/approval = actual、payroll ledger = approved result の 3 層で扱うplan の正本とし、怪我・病欠・交代・欠員などの臨時変更は actual 側で履歴管理するplan を配信する補助チャネルとして扱う| 種別 | 採用予定 | 実装方針 |
|---|---|---|
| 1ヶ月単位 | 警備・設備向けの主流 | 月ごとに変形カレンダーを設定し、3段階清算(日超/週超/月超)を自動計算 |
| 1年単位 | 警備業の一部 | 届出済み協定に基づき特定日・特定週を登録 |
| 通常(週40h) | 事務職・清掃パート | 標準モード |
宿直勤務タイプでは以下を選択:
| 設定値 | 意味 | 労働時間計算 |
|---|---|---|
standby_obligated |
義務から解放されていない宿直 | 拘束時間全体を労働時間とみなす |
standby_released |
完全解放型仮眠あり | 仮眠時間を非労働時間として除外 |
incident_only |
事案対応のみ記録 | 対応時間のみ労働時間として加算 |
打刻時刻から以下のマトリクスを自動適用:
| 状況 | 割増率 |
|---|---|
| 時間外(法定外) | +25% |
| 深夜(22-5時) | +25% |
| 法定休日 | +35% |
| 時間外 + 深夜 | +50% |
| 休日 + 深夜 | +60% |
| 時間外 60h超 + 深夜 | +75% |
| 機能 | 説明 |
|---|---|
| 出勤・退勤 打刻 | スマートフォン Web アプリから現場で打刻 |
| GPS 打刻 | 現場座標との照合(許容半径設定可) |
| QR コード打刻 | 現場設置 QR → スキャンで打刻(端末不要) |
| BLE ビーコン補助 | 現場設置ビーコン検知 → シフト照合 → 打刻忘れアラート(自動打刻はしない・位置情報取得なし) |
| 日次勤務実績 | 打刻から自動集計。手修正は管理者承認フロー経由 |
| 不備アラート | 打刻漏れ・異常時間を即時検知してマネージャーに通知 |
| 複数現場合算 | 同日の複数現場打刻を合算して実労働時間を算出 |
| 休憩モード | テナント別に auto / manual_punch / hybrid を選択可能。合同産業では auto を基本とし、所定労働時間・勤務テンプレート・勤務区分に応じて system が自動付与 |
| 機能 | 説明 |
|---|---|
| 勤務体系テンプレート | 警備宿直・設備5日サイクル・清掃パート・事務の4プリセット初期提供 |
| AI 月次下書き | 過去データまたは AI 初期ヒアリングから月次シフト案を生成し、シフト表を plan の正本 として提示する |
| 個人確認 / 差分修正 | 本人は AI 案が問題なければ何も触らず受諾し、変更が必要な場合だけ差分を出す |
| 交代申請 | スタッフがシフト交代を申請 → マネージャーが承認 |
| 欠員アラート | 配置人数が基準を下回ると自動アラート |
| シフト公開 | 確定シフトをスタッフアプリに配信 |
| カレンダー同期(任意) | 必要なテナントのみ Google Calendar 等へ補助同期。Time 内シフト表が正本 |
| 4週8休管理 | 起算日を就業規則に従い設定し、法定休日の自動判定 |
| 申請種別 | 説明 |
|---|---|
| 残業申請 | 事前申請 or 事後申請(管理者設定で切り替え) |
| 有給休暇申請 | 取得残日数の自動管理 |
| 代休申請 | 振替休日の紐づけ管理 |
| 遅刻・早退届 | 提出 → 上長承認 → 勤務記録に反映 |
| 特別休暇 | 慶弔・病欠等の区分設定 |
承認フローは 1 段または 2 段(マネージャー → 管理本部)を設定可能。
| 機能 | 説明 |
|---|---|
| 月次勤務時間集計 | 締め処理で実労働時間・残業時間・深夜時間・休日出勤を確定 |
| CSV エクスポート | 弥生給与・freee 人事労務等の取込フォーマット対応 |
| 割増計算済み集計 | 25%/35%/50%/60%/75% の自動計算結果を給与連携用に出力 |
| API エクスポート(将来) | 外部給与 SaaS との直接 API 連携(Phase 2 以降) |
| 原価連携 | 現場別・職種別の労務費を TATEKAN Core の原価管理に渡す |
| レイヤー | 技術 | 理由 |
|---|---|---|
| Backend | Python / Flask | NOS 既存スタック統一。Toriteki / Mitsumori と同一 |
| Deploy | Cloud Run | 既存 NOS インフラと統一。オートスケール対応 |
| Database | Cloud SQL PostgreSQL | 勤怠データはリレーショナル(従業員×日付×現場のマトリクス構造)。Mitsumori と同様の判断 |
| Auth | TATEKAN Control 経由(独立認証) | Google Workspace アカウント前提としない。メール/パスワード or TATEKAN Control 発行の認証情報を使用 |
| Storage | GCS | 打刻証跡・QR 生成ファイルの保存 |
| Frontend | Jinja2 + Vanilla JS | 既存 NOS スタック統一。スマートフォン対応レスポンシブ必須。従業員 UI はブラウザのみ(SS 不要) |
| BLE ログ基盤 | BigQuery | 2,000台超のビーコンが生成する出入りログを BigQuery に集約。定期バッチでログ肥大化を防ぐ |
| 案 | 棄却理由 |
|---|---|
| Firestore | 勤怠の集計クエリ(GROUP BY, SUM)は SQL が圧倒的に有利 |
| BigQuery | OLTP には不向き。月次締め処理のトランザクション管理困難 |
| 外部 SaaS 採用 | NOS マルチテナント制御・原価連携・業界特化カスタマイズが不可。ShiftMAX は価格・統合面で不適 |
tenant_id による行レベル分離(PostgreSQL RLS)time = enabled/disabled を管理tatekan.app/time/[tenant_slug]/ または Cloud Run サービス分離(→ Open Questions Q8)| サービス | 価格帯 | ビルメン特化度 | TATEKANOS 統合 |
|---|---|---|---|
| ジョブカン / KING OF TIME | 安 | △ 汎用 | ✗ |
| freee / MF 勤怠 | 中 | △ 汎用 | ✗ |
| ShiftMAX | 高(月3万〜) | ◎ ビルメン特化 | ✗ |
| TATEKAN Time | 中〜低 | ◎ ビルメン特化 | ✓ TATEKANOS 統合 |
| パターン | TATEKAN Time 利用形態 |
|---|---|
| 元請けビルメン会社(full_linked) | Core + Toriteki + Mitsumori + Time の完全連携 |
| 協力会社(standalone) | Toriteki + Time のみ(自社作業員の勤怠管理) |
| 警備会社(特化) | シフト管理・夜間打刻・宿直管理・休日出勤申請が中心 |
| 商マネ社(全国同一体系) | 事務職中心の標準モードで利用 |
| # | 質問 | 背景 |
|---|---|---|
| Q1 | ~~サービス名~~ | ~~解決済み: TATEKAN Time に決定~~ |
| Q2 | Phase 1 の開発着手タイミングはいつか | TATEKAN Control Phase 1 完了後か、並行して進めるか |
| Q3 | 給与計算連携の最初のターゲットは何か | 合同産業が現在使用している給与ソフト(弥生 / freee / GLOVIA 等)による |
| Q4 | 打刻方式の優先順位は GPS / QR / 両方対応か | Phase 1 スコープの絞り込みに影響 |
| Q5 | dMemo の終業メモ連携をどこまで Phase 1 に含めるか | 打刻主経路との責務分離と UX に影響 |
| Q6 | スタッフアプリは Toriteki と共通 UI にするか Time 独立 UI にするか | フロントエンド開発量と UX 一貫性のトレードオフ |
| Q7 | Cloud SQL の Time 専用インスタンスを新設するか Mitsumori と共有するか | インフラコストと分離性のトレードオフ |
| Q8 | マルチテナント URL 方針(Cloud Run サービス分離 vs サブパス分離)の選択 | デプロイ複雑度・コストに影響 |
| Q9 | ~~商マネ社の勤務体系の詳細~~ | ✅ 解決: 全国統一勤務パターン・シフト収集中 |
| Q10 | ~~宿直の労働時間設定~~ | ✅ 解決: standby_obligated(拘束型)がデフォルト |
┌──────────────────────────────────────────────────────────┐
│ Layer 5: AI Agent Hub │
│ - シフト AI: 人員配置最適化(Time データが前提) │
│ - 原価 AI: 労務費リアルタイム監視(Time × Core 連携) │
├──────────────────────────────────────────────────────────┤
│ Layer 4: Web3 Trust(将来 optional) │
├──────────────────────────────────────────────────────────┤
│ Layer 3: TATEKAN Control │
│ - Time = enabled / disabled をテナントごとに制御 │
├──────────────────────────────────────────────────────────┤
│ Layer 2: Business Apps │
│ ┌──────────┬───────────┬────────────┬─────────────┐ │
│ │ Core │ Toriteki │ Mitsumori │ Time │ │
│ │ 物件管理 │ 協力会社 │ 清掃積算 │ 打刻管理 │ │
│ │ 契約管理 │ 発注管理 │ 設備積算 │ シフト管理 │ │
│ │ 請求入金 │ 作業報告 │ 警備積算 │ 申請承認 │ │
│ │ 物件損益 │ 検収管理 │ 帳票出力 │ 給与連携 │ │
│ └──────────┴───────────┴────────────┴─────────────┘ │
│ ↑ 作業報告 × 打刻の原価連携 ↑ │
├──────────────────────────────────────────────────────────┤
│ Layer 1: Cloud Run / Cloud SQL / GCS / tatekan.app │
└──────────────────────────────────────────────────────────┘
BLE ビーコン調達に時間を要するため、開発と調達を並行して進める。
| トラック | 内容 | 着手タイミング |
|---|---|---|
| Track A: 打刻システム開発 | アプリ設計・実装・テスト(Phase 1〜) | 即時着手 |
| Track B: BLE ビーコン調達 | 調達先選定(ELECOM/深圳直接買付)・サンプル検証・交渉 | 早期着手・並行進行 |
→ Track B 完了を待たずに Track A を進める。ビーコン未到着でも打刻 UI は稼働可能な設計とする。
carryover ラベル付与docs/orders/ACTIVE.json に tatekan-time 追加kintai_requirements.md)の着手(Mitsumori 形式に倣う)domain_entity_service_mapping.md に TATEKAN Time エンティティのリンク節を追加シフト表 とし、提出用の月次シフト表を基軸に運用するdMemo とする作成: ClaudeCode 2026-03-13 JST
形式参照: docs/Tatekan/control/tatekan_control_concept_brief.md
市場調査参照: docs/Tatekan/kintai/kintai_market_research.md
旧仮称 Kintai → TATEKAN Time(PM決定 2026-03-13)