bcgov / bcgov/entity

7.3 — Issue Rejection Notice (PDF)

Open
#30,463 5 comments 0 reactions 1 assignee Claimed by @ethantspitt View on GitHub
Assets UX
Dominant language
JavaScript
Stars
23
Forks
62
Avg merge
24m
Merged PRs (30d)
1

Description

**Priority (MoSCoW):** Must
**Persona:** Qualified Supplier (filer) / Registry Analyst (staff CC + audit visibility)
**Value:** Filer receives a clear, plain-language rejection notice electronically, while the analyst gets a CC for confirmation. Both filer and staff have an auditable record of the decision.

---

## User Story
As a **Qualified Supplier**, I want to **receive a Rejection Notice (PDF) when my filing request is rejected**, so that I **understand why it was refused** and have a record I can download for my files.
As a **registry analyst**, I want to **receive a CC of the rejection notice email**, so that I can **confirm what was sent to the filer**.

## Context
- **Where:** Triggered after Reject (Epic 6) and refund initiation (Epic 7.2).
- **Before:** Filing request status = `Rejected`; decision details captured in Epic 6.
- **After:** Rejection Notice generated (PDF), available for on-screen download, emailed to filer (with CC to analyst), and logged in audit.
- **Policy fit:**
- Manufactured Home Act — s. 10(1): Registrar must refuse incomplete/non-compliant filings.
**How this story meets it:** Provides filer with formal notification of refusal, including short reason.
- FOIPPA: Notice delivered only to filer and staff analyst CC; no public links.

## UX/UI Link (Design-owned)
_To be added by **Design** (after BA review is complete)._

## MVP Boundary (story-level; PO-owned)
- **In:**
- Generate Rejection Notice (PDF) using coded reason from Epic 6, mapped to plain-language text for filer.
- Include filing ID, timestamp, and registrar decision details.
- Provide on-screen **Download Notice** immediately after rejection.
- Send notice electronically (email with link/attachment) to filer, with a **CC to the assigned analyst**.
- Store notice ID, email sent (with CC), and any BC Mail job ID in the audit log.
- **Out:**
- Branded templates, multi-language notices.
- Delivery tracking, bounce handling, or analytics.
- Resubmission flow (filer must start a new request).

---

## Acceptance Criteria (PO-owned; user-observable)
- [ ] A Rejection Notice (PDF) is generated for every rejected filing request.
- [ ] Notice includes: filing ID, rejection date/time, plain-language reason, registrar details.
- [ ] Filer sees **Download Notice** option immediately after rejection.
- [ ] System sends notice electronically to filer’s contact email, with CC to the assigned analyst.
- [ ] Audit log shows: Notice generated (ID, timestamp), email sent (with CC), and BC Mail job created if applicable.
- [ ] Staff see a basic confirmation that the notice was generated and sent.
- [ ] **Accessibility:** PDFs are readable text (not images); download button/link is keyboard reachable, focus visible, and announced to AT.
- [ ] **Unavailable:** If notice cannot be generated, show plain-language error (BA wording).

---

## BA Section (Required before Dev)
*(BA responsible, Design consulted — SM enforces DoR)*

**BA — please cover**
- [x] Business rules: What fields must be included in the Rejection Notice (filer-facing vs staff-only)?
- [x] Confirm exact mapping of coded reasons (Epic 6) → plain-language text in notice.
- [x] Error wording if notice generation fails.
- [x] **Unavailable wording:** Plain-language message if notice cannot be downloaded/sent.
- [x] Constraints/NFRs: PDF generation performance; secure delivery method.
- [x] Policy references confirmed.

### Business and Validation Rules

Filing identifiers
- Filing ID must be shown.
- Home registration number must be shown, if applicable.
- Submission date and time must be shown in local time.
- Decision date and time must be shown in local time.
- Version or reference number of the notice must be shown for audit.

