抽籤裁決
熱門梯次(山屋床位 / permit)走抽籤制。ERP 不算籤——抽籤演算法留在 Google Sheets;線控逐單標中籤 / 未中籤,或由 agent 讀 GS 結果後敲 CLI 裁決。(線稿假資料)
設計說明(v6/v7 · Code Is Truth) · 非最終 UI
抽籤演算法留在 Google Sheets + Apps Script,ERP 不算籤、只接收「中籤 / 未中籤」訊號。 已棄用 webhook 推名單 / 入向 HMAC 驗簽 / lottery_rounds 狀態機(實作從未建);改走 agent-driven CLI:agent 讀 GS 抽籤結果後,用
control lottery-orders拉應募名單、逐單 control lottery-resolve --outcome won|lost,接同一 resolveLotteryOrder 服務。線控亦可直接在團控梯次頁按鈕裁決。皆走 order.update / trip.manage 權限閘 + 抽籤模組 gate(module_lottery)fail-closed。此為 spec 設計意圖,非產品畫面文案。裁決整合在團控,無獨立入口 團控整合
實際 code 無獨立 /admin/lottery route;逐單裁決整合進 團控 hub 的各抽籤梯次頁(per-departure 批次作業一律從團控進)。本頁為裁決版型示意。
應募中待裁決
3筆
lottery_state=applied
已中籤
2筆
確認 + 催尾款
已未中籤
1筆
沿備案鏈 cascade
待人工安置
1筆
備案走完 · 主單保留
玉山主峰 2 日(排雲山莊)抽籤
梯次 2026/08/15 出發 · 名額 24 床 · 應募 3 筆
分配模式:抽籤團控可切
| 訂單 | 訂購人 | 人數 | 備案梯次 | 抽籤狀態 | 裁決 線稿 |
|---|---|---|---|---|---|
| WT-26080001 | 陳建宏 | 2 | 已選 1 備案 | 應募中 | |
| WT-26080004 | 林宜蓁 | 1 | — | 應募中 | |
| WT-26080007 | 黃志偉 | 4 | 已選 2 備案 | 應募中 |
南湖大山 4 日(南湖山屋)抽籤
梯次 2026/06/28 出發 · 名額 16 床 · 應募 4 筆
分配模式:抽籤團控可切
| 訂單 | 訂購人 | 人數 | 備案梯次 | 抽籤狀態 | 裁決 線稿 |
|---|---|---|---|---|---|
| WT-26062801 | 周冠廷 | 2 | 已選 1 備案 | 中籤 | 已裁決 |
| WT-26062803 | 許雅文 | 4 | — | 中籤 | 已裁決 |
| WT-26062806 | 鄭凱文 | 2 | 已選 2 備案 | 未中籤 | 已裁決 |
| WT-26062810 | 王思涵 | 3 | — | 未中籤・待安置 |
三出口(resolveLotteryOrder) · 非最終 UI
- 中籤 won:
booking_state=confirmed+ enqueue 催尾款信 + 啟用尾款 payment_schedules。 - 未中籤 lost + 有備案:沿
order_backup_choices鏈式 cascade(FCFS 落腳 / 抽籤重應募 + carry forward);細節見 未中籤轉備案。 - 未中籤 lost + 備案走完:exhausted 不自動退款 → 待人工安置;線控手動安置到同 trip 任一梯,或取消退款。