線稿索引所有 spec最後更新 2026-05-30
specs/legacy-gs-gap.md

現行 GS 營運模型對 ERP 缺口對照

一句話:reference 類分析快照,記錄荒野旅人現行 Google Sheets 主檔(「荒野旅人ERP溝通範本」)疊在 BV 資料之上的運算層,逐項對照 ERP 是否已涵蓋、缺口、schema 現況,作為後續模組 spec 的設計來源;「做了 / 沒做」最終以 roadmap 為準,本檔不覆蓋其狀態。

來源:GS 主檔 8 分頁,公式還原於 2026-05-30(總表-六月 / 七月 / 日本、內表、出團名單-自動化、裝備、住宿、登山分級-審核器)。

前提澄清(2026-05-30,user):'BV資料'(電商平台的客戶 + 訂單資料)已原生整合進 ERPuser / member_profiles / orders / travelers / payments)。因此 GS 中「反查 BV 對帳 / 從 BV 拉名單 / 湊庫存狀態」整層已被結構性取代,不是缺口。本檔只盤點疊在資料之上的運算 / 邏輯層

1. 已被結構性取代(資料 / 對帳層)

GS 機制ERP 對應說明
BV 客戶資料user + member_profiles客戶帳號 + 偏好原生在租戶庫
BV 訂單資料orders + travelers + payments訂單 / 同行旅客 / 收款原生
總表「客N 庫存M / 未正常下架」對帳departures.booked_count / capacity成團 / 庫存是 race-safe 原生欄位,不需對帳
內表「從 BV 拉名單」travelers(綁 order)名單原生,不需匯入
月份 / 行程字串解析結構化欄位departures.departure_date 等取代 SWITCH/SCAN 月份解析

對應財務「第一大瓶頸:BV→GS 內表人工」。ERP 讓訂單原生落庫 = 結構性解掉,毋須對帳層。這也是 plan-8(legacy commerce / BVShop 遷移)的核心價值。

2. 缺口清單(運算層)

#GS 運算層ERP 現況schema 現況缺口財務優先*對應 spec(2026-05-30)
1登山分級審核器(越級報名 gating)沒有trips 無難度欄trips 難度 / 評鑑分欄 + 演算法 + 報名歷史查詢4climbing-screening
2出團前置 deadline 警戒(入山申請 / 下載 · 登山險 · 旅責險 · 檢查,工作天倒數 RED/ALERT/QUEUE)沒有departures 無申請 / 保險 / 檢查日期欄多組日期欄 + 工作天計算 + 假日表1departure-prep(與 document-expiry 互補)
3旅客資料驗證器(內表)部分travelers 欄位足夠驗證規格(非欄位):身分證 checksum、緊連 ≠ 隊員、手機 ≠ 緊連、訂金 + 尾款 = 應付、民國 ⇄ 西元1–2traveler-validation
4許可證文件附掛(出團名單:入山許可證 / 人員名冊 / 山屋床位核准證 / 入園證)沒有無 per-departure 文件表per-departure 文件 metadata + 連結1departure-prep §2.2
5裝備庫存彙總 + 超收 / 剩餘警示沒有無 equipment schema裝備需求解析 + 庫存比對警示3equipment-inventory
6包團 / 集體計價(集體應付 / 訂金 / 尾款,以群組鍵彙總)一般集體已涵蓋tour line 有 party size;應收由 charge lines 聚合一般集體(一單多人)已涵蓋;整梯包團議價為缺口2–3trip-pricing §5

* 財務影響矩陣自評(1–5):會員 / 體能安全篩選 = 4、行動端 = 4、嚮導裝備調度 = 3、財務對帳 = 3、境外帳務 = 2、證件抽籤管理 = 1

本批 spec 產出(2026-05-30):依「高優先寫滿、低優先 stub」拍板 —— 缺口 1/3/6 寫到可實作深度,2/4/5 佔位 stub。設計決策(user 拍板):審核器能力分 = 自填為主 + ERP 訂單歷史輔助;判不過 = 警示 + 轉人工審核(不硬擋)。

3. 各缺口的還原邏輯(實作來源)

以下為從 GS 公式還原的演算法,寫對應 spec 時可直接抄。

3.1 審核器(缺口 1)— 越級報名 gating

輸入:① 每條行程的「評鑑分數」(難度,查表)+「高山經驗需求」旗標(Y / 空);② 客人填過往爬過的行程。

