開発仕様書
09Section

データモデル

主要エンティティとその関係。AI 管制塔が消費する形に正規化されている。

6.1 主要エンティティ

エンティティ概要主キー
Product (商品)ブランド × 型番で一意なカタログ商品。複数 SupplyOffer を持つproduct_id
SupplyOffer (調達オファー)本国卸 × 商品 × 価格 × 在庫 × 納期。日次更新offer_id
Vendor (卸 / 業者)本国卸・物流・通関・職人など、サプライチェーン上の事業者vendor_id
Member (顧客)個人顧客 / プロ顧客。Tenant (法人) と紐付くmember_id
Tenant (法人)プロ向けの会社 / 事務所単位の組織tenant_id
Order (注文)顧客が確定した買付。複数 OrderItem を持つorder_id
OrderItem (注文明細)商品 × 数量 × 調達オファー × 配送先 × 設置設定order_item_id
Shipment (出荷)コンソリ便単位の荷物。複数 OrderItem を持つshipment_id
MilestoneEvent (進捗イベント)OrderItem の状態変化 (発注 / 出荷 / 通関 / 配送 / 設置)event_id
Karte (デジタル・カルテ)家具 1 台ごとのデジタル証明。OrderItem に 1:1karte_id
RepairRequest (修理依頼)Karte に紐付く修理 / 張替えのジョブrepair_id
ResaleListing (リセール出品)Karte に紐付く委託販売出品resale_id
Project (プロジェクト)プロ顧客の案件。複数 Order をグループ化project_id
ScoringSnapshot業者 / 職人のスコア (時系列)snapshot_id

6.2 主要関係 (簡易 ER)

Tenant ──┐
         │ 1:N
Member ──┴──< Project ──< Order ──< OrderItem ──1:1── Karte
                                       │                │
                                       │                ├── RepairRequest (1:N)
                                       │                └── ResaleListing (0:N)
                                       │
                                       └── SupplyOffer >── Product
                                                    │
                                                    └── Vendor
Vendor ──< ScoringSnapshot (時系列)
Shipment ──>< OrderItem  (M:N: 1 出荷に複数明細)
OrderItem ──< MilestoneEvent (時系列)

6.3 Product / SupplyOffer (動的価格の核)

Product

FieldType説明
product_idUUID内部一意
brandBrandCassina / B&B Italia 等
model_codestringメーカー型番
namestring製品名
categoryenumsofa / chair / table / lighting / storage / ...
attrsjsonb素材 / カラー / サイズ / オプション
msrp_jpyint国内正規参考価格 (円)
retail_eu_eurint本国小売参考価格 (EUR)

SupplyOffer

FieldType説明
offer_idUUID内部一意
product_idFKProduct への参照
vendor_idFKVendor (卸)
price_eurdecimal卸価格 (EUR、含税前)
lead_time_daysint本国卸出荷までの日数
stock_qtyint在庫数 (廃業在庫の場合は希少)
conditionsjsonb最低発注数、決済条件、返品条件
scored_attimestampスコアリング時刻
composite_scorefloatAI 算出の総合スコア (価格 + 信用 + 納期)
価格決定アルゴリズム
顧客が注文した瞬間に、SupplyOffer の `composite_score` を再計算 (リアルタイム為替 + 在庫変動 + 卸の信用度) し、最良の offer を確定。表示価格は 本国卸価格 EUR × 為替 + 通関 + 物流 + マージン の合算。マージンは商品カテゴリと顧客層で動的に変動。

6.4 Karte (デジタル・カルテ)

家具 1 台ごとに発行される一意のデジタル証明。Phase 2 で NFT 化を検討。

FieldType説明
karte_idUUID一意 ID (公開可能なシリアル)
order_item_idFK対応する注文明細
vendor_chainjsonb本国卸 → 物流 → 通関 → 国内 → 設置の全業者ログ
photosjsonb[]製造・通関・設置時の写真
documentsjsonb[]通関書類 / 保証書 / 製造証明
repair_historyjsonb[]修理・パーツ交換履歴
estimated_resale_jpyint[]3 年後・5 年後・10 年後の想定買取価格
issued_attimestamp発行日

6.5 MilestoneEvent (進捗イベント)

OrderItem の状態変化を時系列で蓄積。顧客の進捗追跡画面の元データ。

Stage説明Vendor
order_confirmed注文確定社内
supplier_ordered本国卸に発注送信本国卸
supplier_shipped本国卸が出荷本国卸
hub_received欧州集約倉庫に到着3PL (独・伊)
consolidatedコンソリ便に積込済物流
in_transit海上輸送 / 航空輸送中物流
customs_cleared日本通関完了通関業者
domestic_warehouse国内倉庫に到着国内 WMS
delivered顧客宅に配送配送業者
installed設置完了 (カルテ発行)設置班