> ## 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.

# Upload Notice

> Jane takes a photo of the collection notice and uploads it.

## Real-World Example

Jane takes a photo of the collection notice and uploads it. The portal should attach that image to her notice response so the creditor or operations team can review the source document.

## Visual Flow

```mermaid placement="top-right" actions={true} theme={"system"}
flowchart TD
    A["Consumer uploads notice image"] --> B["Portal validates the file"]
    B --> C{"File accepted?"}
    C -->|Yes| D["Notice image is stored"]
    C -->|No| E["Upload is rejected with a clear message"]
    D --> F["Consumer moves to create response"]
    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 the consumer to upload the notice document or image connected to the response.
* It should validate type and size before storing the file.
* It should keep the upload attached to the correct notice response.

## How It Should Not Work

* It should not accept unsafe file types or oversized uploads.
* It should not attach the notice to another consumer or another response.
* It should not force the consumer to restart the whole response after a failed upload.

## Developer Notes

* Notice uploads are evidence for the response flow.
* File validation and storage behavior should remain explicit and testable.

## Related App Areas

* `app/Livewire/Consumer/NoticeResponse/UploadNotice.php`
* `app/Livewire/Consumer/Forms/NoticeResponse/UploadNoticeForm.php`
* `resources/views/livewire/consumer/notice-response/upload-notice.blade.php`
