問題:領到票券之後,還要能找回、使用與查核
活動票券需要同時服務會員、現場人員與管理者。只有一個領券頁,仍會留下幾個營運問題:
- 會員再次進入 LINE 時,需要找到自己已領取的票券。
- 領券成功、票券有效與現場核銷是不同狀態,畫面必須清楚區分。
- 同一活動可能產生多個批次,管理者需要追蹤真正的來源。
- 重複掃碼、網路中斷或回應遺失,不能造成重複發券或誤判核銷。
因此,專案從單一票券入口延伸到會員票夾、現場操作與管理後台。
做法:以 LINE 身分連結票券與使用紀錄
會員入口
- 使用 LINE LIFF 登入,將票券綁定到會員本人。
- 「我的票券」集中提供年票與活動票券的查找入口。
- 年票支援首次入園啟用、效期與入園紀錄。
- 領券成功收據說明領取結果、活動來源及再次開啟票券的方式。
現場操作
- 將領取票券與現場核銷分成明確步驟。
- 既有票券核銷需要現場人員確認與獨立 PIN,不由會員單方面完成;新增活動自助報到另採下述流程。
- 年票保留動態 QR 與員工入口,作為備援操作方式。
- 回應遺失時先確認既有紀錄,結果未知時保留提示,避免自動重送。
管理與統計
- 依活動或批次識別來源,同名活動仍分開處理。
- 以台灣日期提供今日、期間、每日趨勢與累計統計。
- 分開計算去重領券人數、領取張數與核銷張數。
- 載入失敗顯示錯誤與重試入口,避免將查詢失敗呈現為零。
成果:完成發布與可查核的後台資料流
會員入口、活動分類與折價券統計已發布到既有正式環境。管理者可依日期與來源查看領取及核銷狀態,減少在不同入口之間查找的步驟。
2026-10-09 的發布驗收紀錄包含:
- 352 項自動測試通過,涵蓋票券邏輯與統計畫面行為。
- 隔離資料庫驗證日期邊界、去重、跨期核銷與權限限制。
- 真實 Pages、PostgREST 與 PostgreSQL 資料流及 HTTP 冒煙檢查通過。
- 正式管理後台登入、日期切換與統計結果,已和獨立 SQL 查詢對核。
上述為當時的驗收紀錄,作品集整理時未重新執行測試。
2026 年 10 月:活動登記與自助到場統計
新增兩日活動登記、平台來源保存與固定入口 QR 自助報到。同券同日重掃不重複計數,兩日分開計算組次;後台區分預計人數、自助到場申報與員工核實紀錄。
10 月 18 日完成正式發布,既有 156 筆登記逐列與總雜湊比對不變,公開資產、權限與手機/桌機公告驗收通過。既有 LINE 帳號已完成登入回跳及活動日前限制檢查,未提交正式報到;10 月 31 日或 11 月 1 日的實際操作仍待驗證。
自助完成後顯示報到畫面供入口人員目視確認,不要求另按核實按鈕或輸入 PIN。固定 QR 可能被轉傳,因此自助紀錄只代表申報,不等於地理位置、免費資格或營收驗證。戰情室原有員工核實統計維持原定義,自助到場另由後台統計查看;LINE 提醒未啟用。
限制與下一步
完整的手機掃 QR、LINE 登入、領券、重新開啟票券到現場核銷,仍需以實際手機與現場人員完成驗收。
目前的多券種與不同面額配置仍屬後續規格,不能視為已開放功能。領券與核銷統計也不等於售票營收、實際入園人數或活動帶來的增量成效。
技術與協作
- LINE LIFF、HTML、CSS、JavaScript。
- Cloudflare Pages 與 Pages Functions。
- Supabase PostgreSQL、RPC 與權限控制。
- Node.js 本機 SQLite 模式、單元測試與隔離端到端驗證。
AI 協助實作、整理回歸情境與檢查結果;營運規則、發布決策與現場驗收仍由人員確認。