演算法

  1. 能力分 B18 = 最高分 + 第二高 × 0.3 + 第三高 × 0.1 + 1 (由最難那座主導,次高 / 第三高遞減加成)。
  2. 硬閘 X9:行程需求 = Y 且客人未具高山經驗 → 不通過(「缺乏高山經驗」);否則通過。
  3. 軟分級 W9 = 能力分 − 行程難度
    • ≥ 0.2 → 第 1 級(輕鬆通過)
    • ≥ −0.3 → 第 2 級(通過)
    • ≥ −0.5 → 第 3 級(勉強 / 建議評估)
    • 其餘 → 第 4 級(不足)
  4. 最終結果 = 結合硬閘 + 軟分級 → 分級結果 + 對客訊息。
  5. 行程難度 ≤ 1 → 「無須審核」(短路)。

ERP 需補trips(或 departures)新增「難度 / 評鑑分數」+「高山經驗需求」欄;客人「過往報名紀錄」= orders JOIN user,但要能映到行程難度才算得出能力分 → 故與 CRM 報名歷史耦合

3.2 deadline 警戒(缺口 2)

每團每類期限(入山申請日、入山下載日、登山險、旅責險、檢查),用 NETWORKDAYS.INTL(TODAY(), 期限, 1, 特別假日)工作天距,輸出狀態:

  • 沒出團 + 該處理 → RED
  • 工作天距 ≤ 警戒門檻(申請 ≤3 / 已過下載日)→ ALERT
  • 該處理(申請中 / 申請 ≤7 / 已到下載日)→ QUEUE
  • 準備期(工作天距 ≤2)→ RED

ERP 需補:per-departure 各期限日期欄、台灣假日表、工作天計算。對應財務「一次性自動壓 deadline + 自動化醒目輔助」。注意:這與 document-expiry(護照效期)是兩回事,別混為一談。

3.3 旅客驗證器(缺口 3)— 內表單一巨型公式逐人檢查

逐筆吐錯:姓名空 / 性別錯誤(非 男 · 女 · M · F…)/ 生日空 / 生日錯誤(未來人?· 超過 100 歲)/ 身分證 checksum(字母轉碼 + 權重 1,9,8,7,6,5,4,3,2,1,1 mod 10)/ 電話 · 信箱 · 地址空 / 緊急聯絡人空 / 緊急聯絡人為隊員 / 手機與緊連電話重複 / 收款差(訂金 + 尾款 ≠ 應付)。另含民國 ⇄ 西元生日轉換、免驗名單(ECPTLIST)、包團集體金額以群組鍵彙總。

ERP 需補:traveler 建檔 / 編輯的 server 驗證規格(欄位已足夠)。對應財務「各內表人工操作客人資料,財務端有失誤風險,建議改善」。

3.4 許可證文件附掛(缺口 4)

出團名單頁每梯次掛一組 HYPERLINK(drive檔):入山許可證、入山人員名冊、山屋床位核准證、入園證。ERP 需補:per-departure 文件清單(類型 + 連結 / 上傳)。

3.5 裝備庫存(缺口 5)

行程裝備以 睡墊*3 登山杖*2 字串記;跨日期窗 SUMPRODUCT + REGEXEXTRACT 彙總各品項需求 → 比庫存:庫存 − 需求 < 0 → 超收(缺)≤ 2 → 剩餘N。另算現場付現金額(品項 × 價目表)。ERP 需補:裝備品項 / 庫存 schema + 需求彙總。住宿同模式(room-assignment 已有住宿成本)。

4. 限制與待補資料

  • 'BV資料''住宿裝備資料連動''範例''小編用' 等被公式參照的分頁不在本次匯出的 8 頁內(IMPORTRANGE 或另一檔)。其中 'BV資料' = 電商客戶 + 訂單,user 已確認整合完成,故非缺口;另三者為輔助資料(假日表 小編用、住宿裝備對照 住宿裝備資料連動),寫對應 spec(deadline 警戒 / 裝備)時可再索取。

5. 建議推進序(對齊財務優先)

  1. 審核器 + 報名歷史(缺口 1,財務 4)— 演算法現成、與 CRM 耦合、需先補 trips 難度欄。建議優先 brainstorm 成 spec。
  2. 旅客驗證器(缺口 3)— 欄位已足、規則現成、低風險,可併入 traveler 建檔流程。
  3. 許可證文件附掛(缺口 4)+ deadline 警戒(缺口 2)— 證件類,財務 impact 1,可一起規劃但排後。
  4. 裝備庫存(缺口 5)、包團計價確認(缺口 6)— 視需求排入。

Changelog

版本日期變更Commit
12026-05-30初版:GS 主檔公式還原 + ERP 缺口對照(BV 資料已整合前提)