{"kind":"demo-sample-data-package","version":"wave-1","sourceDemo":{"slug":"referral-network","title":"Referral Network","archetype":"A7","canonicalPath":"/demo-library/referral-network","appPath":"/demo-apps/referral-network","subdomain":"referral-network.ideas-realized.com"},"package":{"headline":"LoopLedger sample data package","summary":"LoopLedger has 2 buyer-ready CSV template(s), 3 mapped source group(s), and 10 checks for moving from seeded demo data to a first tenant dry import.","productName":"LoopLedger","tenantName":"Northstar Referral Guild","productionDomain":"referral-network.ideas-realized.com","canonicalPage":"/demo-library/referral-network","previewScreen":{"id":"matcher","label":"Matchmaker","proof":"relationship matching and referral capture","url":"https://referral-network.ideas-realized.com?screen=matcher"},"cutoverStrategy":"Run a dry import into the tenant preview, reconcile duplicates with the chapter admin, then open logging for one meeting cycle before enabling sponsor reporting.","privacyNote":"Referral notes should exclude sensitive deal details unless the network has explicit member consent and a data-retention policy.","counts":{"templateCount":2,"sampleRowCount":4,"sourceCount":3,"mappedFieldCount":10,"requiredFieldCount":7,"validationGateCount":3,"acceptanceCheckCount":10},"sources":[{"name":"Member roster","system":"Chapter spreadsheet or association CRM export","owner":"Chapter admin","cadence":"One seed import plus monthly refresh","status":"ready","recordEstimate":"80 to 250 member records","fieldCount":4,"requiredFieldCount":4,"fields":[{"sourceField":"member_name","targetField":"Member.displayName","required":true,"transform":"Trim whitespace and title-case only when source is all caps.","validation":"Must be unique with email inside the tenant."},{"sourceField":"email","targetField":"Member.email","required":true,"transform":"Lowercase and reject shared inbox aliases unless approved.","validation":"Valid email format and no duplicate active member."},{"sourceField":"business_category","targetField":"Member.category","required":true,"transform":"Map to configured chapter category list.","validation":"Unmapped categories require admin review."},{"sourceField":"membership_status","targetField":"Member.status","required":true,"transform":"Map active, pending, alumni, and sponsor statuses.","validation":"Only active and sponsor records can receive referral tasks."}]},{"name":"Referral history","system":"Spreadsheet, form export, or CRM activity report","owner":"Referral chair","cadence":"Optional historical import before pilot kickoff","status":"template","recordEstimate":"50 to 500 referral records","fieldCount":4,"requiredFieldCount":3,"fields":[{"sourceField":"source_member_email","targetField":"Referral.sourceMemberId","required":true,"transform":"Match by imported member email.","validation":"Source member must exist in the roster import."},{"sourceField":"recipient_member_email","targetField":"Referral.recipientMemberId","required":true,"transform":"Match by imported member email.","validation":"Recipient member must exist and cannot equal source member."},{"sourceField":"referral_date","targetField":"Referral.createdAt","required":true,"transform":"Normalize to ISO date in tenant timezone.","validation":"Reject future dates and dates before chapter launch unless approved."},{"sourceField":"outcome","targetField":"Referral.status","required":false,"transform":"Map won, active, stale, declined, and unknown outcomes.","validation":"Unknown outcomes import as needs-review."}]},{"name":"Sponsor reporting fields","system":"Board report spreadsheet","owner":"Executive director","cadence":"Quarterly reporting export","status":"optional","recordEstimate":"10 to 30 sponsor-visible metrics","fieldCount":2,"requiredFieldCount":0,"fields":[{"sourceField":"sponsor_segment","targetField":"Report.segment","required":false,"transform":"Map to sponsor, board, or member-only visibility.","validation":"Sponsor-visible rows cannot include private notes."},{"sourceField":"estimated_value","targetField":"Referral.estimatedValue","required":false,"transform":"Parse currency and store rounded USD amount.","validation":"Values above threshold require admin review before reporting."}]}],"templates":[{"id":"member-roster","label":"Member roster import","fileName":"referral-network-member-roster.csv","downloadPath":"/demo-library/referral-network/import-templates/member-roster","sourceSystem":"Chamber roster export or CRM contact list","owner":"Chapter admin","cadence":"Initial import, then monthly refresh","description":"Seeds the member directory, category filters, chapter assignment, and sponsor-safe profile fields.","columnCount":7,"requiredColumnCount":6,"sampleRowCount":2,"columns":[{"name":"member_id","required":true,"description":"Stable member identifier from the roster source.","example":"MEM-1042"},{"name":"member_name","required":true,"description":"Public member name shown in the directory.","example":"Maya Patel"},{"name":"company","required":true,"description":"Member company or practice name.","example":"Patel Accounting Group"},{"name":"category","required":true,"description":"Referral category used for directory filtering.","example":"Accounting"},{"name":"chapter","required":true,"description":"Chapter, cohort, or market group.","example":"North Bay Growth Circle"},{"name":"email","required":true,"description":"Member email used for invite and reminder workflows.","example":"maya@example.com"},{"name":"sponsor_visible","required":false,"description":"Whether aggregate activity can appear in sponsor exports.","example":"yes"}],"sampleRows":[{"member_id":"MEM-1042","member_name":"Maya Patel","company":"Patel Accounting Group","category":"Accounting","chapter":"North Bay Growth Circle","email":"maya@example.com","sponsor_visible":"yes"},{"member_id":"MEM-1188","member_name":"Evan Brooks","company":"Brooks Commercial Lending","category":"Commercial lending","chapter":"North Bay Growth Circle","email":"evan@example.com","sponsor_visible":"yes"}],"csvPreview":"member_id,member_name,company,category,chapter,email,sponsor_visible\r\nMEM-1042,Maya Patel,Patel Accounting Group,Accounting,North Bay Growth Circle,maya@example.com,yes\r\nMEM-1188,Evan Brooks,Brooks Commercial Lending,Commercial lending,North Bay Growth Circle,evan@example.com,yes","acceptanceChecks":["Every row has a stable member_id and email.","Category values are normalized before public filters are enabled.","Sponsor visibility is approved before sponsor exports are generated."]},{"id":"referral-log","label":"Referral activity import","fileName":"referral-network-referral-log.csv","downloadPath":"/demo-library/referral-network/import-templates/referral-log","sourceSystem":"Spreadsheet referral log or CRM activity export","owner":"Chapter coordinator","cadence":"One-time backfill, then weekly upload during pilot","description":"Backfills referral records, status history, attributed value, and follow-up owners.","columnCount":7,"requiredColumnCount":5,"sampleRowCount":2,"columns":[{"name":"referral_id","required":true,"description":"Stable referral or activity identifier.","example":"REF-2406-018"},{"name":"from_member_id","required":true,"description":"Member who gave the referral.","example":"MEM-1042"},{"name":"to_member_id","required":true,"description":"Member who received the referral.","example":"MEM-1188"},{"name":"client_name","required":true,"description":"Client or opportunity label approved for internal use.","example":"Harbor Renovation LLC"},{"name":"estimated_value","required":false,"description":"Optional value for internal reporting.","example":"18000"},{"name":"status","required":true,"description":"Current referral status.","example":"Accepted"},{"name":"follow_up_due","required":false,"description":"Next follow-up date in ISO format.","example":"2026-07-08"}],"sampleRows":[{"referral_id":"REF-2406-018","from_member_id":"MEM-1042","to_member_id":"MEM-1188","client_name":"Harbor Renovation LLC","estimated_value":"18000","status":"Accepted","follow_up_due":"2026-07-08"},{"referral_id":"REF-2406-022","from_member_id":"MEM-1188","to_member_id":"MEM-1042","client_name":"Solano Dental Partners","estimated_value":"7200","status":"New","follow_up_due":"2026-07-03"}],"csvPreview":"referral_id,from_member_id,to_member_id,client_name,estimated_value,status,follow_up_due\r\nREF-2406-018,MEM-1042,MEM-1188,Harbor Renovation LLC,18000,Accepted,2026-07-08\r\nREF-2406-022,MEM-1188,MEM-1042,Solano Dental Partners,7200,New,2026-07-03","acceptanceChecks":["from_member_id and to_member_id match imported roster records.","Private notes are excluded from the import file.","Status values map to the live referral workflow."]}],"validationGates":[{"label":"Roster duplicate review","severity":"blocking","detail":"Duplicate emails or member names prevent referral attribution.","resolution":"Chapter admin merges or removes duplicates before pilot launch."},{"label":"Category taxonomy approval","severity":"warning","detail":"Unmapped business categories weaken member search and referral matching.","resolution":"Approve a chapter category list during setup."},{"label":"Private note policy","severity":"blocking","detail":"Historical referral notes may contain sensitive deal details.","resolution":"Import only summary notes until retention and consent rules are approved."}],"acceptanceChecklist":["Member roster import: Every row has a stable member_id and email.","Member roster import: Category values are normalized before public filters are enabled.","Member roster import: Sponsor visibility is approved before sponsor exports are generated.","Referral activity import: from_member_id and to_member_id match imported roster records.","Referral activity import: Private notes are excluded from the import file.","Referral activity import: Status values map to the live referral workflow.","Roster duplicate review: Chapter admin merges or removes duplicates before pilot launch.","Category taxonomy approval: Approve a chapter category list during setup.","Private note policy: Import only summary notes until retention and consent rules are approved.","Open Matchmaker after dry import and verify relationship matching and referral capture."],"handoffRoutes":[{"label":"Sample data package","href":"/demo-library/referral-network/sample-data-package","detail":"Markdown handoff with CSV templates, seed rows, validation gates, and cutover notes."},{"label":"Sample data package JSON","href":"/demo-library/referral-network/sample-data-package.json","detail":"Machine-readable sample-data manifest for implementation automation."},{"label":"Production data contract JSON","href":"/demo-library/referral-network/data-contract.json","detail":"Entity, source, event, API-shaped route, and boundary contract for production planning."},{"label":"Implementation JSON","href":"/demo-library/referral-network/implementation.json","detail":"Full setup spec with routes, productization fields, tenant defaults, and security notes."},{"label":"Implementation intake","href":"/implementation-intake/referral-network-implementation-intake","detail":"Buyer source-system, domain, access, and asset collection workflow."},{"label":"Live app proof screen","href":"https://referral-network.ideas-realized.com?screen=matcher","detail":"Matchmaker: relationship matching and referral capture"}]},"implementationManifest":{"markdownPath":"/demo-library/referral-network/sample-data-package","jsonPath":"/demo-library/referral-network/sample-data-package.json","importTemplatePaths":["/demo-library/referral-network/import-templates/member-roster","/demo-library/referral-network/import-templates/referral-log"],"dataContractJsonPath":"/demo-library/referral-network/data-contract.json","implementationSpecPath":"/demo-library/referral-network/implementation.json","tenantClonePackageJsonPath":"/demo-library/referral-network/tenant-clone-package.json","firstProofUrl":"https://referral-network.ideas-realized.com?screen=matcher","firstProofScreen":"matcher"}}