04/27 Updated documents
This commit is contained in:
@@ -6,9 +6,9 @@ A production-grade web application for managing janitorial service contracts, fa
|
||||
|
||||
## Features
|
||||
|
||||
- **Inspection Management** — Execute structured inspections against configurable templates with a drag-and-drop form builder supporting ratings, pass/fail, photos, signatures, and free-form fields
|
||||
- **Inspection Management** — Execute structured inspections against configurable templates with a drag-and-drop form builder supporting ratings, pass/fail, photos, signatures, and free-form fields. Starting an inspection requires only a Template and Facility selection.
|
||||
- **Issue Tracking** — Full lifecycle management (open → in-progress → pending verification → resolved) with SLA enforcement, follower subscriptions, resolution photo uploads, and inline quick-assign from the issues list
|
||||
- **Customer Portal** — Scoped facility visibility for client accounts with invitation-based onboarding (email link, 72-hour token); expired invitation warnings surface on the admin dashboard
|
||||
- **Customer Portal** — Scoped facility visibility for client accounts with invitation-based onboarding; admin enters name and email only, customer chooses their own username and password via a 72-hour emailed link; expired invitation warnings surface on the admin dashboard
|
||||
- **Notification System** — In-app + email notifications driven by an admin-controlled routing matrix; per-user preferences including digest mode and a one-click "Pause All Emails" toggle
|
||||
- **Reports** — On-demand PDF/CSV scorecards and scheduled recurring email reports (daily/weekly/monthly)
|
||||
- **Audit Trail** — Immutable log of every create, update, and delete action with actor and IP capture
|
||||
@@ -218,12 +218,13 @@ flask shell
|
||||
## Customer Onboarding
|
||||
|
||||
1. Admin navigates to **Customers → New Customer**
|
||||
2. Enter the customer's name and email — username is auto-generated
|
||||
3. The system sends an invitation email with a 72-hour setup link
|
||||
4. Customer sets their password via the link and gains access to their scoped portal
|
||||
5. Admin assigns the customer to Contracts/Facilities via **Customers → Manage**
|
||||
2. Enter the customer's **Full Name** and **Email** only — no username or password required from the admin
|
||||
3. The system auto-generates a temporary username and sends an invitation email with a secure **72-hour setup link**
|
||||
4. Customer clicks the link and arrives at the account setup page where they **choose their own username and set their password**
|
||||
5. The account activates immediately and the customer can log in
|
||||
6. Admin assigns the customer to Contracts/Facilities via **Customers → Manage**
|
||||
|
||||
> Expired invitations (token past 72 hours, password never set) are surfaced as a warning banner on the Customers page with inline **Resend** buttons.
|
||||
> Expired invitations (token past 72 hours, password never set) are surfaced as a warning banner on the Customers page with inline **Resend** buttons. Resending generates a fresh 72-hour token.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user