妍雅 Cellenya — 品牌官網 × LINE 自助預約平台
美容品牌一體式官網與 24 小時 LINE 自助預約系統:客戶從 LINE 圖文選單即時查看美容師空檔並鎖定時段,總部集中管理班表、內容與行銷推播。






專案背景
妍雅 Cellenya 是一個 TSD 技術美容品牌。過去客戶預約仰賴總部人工一對一確認,隨加盟據點成長,人力成本與時段衝突風險同步上升。本專案為其打造品牌官網與自助預約平台:客戶從 LINE 官方帳號圖文選單進入,即時看到「誰、幾點有空」並直接鎖定時段,總部則透過後台集中控管班表、內容與行銷。
主要功能
自助預約引擎(核心)
可用時段 = 週固定班表 − 單日例外(休假/換店)− 已預約時段 − 全域療程間隔 buffer。寫入以 Prisma $transaction + @@unique([beauticianId, startTime]) 複合約束 + SQLite serialized 三層防護,從機制上杜絕重複預約;30 天滾動預約窗口與 24 小時自助取消政策皆可由後台參數調整。
LINE 深度整合
預約入口強制走 LIFF 免帳密識別;Rich Menu 依「綁定前/後」自動切換,圖文選單由後台 CMS 上傳部署免工程師;行銷推播支援受眾篩選(久未回診天數)、rich message(圖片/圖文卡/輪播/imagemap/影片)與發送前則數估算二次確認,控管訊息額度成本。
三角色分流
客戶(LINE LIFF / 信箱雙軌)、總部後台(全站管理)、美容師端(唯讀查班表與預約)。三張獨立資料表、三條獨立 API middleware,權限互不越界。
營運與行銷
數據看板(熱門療程、留客率)、歷史美容師自動推薦、廣告 Deep Link 導頁預填、招商申請收件箱、CSV 匯出。
技術架構
Nuxt 4 SSR 單一應用(Nitro 同 port 供前台、API、圖片服務與 LINE Webhook),SQLite + Prisma 7 輕量資料層,Sharp 圖片多尺寸處理,Docker 多階段建置部署於 AWS EC2 ARM(Graviton),前面接 Cloudflare + nginx reverse proxy 與 Let’s Encrypt。前台 9 頁 SSR 主攻 SEO(JSON-LD、動態 sitemap、單頁 SEO 覆寫),登入後區域一律 SPA + noindex。預約引擎抽為純函式並以 Vitest 覆蓋 16 個邊界案例。66 個 release commits 持續迭代至 v0.27.0。
功能亮點
- 24 小時 LINE 自助預約:即時查詢美容師可用時段,transaction + UNIQUE 約束三層防重複預約
- 多據點 × 美容師班表引擎:週固定班 + 單日例外(休假/換店),跨店以排班駐點為準
- LINE 深度整合:LIFF 免帳密登入、Rich Menu 綁定後動態切換、圖文選單後台 CMS、歡迎訊息模板
- LINE 行銷推播:久未回診客群篩選 + 圖片/圖文卡/輪播/影片 rich message + 發送前估算防額度爆量
- 舊客回流機制:自動預選上次服務的美容師、Deep Link 深度導頁預填療程
- 營運數據看板:熱門療程排名 + 留客率(重複預約比例)分析
- 完整內容管理後台:療程/美容師/見證/動態/據點/FAQ/首頁區塊/SEO 全後台可編
- 三角色權限分流:客戶(LINE)/ 總部 / 美容師端(唯讀極簡),獨立認證通道
- SSR SEO:前台 9 頁 SSR + JSON-LD + 動態 sitemap;會員/後台 SPA + noindex 隱私分線
- 通知雙通道:LINE Push 為主、Email 自動備援,每日 cron 預約提醒