Avocadoo Proposal · Scope · Timeline · Cost
This is Avocadoo's end-to-end implementation proposal for the Summerfield Franchise OS on Toast POS. The document lays out scope by phase, team composition, feature-level breakdown, a 5-month timeline, and an estimated total budget of approx ~$45,000 across all three phases — updated to cover the full module list in the client's May-2026 requirements brief (full Inventory, FDD-compliant LMS in Phase 2 (web), Operations & Checklists, Square Payroll + QuickBooks integrations). The architecture is ready for 5–50 stores; native mobile LMS playback and Simple AI ship in Phase 3.
The client needs to build a "Franchise OS" on top of Toast POS — to centralize control of menu, recipes, and pricing, sync data across stores, run a franchise approval workflow, and stand up an architecture ready for 50+ stores.
Each phase is an independent milestone that can go live, be signed off, and operate in production before the next phase opens.
Objective: Centralize operations — HQ controls menu & pricing, Toast data flows into a single system, franchisees have a place to submit proposals — enough to support opening 5 new franchises this year.
Objective: Deliver FDD-compliant LMS on web first (customer priority) alongside core reporting, BOM/cost engine, and inventory foundation (item master, snapshot, low-stock, Toast BOM deduction, Square Payroll + QuickBooks). Pricing schedule, per-franchise overrides, PO mobile receiving, physical counts, waste/transfer, Toast history backfill, and advanced dashboard features move to Phase 3 to balance budget. Upgrade performance (Azure Service Bus + cache + indexing) for 50-store readiness.
Objective: Flutter mobile (iOS + Android) for HQ + Franchise + Staff — including LMS playback on mobile and mobile-first inventory workflows deferred from Phase 2; the Operations & Checklists module; Simple AI Pack; ticket support; and security review. Advanced AI remains Phase 4.
When to deploy: Once you have ≥12 months of clean data (roughly Q3-2027). This phase is optional and does not need to be signed now. Objective: data → insight → action.
A pragmatic stack for a 5–50 store footprint. Every choice has a reason; not over-engineered, not over-simplified. We always favor boring, proven tech.
Next.js (App Router) for HQ + Franchise web · Flutter for mobile.
.NET 8 core API · NestJS fast service · Toast Connector in the integration layer.
PostgreSQL SSOT · Azure Container Apps · Terraform IaC.
The short version: Azure is Microsoft's cloud, and our backend is .NET 8 — so the two were designed to work together. That tight fit means less plumbing, fewer surprises, and faster shipping.
First-class .NET runtime & tooling. Azure App Service and Azure Container Apps treat .NET as a first-class citizen — managed runtime upgrades, native OpenTelemetry, App Insights integration without adapters, Visual Studio publish flows, hot-reload deployments. On AWS or GCP these all work, but you spend more setup time wiring them together.
One identity stack. Microsoft Entra ID (formerly Azure AD) covers user identity, SSO readiness (Google/Microsoft Workspace), managed identities for service-to-service auth, and Key Vault integration — all from a single control plane. RBAC at the cloud layer mirrors the RBAC inside the app.
Operationally familiar. Postgres Flexible Server, Container Apps, Service Bus, Functions, Blob Storage, App Insights — these are the same managed services Avocadoo (and the previous vendor on this engagement) have used to build long-running production systems for other SMB / multi-store clients. We're not learning the platform on Summerfield's bill.
Cost is comparable. At 5 stores Azure infra runs ~$318/month (all-in ~$439 with third-party services) on a cost-optimized starter tier — single-instance compute, no Redis replication, smaller Postgres; at 50 stores ~$900/month Azure alone (plus ~$225 third-party → all-in ~$1,125) on a production scale tier — read replica and multi-zone HA remain a separate expansion RFP if metrics require them. AWS and GCP land in the same ballpark — the differentiator is dev velocity, not raw price. See section / 07 / Hosting cost projection for the full line-by-line breakdown — line items sum to the subtotals shown.
If the HQ team has a strong preference for AWS (e.g., existing AWS billing relationship), we can port the architecture — the design is cloud-portable since everything runs as containers + standard Postgres + standard Redis. It would add ~1 sprint of infra setup but no architectural change.
Why .NET 8 (core API) + NestJS (fast service): ASP.NET Core handles complex domain logic (BOM, cost calc, approval workflow, audit) with rock-solid stability, type safety, and high performance — and enterprise teams already know it. NestJS runs alongside as a "fast service" for lightweight, I/O-bound flows — Toast sync worker, webhook listener, mobile BFF, AI/LLM proxy — where Node's event loop and the npm ecosystem (BullMQ, ioredis, OpenAI SDK) feel more natural. The two services deploy independently on Azure Container Apps, share Postgres + Redis, and communicate over REST + Azure Service Bus.
Microservices are premature optimization: at 5–50 stores, a modular monolith (.NET) + 1 fast service (NestJS) is plenty: same performance as microservices, 30% faster dev velocity, and 2–3x simpler debugging. We split further only when crossing 100+ stores (Strangler Fig pattern).
Data Lake / DWH isn't needed yet: 5 stores generate ~5K–10K orders/day → ~3M–7M rows/year. Postgres handles that easily. A DWH (Azure Synapse / Snowflake) adds ~$1.5K–3K/month in infra without solving any problem at this scale.
Advanced AI (ML/forecasting) isn't needed yet: Meaningful models require ≥12 months of clean data to train. Build it early and you get high false-positive rates → HQ silences alerts → wasted spend. The Simple AI Pack in Phase 3 (rule-based + LLM API) is fundamentally different — no training required, useful from the very first store.
A high-level view of how the four user-facing clients, the two backend services, and the external integrations fit together. Everything in the dotted box runs inside the same Azure resource group — one Postgres database is the system of record, one set of secrets in Key Vault, one observability pipeline.
A small, in-house Avocadoo team — seven named roles who own delivery end to end. No outsourced sub-contracting unless agreed in writing. Pham Minh Quan is the single point of contact for the Summerfield HQ team throughout the engagement.
| Name | Role | What they own |
|---|---|---|
| Pham Minh Quan PRIMARY POC | Project Manager · single point of contact | Runs working sessions, sprint demos, scope & CR conversations, status updates. Fluent enough in English to walk through operational and business-logic edge cases with the HQ team — not just translating tech specs. |
| Tran Quang | Tech Lead | Architecture, code review, integration design (Toast / Square Payroll / QuickBooks / BOM engine), security review, NestJS fast-service & AI pack ownership. |
| Dang Minh Tri | Full-stack Engineer | .NET 8 Core API + Next.js web — HQ/Franchise portals, dashboards, inventory core, FDD LMS (Phase 2 web), recipe, approval-workflow, reporting. |
| Huynh Quang Bao | Mobile Engineer | Flutter iOS + Android — HQ, Franchise, Staff. LMS native playback (Phase 3), deferred inventory mobile flows, checklist execution, offline queue. |
| Dieu Bui | BA | Requirements workshops, process mapping, user stories & acceptance criteria, RBAC matrix, brief-to-backlog alignment (Inventory, LMS, Operations), client-facing spec reviews. |
| Nguyen Nhat Dinh | QA-QC | Test plan & cases, sprint regression, integration & UAT support, defect triage with Tech Lead. |
| Nguyen Sy Tien | UI/UX | Web & mobile UX flows, wireframes & prototypes for HQ / Franchise / Staff portals, design consistency with Summerfield brand, handoff to engineering. |
DevOps: Terraform, CI/CD, and monitoring setup in P1, then ~0.2 FTE maintenance — owned by Tech Lead with shared rotating capacity inside Avocadoo.
Same total budget, broken down by module and phase — what each feature area costs in USD.
| Feature / Module | Phase | Cost (USD) | Short description |
|---|---|---|---|
| Core infra & Foundation | |||
| Project Setup & Infra | P1 | $1,000 | Azure, CI/CD, Docker, Terraform |
| Database Design | P1 | $500 | ER, migration, seed |
| Auth + RBAC (5 roles) | P1 | $800 | JWT, refresh, RBAC; MFA for HQ Admin/Ops |
| DevOps & Monitoring | P1 | $650 | Prod env, alarms |
| Toast Integration | |||
| Toast API Sync (orders, payments, menu, inv) | P1 | $3,540 | Core of the system |
| Performance & Scale Prep (Service Bus, cache, index) | P2 | $500 | Azure Service Bus + Cache for Redis + indexing → 50-store ready |
| Auto Duplicate / Missing Detection | P3 | $550 | Automated data quality · deferred from P2 |
| HQ Control Center | |||
| Menu Management (CRUD) | P1 | $885 | Item, modifier, category |
| Master Pricing + Validation | P1 | $590 | Min/max, margin warning |
| BOM / Recipe Management | P2 | $1,200 | Lock + versioning |
| Cost Calculation Engine | P2 | $750 | Margin per item |
| Pricing Schedule (effective from/to) | P2 | $500 | Scheduled price changes |
| Per-franchise Price Override | P2 | $400 | By state/store |
| Franchise Portal & Approval | |||
| Franchise Web (basic) | P1 | $735 | Login, submit, history |
| Approval Workflow | P1 | $1,030 | Queue + auto-apply |
| Reporting & Dashboard | |||
| Data List + Export CSV (basic) | P1 | $440 | Phase 1 stub |
| Dashboard + Multi-store comparison | P2 | $1,200 | Charts, filters, top items |
| Dashboard Advanced (drill-down, custom email reports, alerts/thresholds) | P3 | $550 | Deferred from P2 · saved reports, recurring emails, threshold rules |
| Data Migration (12 months of Toast history) | P3 | $450 | Deferred from P2 · extract + cleanse |
| External Integrations (Square Payroll + QuickBooks) | |||
| Square Payroll Integration | P2 | $450 | Pull labor hours/cost; eliminate manual entry |
| QuickBooks Read-only Sync | P2 | $450 | Pull financial metrics for HQ dashboard |
| Recipe / Menu — additional | |||
| Recipe Enhancements (allergen tagging, printable export, off-menu lock) | P2 | $250 | FDD-relevant safety + brand protection |
| Inventory & Supply | |||
| Item Master & Supplier Records | P2 | $590 | Items, SKUs, UoM, suppliers (Sysco/LA Food), cost history |
| Inventory Snapshot + Movement | P2 | $1,200 | Daily snapshot + IN/OUT |
| Low-stock Alerts + Reorder Suggestion | P2 | $295 | In-app + email alerts; reorder hint on PO draft |
| Purchase Orders & Receiving Workflow | P3 | $1,100 | Deferred from P2 · PO + email/PDF + mobile receiving with photo |
| Inventory Counts / Audits | P3 | $500 | Deferred from P2 · periodic physical count + variance report |
| Waste / Spoilage & Inter-store Transfer | P3 | $400 | Deferred from P2 · waste log + cost rollup + double-entry transfer |
| Toast Inventory Deduction (BOM, daily batch) | P2 | $800 | Sales × BOM → ingredient depletion + reconciliation; modifier-aware |
| Receipt / Invoice Upload | P2 | $500 | Blob Storage upload + list |
| Mobile App (Phase 3) | |||
| Mobile Foundation | P3 | $1,100 | Flutter, push, offline cache |
| Mobile HQ Features | P3 | $400 | Dashboard, approvals |
| Mobile Franchise Features | P3 | $700 | Submit, inventory, receipts |
| Mobile Staff (checklist execution + LMS playback) | P3 | $590 | Checklists + native LMS playback (courses live on web since P2) |
| LMS — FDD-compliant (Phase 2 · web-first) | |||
| LMS — Course Library & Content Migration | P2 | $650 | Migrate ~111 pages + 19–30 videos; HQ web portal; multi-language ready |
| LMS — Learning Paths & Assignment | P2 | $440 | Role-based paths; auto-assign Barista/Shift Lead/Manager/Franchisee |
| LMS — Quizzes & Assessments | P2 | $650 | MCQ, T/F, short-answer, matching; configurable threshold + retakes |
| LMS — Progress Tracking & Digital Certificates | P2 | $500 | Per-user/store/franchisee progress; auto-issued PDF certs |
| LMS — Franchisee Pre-opening Workflow | P2 | $950 | Self-study + classroom + on-the-job sign-off; gates store opening |
| LMS — Refresher Training & Reporting | P2 | $350 | Annual/quarterly auto-assign; completion reports by store/role/module |
| Simple AI Pack (Phase 3) | |||
| Sales Anomaly Alert (rule-based) | P3 | $200 | 4-week z-score baseline, alerts HQ |
| Reorder Quantity Suggestion | P3 | $200 | Rolling 30-day avg + lead-time |
| AI Q&A Assistant (LLM + RAG-lite) | P3 | $200 | Claude/OpenAI API over SOP/recipe docs |
| Operations & Checklists (Phase 3) | |||
| Checklist Templates & Evidence types | P3 | $750 | Templates with photo/signature/temperature/numeric evidence |
| Scheduled Assignment & Mobile Execution | P3 | $1,200 | Auto-assign by role/time; photo capture; temp logs with out-of-range flag; issue logging |
| Real-time Visibility, Audit History & Offline mode | P3 | $500 | Searchable audit (health-dept ready); offline queue + sync |
| Support & Security | |||
| Ticket Support System (lean) | P3 | $600 | Submit + queue + email notif |
| Full Audit Log | P2 | $295 | Every HQ/Franchise mutation |
| Security Review (internal) | P3 | $500 | OWASP checklist + dep scan |
| Smoke Load Test | P3 | $200 | k6/Artillery, 50-store simulation |
| App Store Submission + UAT + Release | P3 | $1,150 | iOS+Android, 1–2 UAT rounds |
| Cross-cutting (every phase) | |||
| Testing / QA Cross-phase | P1+P2+P3 | $4,980 | Total QA + UAT coordination, sprint demos, pilot validation support |
| BA / UX / Documentation | P1+P2+P3 | $2,400 | Specs, user manual, API docs; stakeholder workshops & scope alignment (incl. Operations + LMS) |
| Tech Lead oversight / code review | P1+P2+P3 | $1,720 | Embedded review, architecture, integration & milestone sign-off support |
| Onboarding + Training + Handoff + LLM API budget | — | $675 | Kickoff workshop, pilot store check, Claude/OpenAI API for Phase 3 |
| Rounding adjustment (goodwill) | — | $295 | Avocadoo rounds the estimate cleanly to approx ~$45,000 |
| Grand Total — Phase 1+2+3 | ~$45,000 | All phases combined | |
The build cost above is one-time. Running the platform is monthly. Here is what we estimate operating cost at 5 stores vs 50 stores. Azure infrastructure @ 50 stores is budgeted at ~$900/mo (line items in the table below sum to that subtotal). Third-party services (email, CDN, LLM, app-store fees, etc.) are additional — typically ~$225/mo at 50 stores → all-in ~$1,125/mo.
At 5 stores, tiers are right-sized for launch cost: single replica, no zone redundancy, Basic Redis, smaller Burstable Postgres — still a real production stack, not a demo. At 50 stores, Azure scales to support higher sync volume, dashboard load, and blob traffic — ~$900/mo in the table (6 vCPU-class compute, B4ms Postgres, Standard Redis C1, Service Bus, Functions, blob + egress, sampled App Insights). Postgres read replica and multi-zone HA are not in this $900 band; add via expansion RFP if needed.
| Service | Tier @ 5 stores | 5 stores / month | Tier @ 50 stores | 50 stores / month |
|---|---|---|---|---|
| Azure Container Apps (.NET + NestJS) | Consumption · 2 vCPU + 4 GB combined · 1 replica (single zone · no HA) | $95 | 6 vCPU + 12 GB · 2 replicas · single zone (no multi-zone HA) | $335 |
| Azure DB for PostgreSQL (Flexible Server) | Burstable B1ms · 1 vCPU · 2 GB RAM · 32 GB SSD | $70 | Burstable B4ms · 2 vCPU · 8 GB · 128 GB SSD (no read replica) | $225 |
| Azure Cache for Redis | Basic C0 (250 MB · no replication) | $18 | Standard C1 (1 GB) (not C3 / 6 GB) | $90 |
| Azure Service Bus | Standard | $30 | Standard · higher message volume | $42 |
| Azure Functions (cron / scheduled) | Consumption · low invocation | $10 | Consumption · daily batch + sync jobs | $18 |
| Blob Storage — capacity | Hot · ~50 GB + lifecycle to cool | $5 | Hot · ~150 GB + lifecycle to cool | $16 |
| Blob Storage — bandwidth + read ops | ~50 GB egress + transactions (receipts, checklist photos) | $20 | ~120 GB egress · checklist photos + receipts | $32 |
| Bandwidth — egress (API → clients) | ~50 GB outbound / month | $5 | ~120 GB outbound / month | $20 |
| Azure Monitor + Application Insights | PAYG · ~5–8 GB ingestion · sampling + daily cap | $40 | PAYG · ~12 GB · sampling + 7-day retention | $75 |
| Geo-redundant backup (Postgres LTR) | 7-day point-in-time + monthly LTR | $15 | 7-day PITR + geo-redundant backup storage | $32 |
| Azure Key Vault | Standard | $5 | Standard | $7 |
| Azure DNS | 1 zone | $1 | 1 zone | $3 |
| Static public IP (egress whitelist) | 1 IP | $4 | 1 IP (no failover IP) | $5 |
| App Service Managed Certificate (TLS) | Free | $0 | Free | $0 |
| Azure subtotal | ~$318 | — | ~$900 | |
| Item | Provider / tier | 5 stores / month | Notes @ 50 stores | 50 stores / month |
|---|---|---|---|---|
| Domain registration | Namecheap / Cloudflare · ~$15/yr | $2 | Same | $2 |
| Transactional email (PO, alerts, certs) | SendGrid Essentials | $20 | SendGrid Essentials · ~40K emails/mo (not Pro) | $38 |
| Error tracking | Sentry Team · 50K events/month | $26 | Sentry Team · sampling (not Business) | $26 |
| LMS video hosting / CDN | Bunny.net or Vimeo Pro · ~25 videos | $25 | Bunny.net low tier · ~30 videos · Blob for assets | $55 |
| Claude / OpenAI API (AI Q&A pack) | Pay-per-use · low query volume | $30 | Hard monthly cap in code · ~3–5K queries/mo | $74 |
| Apple Developer Program | $99/year | $9 | Same | $9 |
| Google Play Developer (one-time $25) | Amortized | $1 | Same | $1 |
| Push notifications | FCM (Google · free) + APNs (via Apple Dev) | $0 | Free for app push | $0 |
| GitHub (private repo + CI/CD minutes) | Team tier | $8 | Team tier · same plan | $22 |
| Backup retention (geo-redundant) | Included in Postgres tier | $0 | Included in Postgres PITR (no extra LTR line) | $0 |
| Third-party subtotal | ~$121 | — | ~$227 | |
The brief calls this out as one of the most important sections — fair, because vendors quoting low on build and recouping margin on inflated retainers is a real pattern. Here is how we handle it: 12 months warranty per phase (free), then a single $800/month retainer with a clear hour cap, and $40/hour on-demand beyond that — no multi-tier maze.
After each phase goes live, 12 months of free warranty & business-flow maintenance on the features delivered in that phase. The warranty covers any behavior that deviates from the accepted UAT criteria — i.e., bugs. It does not cover new features, scope changes, or business-logic adjustments the team decides on after go-live (those are change requests, see below).
| Severity | Definition (in plain language) | Response | Resolution target |
|---|---|---|---|
| P0 — Store down | System fully unavailable; stores cannot operate or sales are blocked. | 1 hour BH | Best effort · target ≤ 4 hours |
| P1 — Critical | Key flow broken (Toast sync stopped, approval queue down, FDD-related LMS workflow blocked). | 4 business hours | 1 business day |
| P2 — High | Important flow degraded (dashboard slow, scheduled report missed, photo upload intermittent). | 1 business day | 3 business days |
| P3 — Medium | Non-critical bug; a workaround exists. | 2 business days | 1 week |
| P4 — Low | UI / cosmetic / minor copy issue. | 1 week | Next release cycle |
BH = business hours (09:00–18:00 ICT, Mon–Fri). SLA targets apply during warranty and while the monthly retainer is active. Outside business hours: best-effort unless pre-agreed; billed as on-demand if not covered by retainer hours.
One plan after warranty — predictable cost, capped effort. Work that fits within scope and the hour bank is included; anything beyond is on-demand.
Billed hourly when monthly retainer hours are exhausted, for work outside retainer scope (new modules, large change requests), or if HQ opts out of the retainer and uses support ad hoc only.
| Type | Pricing | Notes |
|---|---|---|
| Within retainer scope (≤ 20 h/mo) | Included in $800/mo | Minor adjustments, bug fixes, deploy support — tracked against the monthly hour bank |
| On-demand (retainer exhausted or out of scope) | $40/hour | 2-hour minimum per ticket · client sign-off before work starts |
| Medium / large CR (8+ hours) | Fixed-price quote or mini-phase | Same flow as P1/P2 — sprint demo + UAT; not counted as retainer “minor adjustments” |
A continuous schedule: 3 phases back-to-back with a short Operate & learn window after Phase 1 go-live before Phase 2 build begins — choose only with steady, committed resourcing on both sides.
| W1 | W2 | W3 | W4 | W5 | W6 | W7 | W8 | W9 | W10 | W11 | W12 | W13 | W14 | W15 | W16 | W17 | W18 | W19 | W20 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kick-off & Design |
|
|||||||||||||||||||
| Phase 1 — MVP build |
|
|||||||||||||||||||
| Operate & learn |
|
|||||||||||||||||||
| Phase 2 — Inv + LMS |
|
|||||||||||||||||||
| Phase 3 — Mobile+Ops |
|
|||||||||||||||||||
Five roles from Section 2.1 of the brief × the major modules of the platform. This is the working sketch — it gets locked into a formal RBAC spec during Phase 1 design, then enforced at the API layer (not just the UI). Cells use a compact legend: V view · C create · E edit · D delete · A approve · X execute · — no access. A star (★) means "scoped to their own store(s) only".
| Module / capability | HQ Admin | HQ Ops | Store Manager | Franchisee | Staff |
|---|---|---|---|---|---|
| Identity & security | |||||
| Users & role assignment | C E D V | E V (non-admin) | — | — | — |
| RBAC policy | E V | V | — | — | — |
| MFA enforcement | Required | Required | Optional | Optional | Optional |
| Audit log | V all | V (non-admin) | — | — | — |
| Menu, pricing & recipes | |||||
| Menu items (active menu per store) | C E D V | V | V ★ | V ★ | V ★ |
| Master pricing | C E V | V | V ★ | V ★ | V ★ |
| Recipes / BOM | C E D V | V | V | V + submit proposal | V |
| Allergen tags | C E V | V | V | V | V |
| Approval workflow (proposals) | A | A | — | Submit · V own | — |
| Inventory & supply | |||||
| Item master & suppliers | C E D V | C E V | V | V ★ | — |
| Stock levels (qty-on-hand) | V all | V all | E V ★ | V ★ | — |
| Purchase orders | V all · A | V all · A | C E V ★ | C E V ★ | — |
| Receiving (mobile) | V all | V all | X ★ | X ★ | X ★ |
| Counts / audits | V all · A | V all · A variance | X ★ | V ★ | — |
| Waste & inter-store transfer | V all | V all · A transfer | C V ★ | V ★ | C ★ (waste log) |
| LMS — training | |||||
| Course content (HQ portal) | C E D V | E V | V | V (assigned only) | V (assigned only) |
| Learning path assignment | C E V | C E V | E V ★ (staff) | V ★ | V own only |
| Quizzes & assessments | C E V scores | V scores | V ★ scores | V own | Take · V own attempts |
| Digital certificates | V all · revoke | V all | V ★ | V own | V own · download |
| Franchisee pre-opening workflow | A · V all | A · V all | — | X own (self-study/classroom/OJT) | — |
| Refresher cycles | C E V | V | V ★ | V own | X own |
| Operations & checklists | |||||
| Checklist templates | C E D V | C E D V | V | V ★ | — |
| Scheduled assignment | V all | E V (overrides) | V ★ | V ★ | V own |
| Execution (photo, temp, signature) | V all | V all | X · A ★ | V ★ | X ★ |
| Issue logging | V all | V · A close | A close ★ | V ★ | C ★ |
| Audit history (health dept) | V all · export | V all · export | V ★ | V ★ | — |
| Dashboard & reporting | |||||
| Executive dashboard | V all | V operational | V ★ | V ★ + anonymized brand benchmarks | — |
| Per-store drill-down | V all | V all | V ★ | V ★ | — |
| Cross-store comparison | V all | V all | — | V (anonymized) | — |
| Custom reports + email schedule | C E V | C E V | V ★ | V ★ | — |
| Alerts & thresholds | C E V | C E V | V ★ subscribe | V ★ subscribe | — |
| Support & tickets | |||||
| Tickets (raise, reply) | V all · A close | V all · E | C E V ★ | C E V ★ | C E V own |
A build is only as accurate as the inputs. To keep the timeline honest, here is what we will need from the Summerfield team — grouped by when we would need it. The earlier items unblock Phase 1 design and database modelling; the later ones are about not blocking Phase 2 and Phase 3 once we get there. Business rules, formulas, and calculation logic are listed in the same priority bands below — Critical when they block P1 (menu, pricing, approval, recipe/BOM shape); High when they block P2 (COGS, inventory, deductions, dashboard KPIs). We would rather receive these in a shared folder (Google Drive or Dropbox is fine) than over email — easier to track what is complete.
| What | Why we need it | Format |
|---|---|---|
| Toast credentials (sandbox + production) | To verify the API the moment we kick off — Toast integration is the single biggest risk in P1 (see risks table). | API key + restaurant IDs for all 5 stores · sandbox account |
| Sample receipts & orders for DB analysis | To model the database correctly — we want to see the actual shape of your data, not guess from docs. The ER diagram in P1 is built on top of these samples. | ~1 week of Toast daily summaries per store · sample receipts (CSV / JSON / PDF exports) |
| Sample supplier invoices (Sysco, LA Food) | To design the supplier & PO data model accurately — what fields matter, what the actual line items look like, payment terms. | 10–20 invoices (PDF or scan) |
| FDD-relevant excerpts on training commitments | The LMS franchisee pre-opening workflow is built from the FDD language — we need to read the exact wording you have committed to. | Section excerpts (no need to share full FDD) |
| Logo + brand basics | To get the UI shells in place from day one — header, login, app icon. | Logo SVG/PNG · primary colors · brand font name |
| Business rules & calculations — Critical (P1) | ||
| Canonical recipes + BOM (Bill of Materials) | Recipe/cost modules and Toast menu mapping depend on how you define a drink today — ingredients, quantities, UoM, and which Toast menu items/modifiers each recipe covers. | 5–10 representative drinks fully written out · spreadsheet or doc · note how modifiers (size, milk, toppings) change quantities |
| Pricing control & validation rules | Master pricing, min/max checks, and franchise approval need your real rules — not assumptions. | Written rules: who may change price · min/max or band per item · margin warning threshold if you use one (e.g. flag below 70% gross margin) · per-store vs single national price list |
| Franchisee proposal & approval workflow | The approval queue and auto-apply behavior in P1 must mirror how HQ actually decides today. | Step-by-step: what a franchisee may request · what HQ must approve · what applies automatically after approval · any blackout periods |
| Toast menu ↔ internal item mapping logic | Sync and push-to-Toast need rules for item IDs, modifiers, and off-menu items. | One store’s current Toast menu export · which fields HQ owns vs store · rule for seasonal/LTO items |
Includes integration credentials and the calculation/KPI logic that feeds inventory, cost control, and the HQ dashboard. One record per integrated service for credentials; business-rule docs can live in the same shared folder.
| What | Why we need it | Format |
|---|---|---|
| COGS & margin calculation spec | Cost engine and margin alerts must match how HQ thinks about drink economics. | Formula in plain language: ingredient cost source (last PO, average, manual) · how menu price − COGS = margin · rounding rules · alert threshold % |
| Food cost % & labor cost % (dashboard KPIs) | Executive dashboard and cross-store comparison need your definitions — numerators/denominators and period (day/week). | One-pager per KPI: formula · data source (Toast, Square, QuickBooks, inventory) · target or red-line % if you have one |
| PAR levels & low-stock logic | PAR alerts and reorder hints depend on whether PAR is per item per store, category defaults, or HQ-set only. | PAR table or rules doc · who sets PAR (HQ vs store manager) · in-app vs email recipients |
| Reorder quantity suggestion rules | Reorder hint on PO draft should follow your ops habit, not a generic average. | Rule: e.g. order to PAR, cover N days of usage, supplier case packs · lead time per supplier if known |
| Toast → inventory deduction (daily batch) | BOM depletion job needs timing and edge-case rules aligned with the brief’s daily-batch minimum. | Batch time (e.g. nightly) · how combos/modifiers map to BOM lines · how to treat voids/refunds · who reconciles variance |
| Physical count & variance approval | Audit workflow and variance reports need sign-off rules. | Count frequency · acceptable variance % · manager vs HQ approval for adjustments |
| Waste / spoilage & inter-store transfer rules | Cost rollup and double-entry transfer must match how you account for loss and moves today. | Reason codes you use · whether transfer requires HQ approval · cost basis on transfer |
| Pricing schedule & effective-date logic | Scheduled price changes need timezone and “effective at” behavior (open of business day vs midnight). | Written rule + 1–2 historical examples of a scheduled change |
| Per-franchise / per-market price override rules | Override table in P2 only works if we know when state/store overrides are allowed. | Matrix: which markets differ · who may request · approval path |
| Square Payroll → dashboard mapping | Labor hours/cost on the dashboard must match the fields your accountants trust. | Which Square fields = “labor hours” and “labor cost” · store/location mapping · pay period alignment |
| QuickBooks → dashboard mapping | Read-only financial metrics need a fixed list of accounts or report lines. | QB report name + line items to pull · refresh cadence · store/location dimension if any |
| Dashboard alerts & saved reports (thresholds) | Threshold rules and scheduled emails need your real operational triggers. | List of 3–5 alerts (e.g. food cost > 32%) · who receives email · optional saved report definitions |
| Service | What we need | Owner on your side |
|---|---|---|
| Toast POS | Production API key · webhook secret (if available) · partner-account status · API docs URL | — |
| Square Payroll | API key with read scope for labor hours · OAuth redirect URL · docs URL · sample export of last month | — |
| QuickBooks Online | OAuth app registration · read scope confirmation · QB realm ID · sample financial report | — |
| Sysco | Vendor portal access OR PO email contact · current PO format you use today · payment-terms confirmation | — |
| LA Food | Same as Sysco | — |
| Curate | Written confirmation no integration is required (we want this in writing so it does not surface later) | — |
| DoorDash | Written confirmation no integration is required (managed via Curate) | — |
| Reolink (cameras) | Written confirmation out of scope | — |
| Domain & DNS | Registrar access (e.g., to create CNAMEs for app subdomains) · target domain (e.g., ops.summerfieldteabar.com) | — |
| SendGrid (transactional email) | Either: your existing SendGrid account · or authorize us to create one billed to you | — |
LMS is delivered in Phase 2 (web) — these inputs must arrive before the LMS build sprint, not Phase 3.
| What | Why we need it | Format |
|---|---|---|
| LMS content inventory | ~111 pages of PDFs and 19–30 videos — we structure learning paths during P2 design. | Folder of PDFs + videos (MP4 or links) · one-page index of "what is for whom" |
| Existing quiz / assessment material | Adapt existing knowledge checks rather than invent from scratch. | Any format · even handwritten |
| Quiz pass threshold & retake policy | Configurable assessment rules for P2 go-live. | Default pass % (e.g. 80%) · max retakes · manager-graded short-answer? |
| Franchisee pre-opening gate rules | Self-study / classroom / on-the-job workflow must match FDD + training ops. | Hours or modules per phase · OJT sign-off rules · what blocks store opening |
| Refresher training cadence | Annual/quarterly auto-assign rules. | List (e.g. Food Safety every 12 months) · assign-to role |
| What | Why we need it | Format |
|---|---|---|
| Checklist evidence & temperature limits | Out-of-range flags and required evidence types need store-level standards. | Sample templates · min/max °F per log type · photo-required steps |
| Sales anomaly alert rules | Simple AI pack baseline should reflect what “unusual day” means for your stores. | Metric (sales $, transactions, item count) · sensitivity or % drop vs prior weeks |
| Apple Developer Program account | To submit the iOS app to the App Store. $99/year, billed to Summerfield (industry standard). | Apple ID for the org · payment method |
| Google Play Console account | For Android submission. $25 one-time. | Google account for the org · payment method |
| Push notification provider config | Firebase Cloud Messaging project (for Android) · APNs key (from Apple Developer) | JSON config file + .p8 key |
| LLM API account (Claude or OpenAI) | For the AI Q&A assistant in the Simple AI pack. We will set a monthly hard cap to prevent runaway cost. | API key · billing method · monthly cap preference |
| What | Why we need it |
|---|---|
| Current PAR levels per item per store (if any exist) | Seed data only — PAR logic is High priority above; actual numbers here are optional accelerators. |
| Vendor payment terms per supplier | Pre-fill supplier records (Net 30 vs Net 60, delivery cadence). |
| Master allergen list | To pre-tag the recipe library. |
| Draft daily / weekly / monthly checklists (if any exist) | Even handwritten notes — saves design time on the Operations module. |
| Initial user list per store (HQ + each store) | To provision accounts before go-live so day-one onboarding is smooth. |
| Azure region preference | East US, West US, or Central US — confirms data residency. We default to East US if unspecified. |
| Email tone / template preferences | How formal or casual should automated emails sound? (PO emails, low-stock alerts, welcome emails) |
| One half-day operational walk-through | The "Working Session" the brief mentions at the end of Section 5 — book this in week 1 and the entire team comes away with shared context that prevents most CRs later. |
Section / 11 / is the checklist of what Summerfield provides (credentials, samples, business rules, formulas). This section covers delivery risks and contract assumptions only — we do not repeat those inputs here.
| # | Risk | Impact | Severity | Mitigation |
|---|---|---|---|---|
| 1 | Toast API limitations or version changes | Incomplete sync, incorrect mapping | High | Toast sandbox + production credentials in week 1 (/ 11 /); verify API in P1; retries; manual-fix UI |
| 2 | Missing / duplicate Toast data | Revenue reports drift | High | Manual-fix UI from P1; auto-detection in P2 |
| 3 | Toast rate limits with 50 stores syncing concurrently | Slow sync, missing data | High | Throttling, exponential backoff, per-store batching, P2 queue |
| 4 | Toast historical export incomplete | Year-over-year (YoY) comparison is off | Medium | Sync forward from go-live; backfill when a solution exists |
| 5 | Menu / pricing changes bypass HQ (Toast tablet or franchisee) | Loss of brand control, data divergence | Medium | HQ→Toast one-way push; lock tablet pricing; approval workflow + audit log (rules in / 11 /) |
| 6 | App store rejection (especially iOS) | Mobile go-live delayed | Medium | Submit 2 weeks early; Apple/Google accounts per / 11 / |
| 7 | Mid-phase change requests | Timeline + budget slip | Medium | Clear CR process, end-of-sprint scope review |
| 8 | Vendor capacity drop mid-project | Delay or difficult handover | Medium | Source code escrow, thorough documentation, milestone-based payment |
| 9 | Business rules or formulas agreed late | Rework on COGS, inventory, dashboard KPIs | Medium | Sign-off on / 11 / High-priority logic before P2 sprint starts |
| 10 | LMS content / FDD training rules delivered late | Delays P2 go-live · blocks franchisee pre-opening on the platform | High | LMS inputs in / 11 / before P2 LMS sprint; FDD excerpts in week 1 |
Operational rules (recipes, COGS, PAR, KPIs, LMS gates, etc.) are captured as deliverables in / 11 /, not repeated below.
| # | Assumption | Action |
|---|---|---|
| A1 | Section / 11 / deliverables arrive on the stated Critical / High / Medium dates | Shared-folder checklist owned by PM; late items flagged weekly |
| A2 | Toast API is stable for 50 stores; rate limits are sufficient | Validate in week 1 of P1; partnership account if needed |
| A3 | 30-minute Toast sync is sufficient (no real-time POS sync required) | Confirm with HQ ops; 15-minute sync is a paid scope change |
| A4 | Flutter mobile is one codebase for iOS + Android | OK; no separate native builds in scope |
| A5 | Email/password auth in P1; Google/Microsoft SSO is a later add-on | OK unless HQ requests SSO in P2 |
| A6 | SOC 2 compliance is out of scope for Phases 1–3 | Can be scoped separately at >25 stores |
| A7 | English-only UI at launch (US market) | OK; LMS schema supports additional languages later |
| A8 | Summerfield names one primary POC available within 24 business hours | Written into the contract |
| A9 | Source code escrow + complete handover documentation at each milestone | Written into the contract; client repo access from day one |