Filer and delivery details
- Submitting party name must be shown.
- “Attention To” name must be included in the mailing block when provided.
- Mailing address and email used for delivery must be shown.
- Qualified supplier account identifier must be shown, if applicable.

Submitted snapshot summary
- A read only summary of key fields that were submitted must be included.
- The list of uploaded document names must be shown with file dates.
- The snapshot must reflect the state at review time, not current state.

Decision details
- Rejection status must be clearly stated.
- Short coded reason must be shown.
- Plain language reason description must be shown for the filer.
- Internal note must be excluded from the notice.

Resubmission guidance
- Clear steps for resubmission must be listed in numbered order.
- Any mandatory forms or documents must be named explicitly.
- Cut off dates or timelines must be shown when relevant.

Payment and refund information
- Payment status must be stated.
- Refund status or next steps must be stated when pre authorization exists.
- Contact channel for refund questions must be stated.

Contact and support
- Registry contact phone and email must be shown.
- Hours of service could be shown.

Accessibility and language
- Plain language must be used throughout.
- Dates must include the full month name to avoid ambiguity.
- The document must be readable with assistive technologies.

#### Policy references
- Manufactured Home Act — s. 10(1): Registrar must refuse incomplete/non-compliant filings. [Link](https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/03075_01)
- Manufactured Home Act — s. 34: The filer must be provided confirmation about the information they filed. [[Link](https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/441_2003#section14)
- FOIPPA Part 3— notices must include only necessary personal info; deliver securely. [Link](https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/96165_00_multi#part3)

### Content of the Notice

Notice date: Full written date.
Recipient information
-> Filer’s full name.
-> Business or firm name, when applicable.
-> Full mailing address.
Manufactured home identifier: MH number.
Subject line or filing reference
-> Short description of the filing.
-> Internal file number, when available
Statement of inability to process: Clear statement that the filing cannot be processed.
Reasons for rejection: Bullet or numbered list of specific deficiencies.
Document and payment handling
-> Statement that documents are being returned.
-> Refund details when applicable, including amount, payment reference, and processing timeline.
Next steps for the filer
-> Actionable instructions to correct and resubmit.
-> Optional service information such as priority processing fees, when relevant.
External agency direction: Referral details to another authority when the matter falls outside registry scope.
Contact information: Closing sentence inviting questions.
Internal staff-only notes should be excluded from the notice.

### BA Notes

#### Error Messages
Notice cannot be downloaded/sent
_“The rejection notice is not available right now. It cannot be downloaded or sent. Try again later or contact support if the problem continues.”_
Error wording if notice generation fails
_“The rejection notice could not be generated. No document was created. Try again later or contact support if the problem continues.”_
Email fails but download succeeds
_“The notice could not be sent by email, but it is available for download. Use the download link to access the document or try sending it again later.”_

#### Coded Reasons
| Code | Short label | Statutory basis | Condition triggered |
|---|---|---|---|
| MISSING_DOCS | Required documents missing | MHA s.10; MHR s.3 | Required documentation missing |
| DATA_MISMATCH | Information inconsistent with registry | MHA s.10 | Info conflicts with current registry record |
| INVALID_DOCS | Documents not meeting legal requirements | MHA s.10 | Document fails legal or format rules |
| NOT_PERMITTED | Filing type not permitted under the Act | MHA s.10 | Filing not authorized under the Act |
| NO_AUTHORITY | Identity or authority not confirmed | MHA s.10; MHR s.3 | Authority or identity proof missing |
| FEE_ISSUE | Fees or payment not valid | MHA s.10 | Fees unpaid or invalid |
| OTHER_ACT_S10 | Other reason under Act s.10 | MHA s.10 | Registrar determined filing not suitable |

#### Constraints and NFRs
**PDF Generation:**
1. Performance and responsiveness
- The PDF must be generated within a maximum of 3 seconds under normal system load.
- Under peak load, generation must not exceed 5 seconds.
- Generation must not block the user interface. A clear status message must be shown if generation requires extra time.
- The service must support concurrent generation without degradation of other filing operations.

2. Reliability and fault tolerance
- The generation service must remain available with 99.9 percent uptime.
- Failures must produce a consistent error message and must not create partial or corrupted documents.
- A retry mechanism must be applied for transient failures, limited to a controlled number of attempts.
- All generated PDFs must be written to the repository only after successful validation.

3. Rendering consistency
- PDFs must render identically across supported devices, including mobile, desktop, and print.
- Fonts, spacing, headers, and date formats must match the approved template.
- Plain‑text extraction must remain accurate to support accessibility technologies.
- All embedded metadata must follow the project’s document‑naming and classification rules.

4. Data integrity
- The entire notice must reflect the final system state at the moment of the decision.
- A checksum or hash must be stored to confirm integrity during future retrieval.
- No editable fields may remain in the generated file.

**Secure Delivery Method:**
1. Protection of personal information
- All notices must be transmitted using an encrypted channel.
- No personal information may appear outside the PDF or its controlled metadata fields.
- Email delivery must avoid exposing personal data in subject lines or headers.

2. Authentication and authorization
- Only authorized staff may trigger PDF generation or resend a notice.
- Filers must access the delivered document only through authenticated channels tied to their account.

3. Delivery reliability
- Delivery must complete within 30 seconds of the notice being queued.
- The system must track delivery status and show staff when follow‑up is required.
- Failed deliveries must be logged and presented for manual action with minimal delay.

4. Audit and traceability
- Every delivery event must be logged with timestamp, sender, recipient, and repository ID.
- Delivery logs must be immutable and retained according to the project’s retention schedule.

5. Consistency across channels
- Whether delivered through email or the portal, the file must be identical.
- Delivery content must not vary based on the chosen channel.

6. Error handling
- If delivery cannot proceed, the user must receive a clear message and a Retry option.
- The system must ensure that duplicate deliveries do not occur during retries.

---

### BA — Edge cases
| Edge case | What triggers it | What the user sees | Can they continue? |
|--------------------------|----------------------------------|---------------------------------------------------------------------|--------------------|
| Notice fails to generate | PDF service down | Error: “Rejection Notice unavailable. Please try again later.” | No |
| Email fails | Email service down | Info: “Email delivery unavailable. Notice available by download.” | Yes |
| Download unavailable | System cannot serve the PDF file | Error: “Rejection Notice not available. Please contact Registry.” | No |
| Delivery Failure | Delivery Service Unavailable | Error: “The notice cannot be sent right now. The delivery service is unavailable. Try again later.” | No |
| Invalid Email Address | Delivery address invalid | Error: “The email address for this filer is not valid. Update the address and resend the notice..” | No |
| Duplicate Delivery | Duplicate delivery blocked | Error: “A notice has already been sent for this filing. Review the delivery history before resending” | No |
| Timeout | Operation timed out | Error: “The system took too long to create the notice. Try again.” | No |
| Unexpected System Error | System error | Error: “An error occurred. The notice was not created. Try again or contact support.” | No |

---

### BA — Gherkin
- **Happy path**
Given a filing request is Rejected
When notice generation is triggered
Then a PDF is created
And a Download link is shown
And an email is sent to filer with a CC to analyst
And audit log records notice ID, timestamp, and delivery events.

- **Notice fails to generate**
Given a filing is Rejected
When notice generation fails
Then I see: “Rejection Notice unavailable. Please try again later.”

- **Email fails**
Given a notice was generated
When the email system fails
Then I see: “Email delivery unavailable. Notice available by download.”

- **Download unavailable**
Given a notice was generated
When the system cannot serve the file
Then I see: “Rejection Notice not available. Please contact Registry.”

---

## Design — Prompts
- Confirm placement/label of **Download Rejection Notice** button/link.
- Confirm email template basics (subject/body, plain language, attachment vs link).
- Confirm how CC email appears to analyst.
- Ensure accessibility of download button/link and PDF format.
- Paste design link above.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.