<aside> <img src="/icons/brightness-high_yellow.svg" alt="/icons/brightness-high_yellow.svg" width="40px" /> 當客戶預約未到時,系統將進行以下資料更新和黑名單管理流程

</aside>

步驟 1: 標記預約狀態為**absent**

步驟 2: 更新no_show_records

步驟 3: 檢查失約次數

步驟 4: 遠端取號檢查

步驟 5: 管理黑名單blacklists

Sequence Diagram

sequenceDiagram
    participant User
    participant System
    participant NoShowRecords
    participant Blacklists

    User ->> System: 預約狀態更新為 absent
    System ->> NoShowRecords: 新增失約記錄
    Note right of NoShowRecords: 每次 absent 事件<br/>新增一條記錄

    loop 檢查失約次數
        System ->> NoShowRecords: 檢查失約次數
        Note right of NoShowRecords: 統計失約次數
    end

    alt 失約次數達到閾值
        System ->> Blacklists: 檢查黑名單
        Note right of Blacklists: 確認使用者是否在黑名單中

        alt 使用者在黑名單中
            Blacklists ->> System: 拒絕遠端取號行為
        else 使用者不在黑名單中
            Blacklists ->> System: 允許遠端取號行為
        end
    else 失約次數未達到閾值
        Note right of System: 無需處理黑名單
    end