刪除動作的實際效果
當您刪除重複課程時,後端會逐一處理該重複範本所對應的每一筆未來 class_schedule 紀錄,並執行:
- 對每堂課呼叫
cancelClassAdmin(),取消所有已預約顧客的預約。 - 停用該預約所使用的課卡,並將點數/次數退回顧客帳號。
- 對每位已預約的顧客寄送
customer_class_cancellation電子郵件與 App 通知(若該通知已啟用)。 - 清除被取消課程的候補名單。
- 將重複範本與所有未來課程標記為
removed,於行事曆中不再顯示。
以上動作無法以單次操作復原。重複範本仍會保留在資料庫中(為軟刪除),但您無法在管理者介面恢復課程——必須重新建立。
系統的提示與警告
管理者介面會在刪除前顯示兩個警告。第一個警告會在重複課程中仍有有效預約時出現:
「目前仍有未取消的行事曆課程,無法直接刪除。請先取消列出的課程後再試一次。」
若您繼續執行(或第一道檢查已通過),系統會顯示更強烈的確認訊息:
「請改使用「封存」或「結束課程方案」,不要直接刪除核心功能中的課程。刪除為不可逆動作,會將學員預約所用的點數或次數退回。」
這些警告之所以存在是因為刪除為破壞性操作,請務必審慎閱讀後再按下「確認」。
較安全的替代方案
大多數想刪除的情境,皆可改用以下兩種非破壞性方式處理:
- 封存——將重複課程從啟用清單中隱藏,但保留所有已排定的課程與預約。顧客的預約保持有效,您可隨時取消封存。
- 結束課程方案——為重複範本設定結束日期,使每日的行事曆延伸排程停止生成新的未來課程;已生成的課程則依原排程進行至結束日為止。
若您真的希望取消所有未來的預約(例如該課程將永久終止,且需退款給顧客),刪除才是正確的工具;否則請優先使用「封存」或「結束課程方案」。
