import type { ServiceArea } from '@prisma/client';

/** Workers seeded across Luzon, Visayas, and Mindanao for nationwide browse demos. */
export type NationalWorkerSeed = {
  firstName: string;
  lastName: string;
  email: string;
  phone: string;
  headline: string;
  bio?: string;
  skills: string[];
  experienceYears: number;
  hourlyRate: number;
  serviceAreas: ServiceArea[];
};

export type NationalJobSeed = {
  customerEmail: string;
  categorySlug: string;
  title: string;
  description: string;
  location: string;
  latitude: number;
  longitude: number;
  budget: number;
  daysUntilNeeded?: number;
};

export const nationalCustomers = [
  { email: 'luzon.customer@example.com', phone: '+639185555551', firstName: 'Patricia', lastName: 'Lim' },
  { email: 'visayas.customer@example.com', phone: '+639185555552', firstName: 'Ramon', lastName: 'Navarro' },
  { email: 'ncr.customer@example.com', phone: '+639185555553', firstName: 'Christine', lastName: 'Tan' },
  { email: 'cebu.customer@example.com', phone: '+639185555554', firstName: 'Allan', lastName: 'Go' },
];

export const nationalWorkers: NationalWorkerSeed[] = [
  // —— Luzon / NCR ——
  {
    firstName: 'Daniel',
    lastName: 'Cruz',
    email: 'daniel.ncr.plumber@worker.com',
    phone: '+639180000001',
    headline: 'Licensed Plumber — Metro Manila',
    bio: 'Residential and condo plumbing across NCR. Leaks, installations, and bathroom renovations.',
    skills: ['plumber'],
    experienceYears: 11,
    hourlyRate: 450,
    serviceAreas: ['MANILA', 'QUEZON_CITY', 'MAKATI'],
  },
  {
    firstName: 'Michelle',
    lastName: 'Santos',
    email: 'michelle.ncr.cleaner@worker.com',
    phone: '+639180000002',
    headline: 'Home & Office Cleaning — NCR',
    bio: 'Deep cleaning, move-in/move-out, and recurring housekeeping in Metro Manila.',
    skills: ['cleaner'],
    experienceYears: 6,
    hourlyRate: 280,
    serviceAreas: ['PASIG', 'TAGUIG', 'MANDALUYONG'],
  },
  {
    firstName: 'Jerome',
    lastName: 'Aquino',
    email: 'jerome.ncr.electrician@worker.com',
    phone: '+639180000003',
    headline: 'Residential Electrician — Manila & QC',
    skills: ['electrician'],
    experienceYears: 9,
    hourlyRate: 500,
    serviceAreas: ['MANILA', 'QUEZON_CITY', 'CALOOCAN'],
  },
  {
    firstName: 'Bianca',
    lastName: 'Reyes',
    email: 'bianca.ncr.massage@worker.com',
    phone: '+639180000004',
    headline: 'Home-Service Massage Therapist — Makati & BGC',
    skills: ['massage'],
    experienceYears: 5,
    hourlyRate: 600,
    serviceAreas: ['MAKATI', 'TAGUIG', 'PASIG'],
  },
  // CAR
  {
    firstName: 'Marco',
    lastName: 'Benguet',
    email: 'marco.baguio.carpenter@worker.com',
    phone: '+639180000005',
    headline: 'Carpenter — Baguio & La Trinidad',
    skills: ['carpenter'],
    experienceYears: 14,
    hourlyRate: 380,
    serviceAreas: ['BAGUIO', 'LA_TRINIDAD'],
  },
  // Ilocos
  {
    firstName: 'Eduardo',
    lastName: 'Ilocano',
    email: 'eduardo.laoag.mason@worker.com',
    phone: '+639180000006',
    headline: 'Mason & Tile Setter — Ilocos Norte',
    skills: ['mason', 'tile-setter'],
    experienceYears: 16,
    hourlyRate: 350,
    serviceAreas: ['LAOAG', 'VIGAN'],
  },
  {
    firstName: 'Lorna',
    lastName: 'Pangasinan',
    email: 'lorna.dagupan.driver@worker.com',
    phone: '+639180000007',
    headline: 'Private Driver & Errand Runner — Dagupan',
    skills: ['driver', 'errand-runner'],
    experienceYears: 8,
    hourlyRate: 320,
    serviceAreas: ['DAGUPAN', 'SAN_FERNANDO_LA_UNION'],
  },
  // Cagayan Valley
  {
    firstName: 'Ricardo',
    lastName: 'Ballesteros',
    email: 'ricardo.tuguegarao.handyman@worker.com',
    phone: '+639180000008',
    headline: 'Handyman — Tuguegarao & Cauayan',
    skills: ['handyman'],
    experienceYears: 7,
    hourlyRate: 300,
    serviceAreas: ['TUGUEGARAO', 'CAUAYAN'],
  },
  // Central Luzon
  {
    firstName: 'Angelica',
    lastName: 'Pampanga',
    email: 'angelica.angeles.aircon@worker.com',
    phone: '+639180000009',
    headline: 'Aircon Technician — Angeles & Olongapo',
    skills: ['aircon-technician'],
    experienceYears: 10,
    hourlyRate: 480,
    serviceAreas: ['ANGELES', 'OLONGAPO', 'SAN_FERNANDO_PAMPANGA'],
  },
  {
    firstName: 'Fernando',
    lastName: 'Bulacan',
    email: 'fernando.malolos.painter@worker.com',
    phone: '+639180000010',
    headline: 'House Painter — Central Luzon',
    skills: ['painter'],
    experienceYears: 12,
    hourlyRate: 290,
    serviceAreas: ['MALOLOS', 'CABANATUAN'],
  },
  // CALABARZON
  {
    firstName: 'Jasmine',
    lastName: 'Laguna',
    email: 'jasmine.calamba.cook@worker.com',
    phone: '+639180000011',
    headline: 'Private Cook — Laguna & Batangas',
    skills: ['cook'],
    experienceYears: 9,
    hourlyRate: 400,
    serviceAreas: ['CALAMBA', 'LIPA', 'BATANGAS_CITY'],
  },
  {
    firstName: 'Paolo',
    lastName: 'Rizal',
    email: 'paolo.antipolo.electrician@worker.com',
    phone: '+639180000012',
    headline: 'Electrician — Antipolo & Lucena',
    skills: ['electrician'],
    experienceYears: 11,
    hourlyRate: 420,
    serviceAreas: ['ANTIPOLO', 'LUCENA', 'TAGAYTAY'],
  },
  // MIMAROPA
  {
    firstName: 'Leo',
    lastName: 'Palawan',
    email: 'leo.puerto.gardener@worker.com',
    phone: '+639180000013',
    headline: 'Landscaper — Puerto Princesa',
    skills: ['gardener'],
    experienceYears: 6,
    hourlyRate: 270,
    serviceAreas: ['PUERTO_PRINCESA', 'CALAPAN'],
  },
  // Bicol
  {
    firstName: 'Cynthia',
    lastName: 'Bicol',
    email: 'cynthia.legazpi.cleaner@worker.com',
    phone: '+639180000014',
    headline: 'Cleaning Specialist — Legazpi & Naga',
    skills: ['cleaner'],
    experienceYears: 5,
    hourlyRate: 260,
    serviceAreas: ['LEGAZPI', 'NAGA', 'SORSOGON'],
  },
  {
    firstName: 'Nestor',
    lastName: 'Albay',
    email: 'nestor.iriga.mechanic@worker.com',
    phone: '+639180000015',
    headline: 'Auto & Motorcycle Mechanic — Bicol',
    skills: ['mechanic'],
    experienceYears: 13,
    hourlyRate: 380,
    serviceAreas: ['IRIGA', 'NAGA'],
  },

  // —— Visayas ——
  {
    firstName: 'Harold',
    lastName: 'Iloilo',
    email: 'harold.iloilo.carpenter@worker.com',
    phone: '+639180000016',
    headline: 'Master Carpenter — Iloilo City',
    bio: 'Custom furniture, kitchen cabinets, and wood repairs across Iloilo and Roxas.',
    skills: ['carpenter'],
    experienceYears: 15,
    hourlyRate: 360,
    serviceAreas: ['ILOILO_CITY', 'ROXAS_CITY'],
  },
  {
    firstName: 'Gina',
    lastName: 'Bacolod',
    email: 'gina.bacolod.laundry@worker.com',
    phone: '+639180000017',
    headline: 'Laundry & Ironing — Bacolod',
    skills: ['laundry'],
    experienceYears: 4,
    hourlyRate: 220,
    serviceAreas: ['BACOLOD', 'KALIBO'],
  },
  {
    firstName: 'Christian',
    lastName: 'Cebu',
    email: 'christian.cebu.electrician@worker.com',
    phone: '+639180000018',
    headline: 'Licensed Electrician — Cebu Metro',
    bio: 'Wiring, panel upgrades, and lighting for homes and small businesses in Cebu, Mandaue, and Lapu-Lapu.',
    skills: ['electrician'],
    experienceYears: 12,
    hourlyRate: 440,
    serviceAreas: ['CEBU_CITY', 'MANDAUE', 'LAPU_LAPU'],
  },
  {
    firstName: 'Marites',
    lastName: 'Visayas',
    email: 'marites.cebu.massage@worker.com',
    phone: '+639180000019',
    headline: 'Massage Therapist — Cebu & Bohol',
    skills: ['massage'],
    experienceYears: 7,
    hourlyRate: 550,
    serviceAreas: ['CEBU_CITY', 'TAGBILARAN'],
  },
  {
    firstName: 'Ryan',
    lastName: 'Dumaguete',
    email: 'ryan.dumaguete.plumber@worker.com',
    phone: '+639180000020',
    headline: 'Plumber — Dumaguete & Negros',
    skills: ['plumber'],
    experienceYears: 9,
    hourlyRate: 340,
    serviceAreas: ['DUMAGUETE', 'BACOLOD'],
  },
  {
    firstName: 'Shirley',
    lastName: 'Tacloban',
    email: 'shirley.tacloban.handyman@worker.com',
    phone: '+639180000021',
    headline: 'Handyman — Tacloban & Ormoc',
    skills: ['handyman'],
    experienceYears: 8,
    hourlyRate: 310,
    serviceAreas: ['TACLOBAN', 'ORMOC'],
  },
  {
    firstName: 'Albert',
    lastName: 'Samar',
    email: 'albert.calbayog.roofer@worker.com',
    phone: '+639180000022',
    headline: 'Roofer — Eastern Visayas',
    skills: ['roofer'],
    experienceYears: 11,
    hourlyRate: 370,
    serviceAreas: ['CALBAYOG', 'CATBALOGAN'],
  },

  // —— Mindanao (additional spread) ——
  {
    firstName: 'Amira',
    lastName: 'Zamboanga',
    email: 'amira.zamboanga.tailor@worker.com',
    phone: '+639180000023',
    headline: 'Tailor & Alterations — Zamboanga Peninsula',
    skills: ['tailor'],
    experienceYears: 10,
    hourlyRate: 250,
    serviceAreas: ['ZAMBOANGA_CITY', 'PAGADIAN'],
  },
  {
    firstName: 'Domingo',
    lastName: 'CDO',
    email: 'domingo.cdo.welder@worker.com',
    phone: '+639180000024',
    headline: 'Welder & Fabricator — Cagayan de Oro',
    skills: ['welder'],
    experienceYears: 14,
    hourlyRate: 400,
    serviceAreas: ['CAGAYAN_DE_ORO', 'MALAYBALAY'],
  },
  {
    firstName: 'Fatima',
    lastName: 'Marawi',
    email: 'fatima.marawi.babysitter@worker.com',
    phone: '+639180000025',
    headline: 'Babysitter & Tutor — Lanao & Cotabato',
    skills: ['babysitter', 'tutor'],
    experienceYears: 5,
    hourlyRate: 200,
    serviceAreas: ['MARAWI', 'COTABATO_CITY', 'ILIGAN_CITY'],
  },
  {
    firstName: 'Gregorio',
    lastName: 'Surigao',
    email: 'gregorio.surigao.mover@worker.com',
    phone: '+639180000026',
    headline: 'Mover & Hauling — Caraga',
    skills: ['mover'],
    experienceYears: 6,
    hourlyRate: 350,
    serviceAreas: ['SURIGAO_CITY', 'BUTUAN', 'BISLIG'],
  },
];

