Files
red/.planning/REQUIREMENTS.md
2026-03-19 12:08:52 -06:00

7.5 KiB
Raw Blame History

Requirements: Teressa Copeland Homes

Defined: 2026-03-19 Core Value: Teressa can prepare and send any real estate form to a client for signing in minutes, from her browser, without leaving her site.

v1 Requirements

Marketing Site

  • MKTG-01: Visitor sees a hero section with Teressa's professional photo and warm introductory bio
  • MKTG-02: Visitor sees a "listings coming soon" placeholder section (full WFRMLS listings integration deferred to v2 pending vendor API enrollment)
  • MKTG-03: Visitor can submit a contact form with name, email, phone, and message
  • MKTG-04: Visitor sees a testimonials section with client reviews on the homepage

Authentication

  • AUTH-01: Agent (Teressa) can log in to the portal with email and password
  • AUTH-02: Agent session persists across browser refresh and tab closes
  • AUTH-03: All agent portal routes are protected — unauthenticated users are redirected to login
  • AUTH-04: Agent can log out from any portal page

Client Management

  • CLIENT-01: Agent can create a client record with name and email address
  • CLIENT-02: Agent can view a list of all clients
  • CLIENT-03: Agent can view a client's profile and their associated documents

Document Management

  • DOC-01: Agent can browse and import PDF forms from the utahrealestate.com vendor API (vendor.utahrealestate.com/webapi) — investigate API capability; fall back to manual upload if forms API is not available
  • DOC-02: Forms library syncs automatically on at least a monthly basis to reflect new/updated forms
  • DOC-03: Agent can view an imported PDF document in the browser
  • DOC-04: Agent can drag-and-drop to place signature fields on any page of a PDF document
  • DOC-05: Agent can fill in text fields on a document (property address, client names, dates, prices) before sending
  • DOC-06: Agent can assign a document to a specific client and send a signing request

Dashboard

  • DASH-01: Agent can see all documents with their current status: Draft / Sent / Viewed / Signed
  • DASH-02: Agent can see which client each document was sent to and when

Signing Flow

  • SIGN-01: Client receives an email with a unique link to sign the document (no account required)
  • SIGN-02: Signing link expires after 72 hours and can only be used once
  • SIGN-03: Client opens the link in any browser and sees the prepared PDF with signature fields highlighted
  • SIGN-04: Client can draw a freehand signature on a canvas (works on mobile and desktop)
  • SIGN-05: Client can save a default signature and click a signature field to apply it without redrawing
  • SIGN-06: Client sees a confirmation screen after successfully signing
  • SIGN-07: Agent can download the signed PDF from the dashboard
  • LEGAL-01: System logs a complete audit trail for every signing ceremony — 6 server-side events: document prepared, email sent, link opened (with IP/user-agent), document viewed, signature submitted, final PDF hash computed
  • LEGAL-02: System computes and stores a SHA-256 hash of the final signed PDF immediately after signature embedding (tamper-evident record)
  • LEGAL-03: Signed PDFs are stored in private storage — never accessible via public or guessable URLs; agent downloads via authenticated presigned URLs only
  • LEGAL-04: DNS (SPF/DKIM/DMARC) configured for teressacopelandhomes.com before first signing link is sent to a real client

v2 Requirements

MLS Integration

  • MLS-01: Visitor sees Teressa's active property listings pulled from WFRMLS with full IDX compliance (listing broker attribution, WFRMLS disclaimer text, last-updated timestamp, NAR 2024 buyer-agent compensation disclosure) — requires WFRMLS vendor API enrollment
  • MLS-02: Agent portal replication admin page showing sync status per RESO OData resource (Property, Member, Office, Media, OpenHouse)
  • MLS-03: Initial full replication + automated delta syncs using ModificationTimestamp (hourly for Property, daily for Member/Office)
  • MLS-04: Agent can manually trigger a sync for any resource from the admin page

Enhanced Signing

  • SIGN-V2-01: Client receives a reminder email if document is unsigned after 1, 3, and 7 days
  • SIGN-V2-02: Client confirmation email with a copy of the signed document
  • SIGN-V2-03: Multiple field types: initials field, auto-populated date field, checkbox

Forms Library

  • FORMS-V2-01: Heuristic auto-detection of existing AcroForm signature fields on Utah standard forms (reduces manual placement effort)
  • FORMS-V2-02: Agent can save a prepared document as a reusable template (pre-filled fields, pre-placed signature zones)

Analytics

  • ANALYTICS-V2-01: Agent can see when a client opened the signing link
  • ANALYTICS-V2-02: Agent can see how long it took from send to signature

Out of Scope

Feature Reason
Native iOS/Android app Responsive web app handles mobile signing; no separate app needed
Client login portal Clients sign via anonymous token link only; no accounts in v1
DocuSign/HelloSign integration Defeats the purpose of custom-branded, zero-per-month signing
Multi-agent / team support Solo agent only; role/permissions system not needed
In-app PDF content editing Real estate contracts have legally mandated language; editing creates liability
AI chatbot Off-brand for a personal agent site
WebSocket real-time signing session Signing is one-shot; no live session needed
utahrealestate.com forms scraping (automated credential login) Likely violates ToS; use vendor API or manual upload instead

Open Questions

  • DOC-01 — Vendor API forms access: Does vendor.utahrealestate.com/webapi expose the forms library (PDF downloads) in addition to listing data? This determines whether monthly sync can be automated or requires manual upload. Needs investigation in Phase 4.
  • MKTG-02 — Listings deferred: Full WFRMLS listings integration moved to v2. v1 shows a placeholder section. When vendor API access is obtained, promote MLS-0104 from v2 to active.

Traceability

Which phases cover which requirements. Updated during roadmap creation.

Requirement Phase Status
MKTG-01 Phase 2 Pending
MKTG-02 Phase 2 Pending
MKTG-03 Phase 2 Pending
MKTG-04 Phase 2 Pending
AUTH-01 Phase 1 Pending
AUTH-02 Phase 1 Pending
AUTH-03 Phase 1 Pending
AUTH-04 Phase 1 Pending
CLIENT-01 Phase 3 Pending
CLIENT-02 Phase 3 Pending
CLIENT-03 Phase 3 Pending
DOC-01 Phase 4 Pending
DOC-02 Phase 4 Pending
DOC-03 Phase 4 Pending
DOC-04 Phase 5 Pending
DOC-05 Phase 5 Pending
DOC-06 Phase 5 Pending
DASH-01 Phase 3 Pending
DASH-02 Phase 3 Pending
SIGN-01 Phase 6 Pending
SIGN-02 Phase 6 Pending
SIGN-03 Phase 6 Pending
SIGN-04 Phase 6 Pending
SIGN-05 Phase 6 Pending
SIGN-06 Phase 6 Pending
SIGN-07 Phase 7 Pending
LEGAL-01 Phase 6 Pending
LEGAL-02 Phase 6 Pending
LEGAL-03 Phase 7 Pending
LEGAL-04 Phase 6 Pending

Coverage:

  • v1 requirements: 28 total
  • Mapped to phases: 28
  • Unmapped: 0 ✓

Requirements defined: 2026-03-19 Last updated: 2026-03-19 after initial definition