> ## Documentation Index
> Fetch the complete documentation index at: https://docs.younegotiate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hold Plan

> Jane cannot make payments for a short period and places an eligible installment plan on hold.

## Real-World Example

Jane cannot make payments for a short period and places an eligible installment plan on hold. The portal should stop normal upcoming processing during the hold and restart only when the plan is eligible again.

## Visual Flow

```mermaid placement="top-right" actions={true} theme={"system"}
flowchart TD
    A["Consumer requests plan hold"] --> B["Portal checks hold rules"]
    B --> C{"Hold allowed?"}
    C -->|Yes| D["Future calendar events are removed or paused"]
    C -->|No| E["Hold request is blocked"]
    D --> F["Plan waits for restart date"]
    classDef default fill:#F8FAFC,stroke:#64748B,stroke-width:1.5px,color:#0F172A;
    classDef actor fill:#E0F2FE,stroke:#0284C7,stroke-width:2px,color:#0C4A6E;
    classDef system fill:#F8FAFC,stroke:#64748B,stroke-width:1.5px,color:#0F172A;
    classDef decision fill:#FEF3C7,stroke:#D97706,stroke-width:2px,color:#78350F;
    classDef risk fill:#FEE2E2,stroke:#DC2626,stroke-width:2px,color:#7F1D1D;
    classDef outcome fill:#DCFCE7,stroke:#16A34A,stroke-width:2px,color:#14532D;
    class A actor;
    class B,D,F system;
    class C decision;
    class E risk;
    class F outcome;
    linkStyle default stroke:#94A3B8,stroke-width:2px;
```

## How It Should Work

* It should allow holds only when the account and plan rules permit it.
* It should prevent normal installment processing while the plan is on hold.
* It should remove or update future calendar events when hold behavior changes the schedule.

## How It Should Not Work

* It should not keep charging a held plan as if it were active.
* It should not allow an unlimited or rule-breaking hold.
* It should not lose the original plan history when the hold starts.

## Developer Notes

* Hold behavior affects payment jobs, skip behavior, and calendar events.
* Restart handling is separate and should be documented with the restart flow.

## Related App Areas

* `app/Livewire/Consumer/MyAccount/Hold.php`
* `app/Livewire/Consumer/SchedulePlan.php`
* `app/Console/Commands/ProcessConsumerPaymentsCommand.php`
* `app/Jobs/DeleteCalendarEvents.php`