export const nationalJobs: NationalJobSeed[] = [
  // NCR
  {
    customerEmail: 'ncr.customer@example.com',
    categorySlug: 'plumber',
    title: 'Condo Kitchen Sink Installation',
    description: 'Need plumber to install new kitchen sink and connect dishwasher lines in condo unit.',
    location: 'BGC, Taguig',
    latitude: 14.5176,
    longitude: 121.0509,
    budget: 4500,
    daysUntilNeeded: 5,
  },
  {
    customerEmail: 'ncr.customer@example.com',
    categorySlug: 'electrician',
    title: 'Circuit Breaker Upgrade',
    description: 'Old breaker keeps tripping. Need licensed electrician to assess and upgrade panel.',
    location: 'Quezon City',
    latitude: 14.676,
    longitude: 121.0437,
    budget: 8000,
    daysUntilNeeded: 3,
  },
  {
    customerEmail: 'ncr.customer@example.com',
    categorySlug: 'cleaner',
    title: 'Move-Out Deep Cleaning',
    description: '3-bedroom apartment needs thorough cleaning before turnover. Include windows and balcony.',
    location: 'Makati',
    latitude: 14.5547,
    longitude: 121.0244,
    budget: 3500,
    daysUntilNeeded: 7,
  },
  {
    customerEmail: 'customer@example.com',
    categorySlug: 'massage',
    title: 'Home Massage — After Work',
    description: 'Looking for licensed massage therapist for Swedish massage at home, 90 minutes.',
    location: 'Ortigas, Pasig',
    latitude: 14.5764,
    longitude: 121.0851,
    budget: 1500,
    daysUntilNeeded: 2,
  },
  {
    customerEmail: 'ncr.customer@example.com',
    categorySlug: 'aircon-technician',
    title: 'Split-Type Aircon Cleaning',
    description: 'Two wall-mounted units need general cleaning and coolant check before summer.',
    location: 'Manila',
    latitude: 14.5995,
    longitude: 120.9842,
    budget: 2500,
    daysUntilNeeded: 10,
  },
  // Luzon regions
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'carpenter',
    title: 'Custom Bedroom Closet',
    description: 'Built-in closet for master bedroom. Prefer local hardwood if possible.',
    location: 'Session Road, Baguio',
    latitude: 16.4023,
    longitude: 120.596,
    budget: 18000,
    daysUntilNeeded: 14,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'mason',
    title: 'Driveway Concrete Repaving',
    description: 'Cracked driveway needs removal and new concrete pour, roughly 30 sqm.',
    location: 'Laoag',
    latitude: 18.198,
    longitude: 120.5937,
    budget: 22000,
    daysUntilNeeded: 21,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'handyman',
    title: 'Fence Repair & Gate Fix',
    description: 'Metal fence rusted in sections, gate latch broken. Need welding and repaint.',
    location: 'Tuguegarao',
    latitude: 17.6132,
    longitude: 121.727,
    budget: 6000,
    daysUntilNeeded: 8,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'aircon-technician',
    title: 'Commercial Aircon Not Cooling',
    description: 'Restaurant AC unit blowing warm air. Urgent repair needed before weekend rush.',
    location: 'Angeles',
    latitude: 15.145,
    longitude: 120.5847,
    budget: 5500,
    daysUntilNeeded: 1,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'painter',
    title: 'Exterior House Repaint',
    description: 'Two-storey house exterior needs pressure wash and full repaint. Materials provided.',
    location: 'Malolos',
    latitude: 14.8436,
    longitude: 120.8114,
    budget: 35000,
    daysUntilNeeded: 30,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'cook',
    title: 'Weekly Meal Prep Service',
    description: 'Need private cook for weekly meal prep — lunch and dinner for family of 4.',
    location: 'Calamba',
    latitude: 14.2117,
    longitude: 121.1652,
    budget: 4000,
    daysUntilNeeded: 4,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'electrician',
    title: 'Solar Panel Wiring Check',
    description: 'Recently installed solar needs proper grounding and inverter wiring inspection.',
    location: 'Antipolo',
    latitude: 14.6255,
    longitude: 121.1245,
    budget: 3500,
    daysUntilNeeded: 6,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'gardener',
    title: 'Garden Landscaping',
    description: 'Small resort-style garden design and planting for beachfront property.',
    location: 'Puerto Princesa',
    latitude: 9.7392,
    longitude: 118.7353,
    budget: 25000,
    daysUntilNeeded: 20,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'cleaner',
    title: 'Post-Construction Cleanup',
    description: 'New build needs dust removal, window cleaning, and floor polishing.',
    location: 'Legazpi',
    latitude: 13.1391,
    longitude: 123.7438,
    budget: 5000,
    daysUntilNeeded: 5,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'mechanic',
    title: 'Car AC Compressor Replacement',
    description: 'Toyota Vios AC not cold. Suspect compressor issue — need diagnosis and repair.',
    location: 'Naga',
    latitude: 13.6218,
    longitude: 123.1948,
    budget: 12000,
    daysUntilNeeded: 4,
  },
  {
    customerEmail: 'luzon.customer@example.com',
    categorySlug: 'driver',
    title: 'Airport Pickup & City Errands',
    description: 'Full-day driver needed for Clark airport pickup and multiple errands in Pampanga.',
    location: 'San Fernando (Pampanga)',
    latitude: 15.0319,
    longitude: 120.6892,
    budget: 2000,
    daysUntilNeeded: 3,
  },

  // Visayas
  {
    customerEmail: 'cebu.customer@example.com',
    categorySlug: 'carpenter',
    title: 'Restaurant Bar Counter Build',
    description: 'Custom bar counter and shelving for small café. Modern minimalist design.',
    location: 'Iloilo City',
    latitude: 10.7202,
    longitude: 122.5621,
    budget: 28000,
    daysUntilNeeded: 18,
  },
  {
    customerEmail: 'visayas.customer@example.com',
    categorySlug: 'laundry',
    title: 'Bulk Laundry & Ironing',
    description: 'Hotel linens pickup — 3 sacks wash, dry, fold, and press. Weekly arrangement possible.',
    location: 'Bacolod',
    latitude: 10.6766,
    longitude: 122.9509,
    budget: 1800,
    daysUntilNeeded: 2,
  },
  {
    customerEmail: 'cebu.customer@example.com',
    categorySlug: 'electrician',
    title: 'Office Rewiring',
    description: 'Small office space needs additional outlets and LED lighting installation.',
    location: 'Cebu City',
    latitude: 10.3157,
    longitude: 123.8854,
    budget: 15000,
    daysUntilNeeded: 10,
  },
  {
    customerEmail: 'cebu.customer@example.com',
    categorySlug: 'plumber',
    title: 'Bathroom Renovation Plumbing',
    description: 'Complete bathroom gut — new pipes, toilet, and shower installation.',
    location: 'Mandaue',
    latitude: 10.3234,
    longitude: 123.9223,
    budget: 20000,
    daysUntilNeeded: 14,
  },
  {
    customerEmail: 'visayas.customer@example.com',
    categorySlug: 'massage',
    title: 'Couples Home Massage',
    description: 'Two therapists for couples massage at home, 60 minutes each.',
    location: 'Lapu-Lapu',
    latitude: 10.3103,
    longitude: 123.9494,
    budget: 2500,
    daysUntilNeeded: 1,
  },
  {
    customerEmail: 'visayas.customer@example.com',
    categorySlug: 'handyman',
    title: 'Door & Window Repairs',
    description: 'Several jammed windows and a broken sliding door need fixing after typhoon.',
    location: 'Tacloban',
    latitude: 11.2514,
    longitude: 125.0,
    budget: 4500,
    daysUntilNeeded: 7,
  },
  {
    customerEmail: 'cebu.customer@example.com',
    categorySlug: 'roofer',
    title: 'Roof Leak Repair',
    description: 'Metal roof leaking near chimney area during heavy rain. Need waterproofing.',
    location: 'Ormoc',
    latitude: 11.0067,
    longitude: 124.6075,
    budget: 8000,
    daysUntilNeeded: 5,
  },
  {
    customerEmail: 'visayas.customer@example.com',
    categorySlug: 'plumber',
    title: 'Water Heater Installation',
    description: 'Install new tankless water heater in second-floor bathroom.',
    location: 'Dumaguete',
    latitude: 9.3068,
    longitude: 123.3054,
    budget: 5500,
    daysUntilNeeded: 6,
  },
  {
    customerEmail: 'cebu.customer@example.com',
    categorySlug: 'painter',
    title: 'Interior Condo Repaint',
    description: 'Studio unit needs full interior paint — walls and ceiling, neutral tones.',
    location: 'Tagbilaran',
    latitude: 9.6729,
    longitude: 123.873,
    budget: 7000,
    daysUntilNeeded: 9,
  },

  // Mindanao (additional alongside existing Davao-heavy jobs)
  {
    customerEmail: 'customer@example.com',
    categorySlug: 'tailor',
    title: 'Barong Alterations',
    description: 'Three barongs need resizing before wedding event next week.',
    location: 'Zamboanga City',
    latitude: 6.9214,
    longitude: 122.079,
    budget: 1500,
    daysUntilNeeded: 6,
  },
  {
    customerEmail: 'maria@example.com',
    categorySlug: 'welder',
    title: 'Steel Gate Fabrication',
    description: 'Custom sliding steel gate for driveway, powder-coated finish preferred.',
    location: 'Cagayan de Oro',
    latitude: 8.4542,
    longitude: 124.6319,
    budget: 32000,
    daysUntilNeeded: 21,
  },
  {
    customerEmail: 'ana@example.com',
    categorySlug: 'babysitter',
    title: 'Weekend Childcare',
    description: 'Need reliable babysitter Saturdays 8am–4pm for two kids ages 4 and 7.',
    location: 'Cotabato City',
    latitude: 7.2042,
    longitude: 124.2472,
    budget: 1200,
    daysUntilNeeded: 5,
  },
  {
    customerEmail: 'jose@example.com',
    categorySlug: 'mover',
    title: 'Apartment Moving Help',
    description: 'Moving 2BR apartment contents to new unit. Truck provided, need 2 strong movers.',
    location: 'Surigao City',
    latitude: 9.7853,
    longitude: 125.4888,
    budget: 3500,
    daysUntilNeeded: 4,
  },
  {
    customerEmail: 'customer@example.com',
    categorySlug: 'pest-control',
    title: 'Termite Treatment',
    description: 'Wooden staircase and kitchen cabinets show termite damage. Need inspection and treatment.',
    location: 'Iligan City',
    latitude: 8.228,
    longitude: 124.2452,
    budget: 6500,
    daysUntilNeeded: 8,
  },
  {
    customerEmail: 'maria@example.com',
    categorySlug: 'tile-setter',
    title: 'Bathroom Tile Replacement',
    description: 'Remove old cracked tiles and install new ceramic floor and wall tiles.',
    location: 'Valencia City',
    latitude: 7.9064,
    longitude: 125.0942,
    budget: 14000,
    daysUntilNeeded: 12,
  },
];
