This guide covers administrative functions: managing the task template, configuring system settings, controlling auto-generated reminders, and understanding how the system works under the hood.
Task Templates define the master checklist that is automatically applied to every new location. When a new location is created, the system creates one task per template entry for that location โ no manual setup required.
Navigate to Settings โ Task Templates (or click the Templates tab inside the Settings page) to manage the master template.
Templates are displayed in a table grouped by Category with columns for Task Name, Category, Priority, Default Due Days, and the Assigned To field. You can sort the table by clicking any column header.
-30 means 30 days before rent commencement).Click โ๏ธ Edit on any template row to update the name, category, priority, due days, or assigned to field. Changes apply to future location creations only.
Click ๐ on any template row. A confirmation dialog will appear. Deleting a template does not delete tasks already created from it on existing locations.
Templates are displayed sorted by Category then Priority. There is no manual drag-to-reorder โ the display order within each category is determined by the Priority field (Critical first, then High, Normal, Low).
When a user saves a new location, the API immediately queries all active task templates and creates one task per template for the new location:
rent_commencement_date + due_days. If the location has no Rent Commencement date set, the due date is left blank.Not Started.Navigate to Settings in the sidebar. The Settings page has two tabs: General Settings and Task Templates.
General Settings controls how the system generates reminders and sends email digests. After making any changes, click Save Settings at the bottom.
These settings control how many days in advance an email reminder is sent for each priority level. Each field accepts a comma-separated list of day values โ the system will send an email on each of those days before the reminder's due date.
| Setting | Default | Meaning |
|---|---|---|
| Critical Reminder Days | 30,14,7,3,1 | Send emails 30, 14, 7, 3, and 1 day(s) before a Critical reminder is due |
| High Reminder Days | 14,7,3 | Send emails 14, 7, and 3 days before a High priority reminder |
| Normal Reminder Days | 7,3 | Send emails 7 and 3 days before a Normal priority reminder |
| Low Reminder Days | 3 | Send an email 3 days before a Low priority reminder |
Example: If a Critical reminder is due on March 15, emails will be sent on Feb 13 (30 days before), March 1 (14 days), March 8 (7 days), March 12 (3 days), and March 14 (1 day before).
When a user clicks Generate Reminders for a location, the system creates standard recurring reminders based on these settings:
Controls how many months of future Rent reminders to pre-create. Default is 24 โ the system will create 24 monthly Rent reminders starting from the location's Rent Commencement date.
Example: Rent Commencement = Jan 1, 2025, Months Ahead = 24 โ creates rent reminders for Jan 2025 through Dec 2026.
Controls how many HVAC service reminders to create per year. Default is 4 (quarterly). The system creates reminders spaced evenly through the year starting from Rent Commencement.
Example: 4 sessions/year โ reminders every 3 months (Jan, Apr, Jul, Oct if rent starts in January).
Controls how many years of annual Gross Sales report reminders to create. Default is 3. Each reminder is due on the anniversary of the Rent Commencement date.
A comma-separated list of day counts before lease expiry to send lease renewal warnings. Default: 1095,730,548,365 (3 years, 2 years, 18 months, 1 year before expiry).
Each value creates one reminder with Critical priority. These give the team early visibility to start lease renewal negotiations.
Example: Lease expires Dec 31, 2030 โ reminders created for Dec 31, 2027 (3 years), Dec 31, 2028 (2 years), Jun 30, 2029 (18 months), Dec 31, 2029 (1 year).
The email digest is sent using Resend. The following are pre-configured in the system and do not need to be changed unless a new address is required:
| Field | Value / Notes |
|---|---|
| From Address | Configured in Resend โ must be a verified sending domain |
| To Address | Set in Settings โ the email address(es) that receive the daily digest |
| Send Time | Daily digest is sent by a scheduled cron job โ check deployment config for the cron schedule |
| API Key | RESEND_API_KEY environment variable in Cloudflare Workers โ already set, do not change |
To change the recipient email address, update the Digest Email field in Settings and click Save.
Location status is informational โ it does not automatically change task due dates or lock any functionality. Update it manually to reflect actual progress:
| Status | When to set it | Effect |
|---|---|---|
| Planning | Site identified, lease not signed | Visible on dashboard; tasks may exist or not yet |
| Lease Signed | Lease executed | Full task list should be active; rent start date is known |
| Buildout | Construction in progress | Permits, buildout, utility tasks are active |
| Pre-Opening | Construction done, preparing to open | Staffing, inventory, marketing tasks are primary focus |
| Open | Store opened for business | Progress bar will show near 100%; moves to back of dashboard |
| Archived | Location cancelled or historical | Hidden from dashboard and all active views |
Archiving a location hides it from the main dashboard and all active filters. Archived locations are not deleted โ all data (tasks, reminders, budget, lease dates) remains in the database and is visible on the Locations page when you include Archived in the status filter.
The location disappears from the dashboard immediately. To view it again, go to Locations and set the status filter to Archived.
| Category | Typical tasks |
|---|---|
| Lease & Documents | Sign lease, collect landlord contact, file COI, execute TI amendment |
| Property Delivery | Landlord walkthrough, receive keys, document pre-existing conditions |
| Insurance | Obtain general liability, property, workers comp, add landlord as additional insured |
| Utilities | Set up electric, gas, water, waste โ account creation and transfer |
| Buildout | Select GC, finalize drawings, permit submission, construction, punch list |
| Permits | Business license, certificate of occupancy, health permit, fire inspection |
| Signage | Design approval, permit, fabrication, installation |
| Technology | POS installation, internet, security cameras, alarm system |
| Inventory | Place opening order, verify delivery, count and shelf |
| Staffing | Post jobs, interview, hire, onboard, schedule training |
| Marketing | Local social setup, Google Business profile, grand opening campaign |
| Grand Opening | Soft open, announce grand opening date, event planning |
| Post-Opening Follow-Up | TI reimbursement claim, 30/60/90 day reviews, close-out documentation |
| Type | Use case |
|---|---|
| Custom | One-off reminders that don't fit other categories |
| Task | Reminders tied to a specific task deadline |
| Lease Deadline | Lease renewal windows, option exercise deadlines, TI claim cutoffs |
| HVAC | Scheduled preventive maintenance โ quarterly or biannual |
| Rent | Monthly rent payment confirmations |
| Insurance | Annual renewal / certificate expiry |
| TI | Tenant improvement reimbursement claim deadlines |
| Utility | Annual utility account reviews, rate renegotiation windows |
| Signage | Permit renewals, lighting maintenance contracts |
| Gross Sales | Annual gross sales reporting due to landlord (percentage-rent leases) |
| Priority | Definition | Email cadence (default) |
|---|---|---|
| Critical | Hard legal deadlines, rent starts, permit cutoffs โ missing these has financial or legal consequences | 30, 14, 7, 3, 1 days before |
| High | Important operational milestones โ vendor sign-offs, staffing deadlines, opening checklist items | 14, 7, 3 days before |
| Normal | Standard onboarding tasks that should be done on time but have flexibility | 7, 3 days before |
| Low | Nice-to-have or administrative items with low impact if delayed | 3 days before |
| Option | Interval |
|---|---|
| None | One-time reminder, no recurrence |
| Daily | Every day |
| Weekly | Every 7 days |
| Biweekly | Every 14 days |
| Monthly | Every calendar month (same day of month) |
| Quarterly | Every 3 months |
| Biannual | Every 6 months |
| Annual | Once per year |
These are pre-configured in Cloudflare Workers. Do not share or regenerate these unless there is a security incident.
| Variable | Purpose |
|---|---|
RESEND_API_KEY | Email delivery via Resend API |
CRON_SECRET | Protects the cron endpoint from unauthorized invocation |
All data in the system is isolated by tenant_id โ if the system is ever shared across multiple SONAN entities, each organization's data is fully separated. All API routes enforce tenant isolation automatically via the requireAdminWithTenant() auth guard.