-- CREdispo Seed Data -- password_hash is bcrypt of "demo123" -- Generated with: await bcrypt.hash("demo123", 10) -- Using a pre-computed bcrypt hash for "demo123" -- ============================================ -- USERS (3 users: admin, agent, buyer) -- ============================================ INSERT INTO users (id, email, password_hash, role, name, company, phone) VALUES ('00000000-0000-0000-0000-000000000001', 'admin@credispo.com', '$2b$10$lBN2nUOtIsWhR73IlzDGguDdoVfIt3Y59YkFSQbv.XpkpSvztCwJu', 'admin', 'Admin User', 'CREdispo', '(555) 100-0001'), ('00000000-0000-0000-0000-000000000002', 'john@brokerage.com', '$2b$10$lBN2nUOtIsWhR73IlzDGguDdoVfIt3Y59YkFSQbv.XpkpSvztCwJu', 'agent', 'John Doe', 'Doe Brokerage', '(555) 100-0002'), ('00000000-0000-0000-0000-000000000003', 'robert@thompsonfamily.com', '$2b$10$lBN2nUOtIsWhR73IlzDGguDdoVfIt3Y59YkFSQbv.XpkpSvztCwJu', 'buyer', 'Robert Thompson', 'Thompson Family Office', '(305) 555-0505'); -- ============================================ -- SELLER LEADS (6 leads from mock data) -- ============================================ INSERT INTO seller_leads (id, agent_id, address, asset_type, asking_price, cap_rate, noi, sqft, units, year_built, market, city, state, notes, status, created_at, updated_at) VALUES ('10000000-0000-0000-0000-000000000001', '00000000-0000-0000-0000-000000000002', '1250 Broadway, 15th Floor', 'Office', 12500000, 6.25, 781250, 45000, NULL, 2001, 'New York, NY', 'New York', 'NY', 'Class A office with 95% occupancy. Long-term tenants with staggered lease expirations.', 'active', NOW() - INTERVAL '2 days', NOW() - INTERVAL '2 days'), ('10000000-0000-0000-0000-000000000002', '00000000-0000-0000-0000-000000000002', '8900 Collins Ave', 'Multifamily', 28000000, 5.10, 1428000, 120000, 156, 2018, 'Miami, FL', 'Miami', 'FL', 'Luxury waterfront multifamily. Amenity-rich with pool, gym, rooftop lounge. 97% occupied.', 'active', NOW() - INTERVAL '5 days', NOW() - INTERVAL '1 day'), ('10000000-0000-0000-0000-000000000003', '00000000-0000-0000-0000-000000000002', '4500 Industrial Blvd', 'Industrial', 8750000, 7.20, 630000, 85000, NULL, 2015, 'Dallas, TX', 'Dallas', 'TX', 'Modern distribution warehouse with 32ft clear height. Triple net lease with 8 years remaining.', 'matched', NOW() - INTERVAL '10 days', NOW() - INTERVAL '3 days'), ('10000000-0000-0000-0000-000000000004', '00000000-0000-0000-0000-000000000002', '200 Peachtree St NW', 'Retail', 4200000, 6.80, 285600, 18000, NULL, 1998, 'Atlanta, GA', 'Atlanta', 'GA', 'Strip center anchored by national grocery tenant. 3 inline suites with local tenants.', 'active', NOW() - INTERVAL '1 day', NOW() - INTERVAL '1 day'), ('10000000-0000-0000-0000-000000000005', '00000000-0000-0000-0000-000000000002', '750 Congress Ave', 'Mixed-Use', 15800000, 5.80, 916400, 62000, 48, 2020, 'Austin, TX', 'Austin', 'TX', 'Mixed-use with ground floor retail and 48 residential units above. Downtown location.', 'pending', NOW() - INTERVAL '7 days', NOW() - INTERVAL '4 days'), ('10000000-0000-0000-0000-000000000006', '00000000-0000-0000-0000-000000000002', '1100 S Ocean Blvd', 'Hospitality', 35000000, 4.50, 1575000, 95000, 120, 2010, 'Miami, FL', 'Palm Beach', 'FL', 'Boutique hotel on the beach. Recently renovated. Strong RevPAR metrics.', 'active', NOW() - INTERVAL '3 days', NOW() - INTERVAL '3 days'); -- ============================================ -- BUYERS (8 buyers from mock data) -- ============================================ INSERT INTO buyers (id, agent_id, user_id, name, company, email, phone, asset_types, target_locations, price_min, price_max, cap_rate_min, cap_rate_max, preferences, status, engagement_score, last_contacted_at, created_at, updated_at) VALUES ('20000000-0000-0000-0000-000000000001', '00000000-0000-0000-0000-000000000002', NULL, 'Marcus Williams', 'Blackstone Capital Partners', 'marcus@blackstonecap.com', '(212) 555-0101', ARRAY['Office','Mixed-Use'], ARRAY['New York, NY','Boston, MA','Chicago, IL'], 5000000, 50000000, 5.0, 7.5, 'Class A properties, value-add opportunities', 'high-intent', 92, NOW() - INTERVAL '1 day', NOW() - INTERVAL '30 days', NOW() - INTERVAL '1 day'), ('20000000-0000-0000-0000-000000000002', '00000000-0000-0000-0000-000000000002', NULL, 'Sarah Chen', 'Pacific Capital Group', 'sarah@pacificcap.com', '(310) 555-0202', ARRAY['Multifamily','Mixed-Use'], ARRAY['Miami, FL','Tampa, FL','Orlando, FL','Atlanta, GA'], 10000000, 75000000, 4.5, 6.5, 'New construction preferred, 100+ units', 'active', 78, NOW() - INTERVAL '3 days', NOW() - INTERVAL '45 days', NOW() - INTERVAL '2 days'), ('20000000-0000-0000-0000-000000000003', '00000000-0000-0000-0000-000000000002', NULL, 'David Rodriguez', 'Lone Star Investments', 'david@lonestarinv.com', '(214) 555-0303', ARRAY['Industrial','Land'], ARRAY['Dallas, TX','Houston, TX','Austin, TX','San Antonio, TX'], 3000000, 25000000, 6.0, 9.0, 'NNN leases, distribution/warehouse, last-mile logistics', 'active', 85, NOW() - INTERVAL '2 days', NOW() - INTERVAL '60 days', NOW() - INTERVAL '1 day'), ('20000000-0000-0000-0000-000000000004', '00000000-0000-0000-0000-000000000002', NULL, 'Jennifer Park', 'Summit Realty Advisors', 'jennifer@summitrealtyad.com', '(404) 555-0404', ARRAY['Retail','Mixed-Use'], ARRAY['Atlanta, GA','Charlotte, NC','Nashville, TN'], 2000000, 15000000, 5.5, 8.0, 'Anchored retail, grocery-anchored preferred', 'active', 67, NOW() - INTERVAL '7 days', NOW() - INTERVAL '90 days', NOW() - INTERVAL '5 days'), ('20000000-0000-0000-0000-000000000005', '00000000-0000-0000-0000-000000000002', '00000000-0000-0000-0000-000000000003', 'Robert Thompson', 'Thompson Family Office', 'robert@thompsonfamily.com', '(305) 555-0505', ARRAY['Multifamily','Hospitality'], ARRAY['Miami, FL','Tampa, FL','Nationwide'], 15000000, 100000000, 4.0, 6.0, '1031 exchange buyer, luxury properties, waterfront', 'high-intent', 95, NOW() - INTERVAL '1 day', NOW() - INTERVAL '20 days', NOW() - INTERVAL '1 day'), ('20000000-0000-0000-0000-000000000006', '00000000-0000-0000-0000-000000000002', NULL, 'Amanda Foster', 'Greenfield Development', 'amanda@greenfielddev.com', '(512) 555-0606', ARRAY['Land','Multifamily'], ARRAY['Austin, TX','Dallas, TX','Denver, CO','Phoenix, AZ'], 1000000, 20000000, NULL, NULL, 'Development sites, entitled land, value-add multifamily', 'active', 54, NOW() - INTERVAL '14 days', NOW() - INTERVAL '120 days', NOW() - INTERVAL '10 days'), ('20000000-0000-0000-0000-000000000007', '00000000-0000-0000-0000-000000000002', NULL, 'Michael Chang', 'Horizon Capital', 'michael@horizoncap.com', '(312) 555-0707', ARRAY['Office','Industrial'], ARRAY['Chicago, IL','Minneapolis, MN'], 8000000, 40000000, 6.0, 8.5, 'Stabilized assets, long-term hold', 'unresponsive', 23, NOW() - INTERVAL '30 days', NOW() - INTERVAL '180 days', NOW() - INTERVAL '30 days'), ('20000000-0000-0000-0000-000000000008', '00000000-0000-0000-0000-000000000002', NULL, 'Lisa Nguyen', 'Evergreen REIT', 'lisa@evergreenreit.com', '(206) 555-0808', ARRAY['Multifamily','Office','Retail'], ARRAY['Nationwide'], 20000000, 200000000, 4.5, 7.0, 'Core and core-plus, ESG-focused', 'active', 71, NOW() - INTERVAL '5 days', NOW() - INTERVAL '60 days', NOW() - INTERVAL '3 days'); -- ============================================ -- MATCHES (8 matches from mock data) -- ============================================ INSERT INTO matches (id, lead_id, buyer_id, match_score, status, created_at, updated_at) VALUES ('30000000-0000-0000-0000-000000000001', '10000000-0000-0000-0000-000000000001', '20000000-0000-0000-0000-000000000001', 94.50, 'sent', NOW() - INTERVAL '2 days', NOW() - INTERVAL '1 day'), ('30000000-0000-0000-0000-000000000002', '10000000-0000-0000-0000-000000000002', '20000000-0000-0000-0000-000000000002', 91.20, 'interested', NOW() - INTERVAL '5 days', NOW() - INTERVAL '2 days'), ('30000000-0000-0000-0000-000000000003', '10000000-0000-0000-0000-000000000002', '20000000-0000-0000-0000-000000000005', 88.70, 'sent', NOW() - INTERVAL '5 days', NOW() - INTERVAL '3 days'), ('30000000-0000-0000-0000-000000000004', '10000000-0000-0000-0000-000000000003', '20000000-0000-0000-0000-000000000003', 96.10, 'interested', NOW() - INTERVAL '10 days', NOW() - INTERVAL '5 days'), ('30000000-0000-0000-0000-000000000005', '10000000-0000-0000-0000-000000000004', '20000000-0000-0000-0000-000000000004', 87.30, 'pending', NOW() - INTERVAL '1 day', NOW() - INTERVAL '1 day'), ('30000000-0000-0000-0000-000000000006', '10000000-0000-0000-0000-000000000005', '20000000-0000-0000-0000-000000000001', 72.80, 'pending', NOW() - INTERVAL '7 days', NOW() - INTERVAL '7 days'), ('30000000-0000-0000-0000-000000000007', '10000000-0000-0000-0000-000000000006', '20000000-0000-0000-0000-000000000005', 82.40, 'sent', NOW() - INTERVAL '3 days', NOW() - INTERVAL '2 days'), ('30000000-0000-0000-0000-000000000008', '10000000-0000-0000-0000-000000000001', '20000000-0000-0000-0000-000000000008', 68.50, 'pending', NOW() - INTERVAL '2 days', NOW() - INTERVAL '2 days'); -- ============================================ -- OUTREACH (6 outreach records from mock data) -- ============================================ INSERT INTO outreach (id, match_id, channel, subject, body, status, sent_at, opened_at, clicked_at, replied_at, created_at) VALUES ('40000000-0000-0000-0000-000000000001', '30000000-0000-0000-0000-000000000001', 'email', 'New Office Opportunity — New York, NY', 'Hi Marcus, I have a new Class A office opportunity...', 'opened', NOW() - INTERVAL '2 days', NOW() - INTERVAL '36 hours', NULL, NULL, NOW() - INTERVAL '2 days'), ('40000000-0000-0000-0000-000000000002', '30000000-0000-0000-0000-000000000002', 'email', 'New Multifamily Opportunity — Miami, FL', 'Hi Sarah, luxury waterfront multifamily hitting the market...', 'replied', NOW() - INTERVAL '5 days', NOW() - INTERVAL '108 hours', NULL, NOW() - INTERVAL '4 days', NOW() - INTERVAL '5 days'), ('40000000-0000-0000-0000-000000000003', '30000000-0000-0000-0000-000000000002', 'sms', NULL, 'Sarah, new 156-unit multifamily in Miami: $28M, 5.1% cap. Reply YES for details.', 'delivered', NOW() - INTERVAL '5 days', NULL, NULL, NULL, NOW() - INTERVAL '5 days'), ('40000000-0000-0000-0000-000000000004', '30000000-0000-0000-0000-000000000004', 'email', 'New Industrial Opportunity — Dallas, TX', 'Hi David, modern distribution warehouse...', 'replied', NOW() - INTERVAL '10 days', NOW() - INTERVAL '9 days', NOW() - INTERVAL '9 days', NOW() - INTERVAL '8 days', NOW() - INTERVAL '10 days'), ('40000000-0000-0000-0000-000000000005', '30000000-0000-0000-0000-000000000003', 'email', 'New Multifamily Opportunity — Miami, FL', 'Hi Robert, luxury waterfront opportunity matching your criteria...', 'sent', NOW() - INTERVAL '3 days', NULL, NULL, NULL, NOW() - INTERVAL '3 days'), ('40000000-0000-0000-0000-000000000006', '30000000-0000-0000-0000-000000000007', 'email', 'New Hospitality Opportunity — Miami, FL', 'Hi Robert, boutique beachfront hotel...', 'opened', NOW() - INTERVAL '3 days', NOW() - INTERVAL '2 days', NULL, NULL, NOW() - INTERVAL '3 days'); -- ============================================ -- NDAs (3 NDA records) -- ============================================ INSERT INTO ndas (id, buyer_id, lead_id, signer_name, signer_email, signer_company, signed_at, ip_address) VALUES ('50000000-0000-0000-0000-000000000001', '20000000-0000-0000-0000-000000000003', '10000000-0000-0000-0000-000000000003', 'David Rodriguez', 'david@lonestarinv.com', 'Lone Star Investments', NOW() - INTERVAL '8 days', '192.168.1.100'), ('50000000-0000-0000-0000-000000000002', '20000000-0000-0000-0000-000000000005', '10000000-0000-0000-0000-000000000002', 'Robert Thompson', 'robert@thompsonfamily.com', 'Thompson Family Office', NOW() - INTERVAL '4 days', '192.168.1.101'), ('50000000-0000-0000-0000-000000000003', '20000000-0000-0000-0000-000000000001', '10000000-0000-0000-0000-000000000001', 'Marcus Williams', 'marcus@blackstonecap.com', 'Blackstone Capital Partners', NOW() - INTERVAL '1 day', '192.168.1.102'); -- ============================================ -- SUBSCRIPTIONS (1 active subscription for the agent) -- ============================================ INSERT INTO subscriptions (id, user_id, stripe_customer_id, stripe_subscription_id, status, plan, current_period_start, current_period_end, cancel_at_period_end) VALUES ('60000000-0000-0000-0000-000000000001', '00000000-0000-0000-0000-000000000002', 'cus_demo_001', 'sub_demo_001', 'active', 'pro', NOW() - INTERVAL '15 days', NOW() + INTERVAL '15 days', false); -- ============================================ -- PROMO CODES -- ============================================ INSERT INTO promo_codes (code, discount_percent, max_uses, current_uses, expires_at, active) VALUES ('LAUNCH50', 50, 100, 12, NOW() + INTERVAL '90 days', true), ('DEMO100', 100, 5, 0, NOW() + INTERVAL '30 days', true);