import 'dotenv/config'
import { PrismaClient } from '@prisma/client'
import { PrismaPg } from '@prisma/adapter-pg'

const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter })

async function main() {
  console.log('🌱 Seeding future date operations (2026-03-04 to 2026-03-08)...\n')

  // Look up existing bookings
  const bookings = await prisma.booking.findMany({
    where: { bookingNo: { in: ['BKG-0006','BKG-0007','BKG-0008','BKG-0009','BKG-0010','BKG-0011','BKG-0012','BKG-0013','BKG-0014','BKG-0015'] } },
    include: { query: { select: { leadName: true, leadPhone: true } } },
  })
  const bk: Record<string, { id: string; leadName: string }> = {}
  for (const b of bookings) bk[b.bookingNo] = { id: b.id, leadName: b.query?.leadName || '' }

  // Look up drivers
  const drivers = await prisma.driver.findMany({
    select: { id: true, name: true, phone: true, vehicle: { select: { registrationNo: true, vehicleType: true } }, supplier: { select: { name: true, phone: true, contactPerson: true } } },
  })
  const dv: Record<string, any> = {}
  for (const d of drivers) dv[d.name] = d

  const ahmed   = dv['Ahmed Al Rashid']
  const mohammed = dv['Mohammed Saeed']
  const khalid  = dv['Khalid Noor']
  const rashid  = dv['Rashid Abdullah']
  const made    = dv['Made Wayan']
  const ketut   = dv['Ketut Dharma']

  // Helper
  const op = (
    bookingNo: string, date: string,
    type: string, startTime: string, endTime: string,
    from: string, to: string,
    driver: any, vehicleNo: string, vehicleType: string,
    adults: number, children: number,
    selling: number, cost1: number,
    status: string,
    childAges?: string, agentName?: string, country?: string,
  ) => ({
    bookingId: bk[bookingNo].id,
    guestName: bk[bookingNo].leadName,
    date: new Date(date),
    operationType: type,
    title: `${from} → ${to}`,
    startTime, endTime,
    fromLocation: from, toLocation: to,
    driverId: driver.id, driverName: driver.name, driverPhone: driver.phone,
    vehicleNo, vehicleType,
    paxCount: adults + children,
    adultCount: adults, childCount: children,
    childAges: childAges || null,
    supplierName: driver.supplier?.name || null,
    supplierPhone: driver.supplier?.phone || null,
    supplier2Name: driver.supplier?.contactPerson || null,
    sellingPrice: selling, costPrice1: cost1,
    agentName: agentName || null,
    country: country || null,
    status,
  })

  const ops = [

    // ══════════════════════════════════════════════════════════════
    // 2026-03-04
    // ══════════════════════════════════════════════════════════════

    // BKG-0006 David Garcia (Dubai Day 4)
    op('BKG-0006','2026-03-04','TRANSFER','08:00','08:30','Jumeirah Royal Hotel','Dubai Frame',ahmed,'DXB-A-11234','SEDAN',4,0,60,30,'SCHEDULED',undefined,'Sara','Spain'),
    op('BKG-0006','2026-03-04','ACTIVITY','09:00','11:00','Dubai Frame','Dubai Frame Observation Deck',ahmed,'DXB-A-11234','SEDAN',4,0,180,80,'SCHEDULED',undefined,'Sara','Spain'),
    op('BKG-0006','2026-03-04','TRANSFER','11:30','12:00','Dubai Frame','Dubai Mall',ahmed,'DXB-A-11234','SEDAN',4,0,60,30,'SCHEDULED',undefined,'Sara','Spain'),
    op('BKG-0006','2026-03-04','TRANSFER','16:00','16:30','Dubai Mall','Jumeirah Royal Hotel',ahmed,'DXB-A-11234','SEDAN',4,0,60,30,'SCHEDULED',undefined,'Sara','Spain'),

    // BKG-0007 Lisa Anderson (Dubai Day 3)
    op('BKG-0007','2026-03-04','TRANSFER','09:00','09:30','Marina Bay Suites','La Mer Beach',mohammed,'DXB-B-55678','SUV',2,0,80,40,'SCHEDULED',undefined,'Riddhi','USA'),
    op('BKG-0007','2026-03-04','TRANSFER','13:00','13:30','La Mer Beach','JBR Walk',mohammed,'DXB-B-55678','SUV',2,0,70,35,'SCHEDULED',undefined,'Riddhi','USA'),
    op('BKG-0007','2026-03-04','TRANSFER','18:00','18:30','JBR Walk','Marina Bay Suites',mohammed,'DXB-B-55678','SUV',2,0,70,35,'SCHEDULED',undefined,'Riddhi','USA'),

    // BKG-0008 James Wilson (Dubai Day 2, 2 adults 2 children)
    op('BKG-0008','2026-03-04','TRANSFER','08:30','09:00','Marina Bay Suites','Dubai Museum',ahmed,'DXB-A-11234','SEDAN',2,2,100,50,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-04','ACTIVITY','09:30','12:00','Dubai Museum','Dubai Museum',ahmed,'DXB-A-11234','SEDAN',2,2,200,90,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-04','TRANSFER','12:30','13:00','Dubai Museum','Gold Souk Deira',ahmed,'DXB-A-11234','SEDAN',2,2,80,40,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-04','TRANSFER','15:00','15:30','Gold Souk Deira','Desert Safari Meeting Point',mohammed,'DXB-B-55678','SUV',2,2,120,60,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-04','ACTIVITY','16:00','21:00','Desert Safari Camp','Desert Safari Camp',mohammed,'DXB-B-55678','SUV',2,2,350,150,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-04','TRANSFER','21:30','22:30','Desert Safari Camp','Marina Bay Suites',mohammed,'DXB-B-55678','SUV',2,2,120,60,'SCHEDULED','6,9','Sara','UK'),

    // BKG-0009 Sarah Kim (Abu Dhabi Day 3 - last day, checkout)
    op('BKG-0009','2026-03-04','TRANSFER','07:00','07:30','Saadiyat Beach Resort','Louvre Abu Dhabi',khalid,'AUH-C-22345','VAN',2,0,80,40,'SCHEDULED',undefined,'Hasim','Korea'),
    op('BKG-0009','2026-03-04','ACTIVITY','08:00','12:00','Louvre Abu Dhabi','Louvre Abu Dhabi',khalid,'AUH-C-22345','VAN',2,0,160,70,'SCHEDULED',undefined,'Hasim','Korea'),
    op('BKG-0009','2026-03-04','TRANSFER','14:00','15:30','Saadiyat Beach Resort','AUH Airport',khalid,'AUH-C-22345','VAN',2,0,150,70,'SCHEDULED',undefined,'Hasim','Korea'),

    // BKG-0010 Michael Brown (Abu Dhabi Day 4, 6 adults 3 children)
    op('BKG-0010','2026-03-04','TRANSFER','09:00','09:30','Emirates Palace View','Yas Island',rashid,'AUH-D-33456','MINIBUS',6,3,250,100,'SCHEDULED','5,7,10','Riddhi','USA'),
    op('BKG-0010','2026-03-04','ACTIVITY','10:00','14:00','Yas Island','Ferrari World Abu Dhabi',rashid,'AUH-D-33456','MINIBUS',6,3,900,400,'SCHEDULED','5,7,10','Riddhi','USA'),
    op('BKG-0010','2026-03-04','TRANSFER','14:30','15:00','Ferrari World Abu Dhabi','Warner Bros. World',rashid,'AUH-D-33456','MINIBUS',6,3,100,50,'SCHEDULED','5,7,10','Riddhi','USA'),
    op('BKG-0010','2026-03-04','TRANSFER','18:00','18:30','Yas Island','Emirates Palace View',rashid,'AUH-D-33456','MINIBUS',6,3,250,100,'SCHEDULED','5,7,10','Riddhi','USA'),

    // BKG-0011 Emily Chen (Bali Day 4)
    op('BKG-0011','2026-03-04','TRANSFER','08:00','09:00','Ubud Jungle Resort','Ubud Monkey Forest',ketut,'BA-5678-ZZ','VAN',2,0,100,45,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-04','TRANSFER','11:00','12:00','Ubud Monkey Forest','Ubud Organic Farm',ketut,'BA-5678-ZZ','VAN',2,0,80,35,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-04','TRANSFER','14:00','15:00','Ubud Organic Farm','Campuhan Ridge Walk',ketut,'BA-5678-ZZ','VAN',2,0,80,35,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-04','TRANSFER','17:00','18:00','Campuhan Ridge Walk','Ubud Jungle Resort',ketut,'BA-5678-ZZ','VAN',2,0,80,35,'SCHEDULED',undefined,'Sara','China'),

    // BKG-0012 Tom Harris (Bali Day 3)
    op('BKG-0012','2026-03-04','TRANSFER','07:30','09:00','Seminyak Beach Hotel','Tegallalang Rice Terraces',ketut,'BA-5678-ZZ','VAN',3,0,160,70,'SCHEDULED',undefined,'Hasim','UK'),
    op('BKG-0012','2026-03-04','TRANSFER','12:00','13:30','Tegallalang Rice Terraces','Kintamani Volcano Viewpoint',made,'BA-1234-XY','SEDAN',3,0,140,60,'SCHEDULED',undefined,'Hasim','UK'),
    op('BKG-0012','2026-03-04','TRANSFER','16:30','18:00','Kintamani Volcano Viewpoint','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',3,0,160,70,'SCHEDULED',undefined,'Hasim','UK'),

    // BKG-0013 Aisha Khoury (Dubai Day 2)
    op('BKG-0013','2026-03-04','TRANSFER','09:30','10:00','Jumeirah Royal Hotel','Dubai Creek',ahmed,'DXB-A-11234','SEDAN',2,0,70,35,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-04','ACTIVITY','10:30','12:30','Dubai Creek','Abra Boat Ride & Spice Souk',ahmed,'DXB-A-11234','SEDAN',2,0,120,50,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-04','TRANSFER','14:00','14:30','Dubai Creek','Dubai Frame',ahmed,'DXB-A-11234','SEDAN',2,0,70,35,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-04','TRANSFER','17:00','17:30','Dubai Frame','Jumeirah Royal Hotel',ahmed,'DXB-A-11234','SEDAN',2,0,70,35,'SCHEDULED',undefined,'Riddhi','Lebanon'),

    // BKG-0014 Hans Mueller (Day 4 - Transfer Dubai→Abu Dhabi, 3 adults 1 child)
    op('BKG-0014','2026-03-04','TRANSFER','09:00','11:00','Marina Bay Suites','Emirates Palace View Abu Dhabi',rashid,'AUH-D-33456','MINIBUS',3,1,400,180,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-04','TRANSFER','15:00','15:30','Emirates Palace View','Louvre Abu Dhabi',rashid,'AUH-D-33456','MINIBUS',3,1,100,45,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-04','ACTIVITY','16:00','19:00','Louvre Abu Dhabi','Louvre Abu Dhabi',rashid,'AUH-D-33456','MINIBUS',3,1,400,170,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-04','TRANSFER','19:30','20:00','Louvre Abu Dhabi','Emirates Palace View',rashid,'AUH-D-33456','MINIBUS',3,1,100,45,'SCHEDULED','8','Sara','Germany'),

    // BKG-0015 Yuki Tanaka (Bali Day 2)
    op('BKG-0015','2026-03-04','TRANSFER','08:00','09:00','Seminyak Beach Hotel','Ubud Monkey Forest',made,'BA-1234-XY','SEDAN',2,0,160,70,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-04','TRANSFER','12:00','12:30','Ubud Monkey Forest','Ubud Palace',made,'BA-1234-XY','SEDAN',2,0,60,28,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-04','TRANSFER','16:00','17:00','Ubud Palace','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',2,0,160,70,'SCHEDULED',undefined,'Riddhi','Japan'),

    // ══════════════════════════════════════════════════════════════
    // 2026-03-05
    // ══════════════════════════════════════════════════════════════

    // BKG-0006 David Garcia (Dubai Day 5 - checkout)
    op('BKG-0006','2026-03-05','TRANSFER','09:00','09:30','Jumeirah Royal Hotel','Marina Walk',ahmed,'DXB-A-11234','SEDAN',4,0,80,40,'SCHEDULED',undefined,'Sara','Spain'),
    op('BKG-0006','2026-03-05','TRANSFER','12:00','12:30','Marina Walk','Jumeirah Royal Hotel',ahmed,'DXB-A-11234','SEDAN',4,0,80,40,'SCHEDULED',undefined,'Sara','Spain'),
    op('BKG-0006','2026-03-05','TRANSFER','15:00','16:00','Jumeirah Royal Hotel','DXB Terminal 3',ahmed,'DXB-A-11234','SEDAN',4,0,150,70,'SCHEDULED',undefined,'Sara','Spain'),

    // BKG-0007 Lisa Anderson (Dubai Day 4)
    op('BKG-0007','2026-03-05','TRANSFER','10:00','10:30','Marina Bay Suites','Global Village',mohammed,'DXB-B-55678','SUV',2,0,120,55,'SCHEDULED',undefined,'Riddhi','USA'),
    op('BKG-0007','2026-03-05','TRANSFER','15:00','15:30','Global Village','Marina Bay Suites',mohammed,'DXB-B-55678','SUV',2,0,120,55,'SCHEDULED',undefined,'Riddhi','USA'),
    op('BKG-0007','2026-03-05','ACTIVITY','19:00','23:00','Dubai Marina','Dinner Cruise Dubai Marina',mohammed,'DXB-B-55678','SUV',2,0,280,120,'SCHEDULED',undefined,'Riddhi','USA'),

    // BKG-0008 James Wilson (Dubai Day 3, family)
    op('BKG-0008','2026-03-05','TRANSFER','09:00','09:30','Marina Bay Suites','Miracle Garden',ahmed,'DXB-A-11234','SEDAN',2,2,120,55,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-05','TRANSFER','12:00','12:30','Miracle Garden','Spice Souk',ahmed,'DXB-A-11234','SEDAN',2,2,100,45,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-05','TRANSFER','15:00','15:30','Spice Souk','Marina Bay Suites',ahmed,'DXB-A-11234','SEDAN',2,2,100,45,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-05','ACTIVITY','19:30','22:00','Dubai Marina','Dhow Cruise Dinner',mohammed,'DXB-B-55678','SUV',2,2,320,140,'SCHEDULED','6,9','Sara','UK'),

    // BKG-0010 Michael Brown (Abu Dhabi Day 5 - checkout, 6+3)
    op('BKG-0010','2026-03-05','TRANSFER','08:00','08:30','Emirates Palace View','Corniche Beach',rashid,'AUH-D-33456','MINIBUS',6,3,200,90,'SCHEDULED','5,7,10','Riddhi','USA'),
    op('BKG-0010','2026-03-05','TRANSFER','12:00','12:30','Corniche Beach','Emirates Palace View',rashid,'AUH-D-33456','MINIBUS',6,3,200,90,'SCHEDULED','5,7,10','Riddhi','USA'),
    op('BKG-0010','2026-03-05','TRANSFER','14:00','15:00','Emirates Palace View','AUH Airport',rashid,'AUH-D-33456','MINIBUS',6,3,350,150,'SCHEDULED','5,7,10','Riddhi','USA'),

    // BKG-0011 Emily Chen (Bali Day 5)
    op('BKG-0011','2026-03-05','TRANSFER','07:00','09:00','Ubud Jungle Resort','Tanah Lot Temple',ketut,'BA-5678-ZZ','VAN',2,0,200,90,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-05','ACTIVITY','09:30','11:00','Tanah Lot Temple','Tanah Lot Sunset Viewpoint',ketut,'BA-5678-ZZ','VAN',2,0,80,35,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-05','TRANSFER','14:00','16:30','Tanah Lot Temple','Uluwatu Temple',ketut,'BA-5678-ZZ','VAN',2,0,220,95,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-05','TRANSFER','19:00','20:30','Uluwatu Temple','Ubud Jungle Resort',ketut,'BA-5678-ZZ','VAN',2,0,200,90,'SCHEDULED',undefined,'Sara','China'),

    // BKG-0012 Tom Harris (Bali Day 4)
    op('BKG-0012','2026-03-05','TRANSFER','08:00','09:00','Seminyak Beach Hotel','Sanur Beach',made,'BA-1234-XY','SEDAN',3,0,140,65,'SCHEDULED',undefined,'Hasim','UK'),
    op('BKG-0012','2026-03-05','TRANSFER','12:00','13:00','Sanur Beach','Nusa Dua Snorkeling Point',made,'BA-1234-XY','SEDAN',3,0,130,60,'SCHEDULED',undefined,'Hasim','UK'),
    op('BKG-0012','2026-03-05','TRANSFER','16:00','17:00','Nusa Dua','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',3,0,140,65,'SCHEDULED',undefined,'Hasim','UK'),

    // BKG-0013 Aisha Khoury (Dubai Day 3)
    op('BKG-0013','2026-03-05','TRANSFER','09:00','09:30','Jumeirah Royal Hotel','Palm Jumeirah Beach',ahmed,'DXB-A-11234','SEDAN',2,0,90,40,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-05','TRANSFER','13:00','13:30','Palm Jumeirah Beach','JBR Walk',ahmed,'DXB-A-11234','SEDAN',2,0,70,32,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-05','TRANSFER','17:00','17:30','JBR Walk','Jumeirah Royal Hotel',ahmed,'DXB-A-11234','SEDAN',2,0,70,32,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-05','ACTIVITY','20:00','23:00','Dubai Marina','Dinner Cruise',mohammed,'DXB-B-55678','SUV',2,0,240,105,'SCHEDULED',undefined,'Riddhi','Lebanon'),

    // BKG-0014 Hans Mueller (Abu Dhabi Day 5 - 3 adults 1 child)
    op('BKG-0014','2026-03-05','TRANSFER','09:00','09:30','Emirates Palace View','Yas Island',rashid,'AUH-D-33456','MINIBUS',3,1,150,65,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-05','ACTIVITY','10:00','14:00','Yas Island','Ferrari World Abu Dhabi',rashid,'AUH-D-33456','MINIBUS',3,1,600,250,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-05','TRANSFER','14:30','15:00','Ferrari World','Warner Bros. World',rashid,'AUH-D-33456','MINIBUS',3,1,80,35,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-05','TRANSFER','18:30','19:00','Yas Island','Emirates Palace View',rashid,'AUH-D-33456','MINIBUS',3,1,150,65,'SCHEDULED','8','Sara','Germany'),

    // BKG-0015 Yuki Tanaka (Bali Day 3)
    op('BKG-0015','2026-03-05','TRANSFER','07:30','09:30','Seminyak Beach Hotel','Besakih Mother Temple',made,'BA-1234-XY','SEDAN',2,0,240,105,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-05','TRANSFER','13:00','14:30','Besakih Temple','Tegallalang Rice Terraces',made,'BA-1234-XY','SEDAN',2,0,130,58,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-05','TRANSFER','17:00','18:00','Tegallalang','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',2,0,160,70,'SCHEDULED',undefined,'Riddhi','Japan'),

    // ══════════════════════════════════════════════════════════════
    // 2026-03-06
    // ══════════════════════════════════════════════════════════════

    // BKG-0007 Lisa Anderson (Dubai Day 5 - checkout)
    op('BKG-0007','2026-03-06','TRANSFER','09:00','09:30','Marina Bay Suites','Burj Al Arab Viewpoint',mohammed,'DXB-B-55678','SUV',2,0,100,45,'SCHEDULED',undefined,'Riddhi','USA'),
    op('BKG-0007','2026-03-06','TRANSFER','11:00','11:30','Burj Al Arab','Jumeirah Mosque',mohammed,'DXB-B-55678','SUV',2,0,80,36,'SCHEDULED',undefined,'Riddhi','USA'),
    op('BKG-0007','2026-03-06','TRANSFER','14:00','15:00','Marina Bay Suites','DXB Terminal 1',mohammed,'DXB-B-55678','SUV',2,0,150,65,'SCHEDULED',undefined,'Riddhi','USA'),

    // BKG-0008 James Wilson (Dubai Day 4 - checkout, family)
    op('BKG-0008','2026-03-06','TRANSFER','09:00','09:30','Marina Bay Suites','Dubai Aquarium',ahmed,'DXB-A-11234','SEDAN',2,2,100,45,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-06','ACTIVITY','09:30','12:00','Dubai Aquarium','Dubai Aquarium & Underwater Zoo',ahmed,'DXB-A-11234','SEDAN',2,2,320,140,'SCHEDULED','6,9','Sara','UK'),
    op('BKG-0008','2026-03-06','TRANSFER','14:00','15:00','Marina Bay Suites','DXB Terminal 3',ahmed,'DXB-A-11234','SEDAN',2,2,150,65,'SCHEDULED','6,9','Sara','UK'),

    // BKG-0011 Emily Chen (Bali Day 6)
    op('BKG-0011','2026-03-06','TRANSFER','09:00','10:30','Ubud Jungle Resort','Jimbaran Fish Market',ketut,'BA-5678-ZZ','VAN',2,0,200,90,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-06','ACTIVITY','11:00','14:00','Jimbaran','Balinese Cooking Class',ketut,'BA-5678-ZZ','VAN',2,0,180,80,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-06','TRANSFER','18:00','19:00','Ubud Jungle Resort','Jimbaran Seafood Beach',ketut,'BA-5678-ZZ','VAN',2,0,200,90,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-06','TRANSFER','22:00','23:00','Jimbaran Seafood Beach','Ubud Jungle Resort',ketut,'BA-5678-ZZ','VAN',2,0,200,90,'SCHEDULED',undefined,'Sara','China'),

    // BKG-0012 Tom Harris (Bali Day 5 - checkout)
    op('BKG-0012','2026-03-06','TRANSFER','09:00','10:30','Seminyak Beach Hotel','Uluwatu Temple',made,'BA-1234-XY','SEDAN',3,0,160,70,'SCHEDULED',undefined,'Hasim','UK'),
    op('BKG-0012','2026-03-06','TRANSFER','13:00','14:00','Uluwatu Temple','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',3,0,160,70,'SCHEDULED',undefined,'Hasim','UK'),
    op('BKG-0012','2026-03-06','TRANSFER','16:00','17:30','Seminyak Beach Hotel','DPS Airport',made,'BA-1234-XY','SEDAN',3,0,200,90,'SCHEDULED',undefined,'Hasim','UK'),

    // BKG-0013 Aisha Khoury (Dubai Day 4 - checkout)
    op('BKG-0013','2026-03-06','TRANSFER','10:00','10:30','Jumeirah Royal Hotel','Dubai Mall',ahmed,'DXB-A-11234','SEDAN',2,0,80,36,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-06','TRANSFER','13:00','13:30','Dubai Mall','Jumeirah Royal Hotel',ahmed,'DXB-A-11234','SEDAN',2,0,80,36,'SCHEDULED',undefined,'Riddhi','Lebanon'),
    op('BKG-0013','2026-03-06','TRANSFER','16:00','17:00','Jumeirah Royal Hotel','DXB Terminal 1',ahmed,'DXB-A-11234','SEDAN',2,0,140,60,'SCHEDULED',undefined,'Riddhi','Lebanon'),

    // BKG-0014 Hans Mueller (Abu Dhabi Day 6 - checkout)
    op('BKG-0014','2026-03-06','TRANSFER','08:00','08:30','Emirates Palace View','Mangrove National Park',rashid,'AUH-D-33456','MINIBUS',3,1,120,55,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-06','ACTIVITY','09:00','11:30','Mangrove National Park','Kayaking Tour',rashid,'AUH-D-33456','MINIBUS',3,1,280,120,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-06','TRANSFER','13:00','14:30','Emirates Palace View','AUH Airport',rashid,'AUH-D-33456','MINIBUS',3,1,300,130,'SCHEDULED','8','Sara','Germany'),

    // BKG-0015 Yuki Tanaka (Bali Day 4)
    op('BKG-0015','2026-03-06','TRANSFER','17:00','18:30','Seminyak Beach Hotel','Uluwatu Temple',made,'BA-1234-XY','SEDAN',2,0,160,70,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-06','ACTIVITY','19:00','21:00','Uluwatu Temple','Kecak Fire Dance Show',made,'BA-1234-XY','SEDAN',2,0,120,52,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-06','TRANSFER','21:30','22:30','Uluwatu Temple','Jimbaran Seafood Dinner',made,'BA-1234-XY','SEDAN',2,0,100,44,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-06','TRANSFER','23:30','00:30','Jimbaran','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',2,0,130,58,'SCHEDULED',undefined,'Riddhi','Japan'),

    // ══════════════════════════════════════════════════════════════
    // 2026-03-07
    // ══════════════════════════════════════════════════════════════

    // BKG-0011 Emily Chen (Bali Day 7 - checkout)
    op('BKG-0011','2026-03-07','TRANSFER','08:00','09:00','Ubud Jungle Resort','Tegallalang Rice Terraces',ketut,'BA-5678-ZZ','VAN',2,0,160,70,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-07','TRANSFER','11:00','12:00','Tegallalang','Ubud Jungle Resort',ketut,'BA-5678-ZZ','VAN',2,0,160,70,'SCHEDULED',undefined,'Sara','China'),
    op('BKG-0011','2026-03-07','TRANSFER','14:00','16:00','Ubud Jungle Resort','DPS Airport',ketut,'BA-5678-ZZ','VAN',2,0,200,90,'SCHEDULED',undefined,'Sara','China'),

    // BKG-0015 Yuki Tanaka (Bali Day 5 - checkout)
    op('BKG-0015','2026-03-07','TRANSFER','08:30','10:00','Seminyak Beach Hotel','Tanah Lot Temple',made,'BA-1234-XY','SEDAN',2,0,140,62,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-07','TRANSFER','12:00','12:30','Tanah Lot','Seminyak Beach Hotel',made,'BA-1234-XY','SEDAN',2,0,140,62,'SCHEDULED',undefined,'Riddhi','Japan'),
    op('BKG-0015','2026-03-07','TRANSFER','15:00','16:30','Seminyak Beach Hotel','DPS Airport',made,'BA-1234-XY','SEDAN',2,0,200,88,'SCHEDULED',undefined,'Riddhi','Japan'),

    // ══════════════════════════════════════════════════════════════
    // 2026-03-08 — New arrivals (use BKG-0001, BKG-0002 as stand-ins, or add fresh ops)
    // ══════════════════════════════════════════════════════════════

    // Using BKG-0011 which ends on 2026-03-08 (Emily Chen still active)
    // Plus add some generic ops for variety using bookings with wide date ranges
    op('BKG-0014','2026-03-07','TRANSFER','10:00','11:00','Abu Dhabi City Hotel','Sheikh Zayed Grand Mosque',rashid,'AUH-D-33456','MINIBUS',3,1,150,65,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-07','ACTIVITY','11:30','13:30','Sheikh Zayed Grand Mosque','Guided Tour',rashid,'AUH-D-33456','MINIBUS',3,1,240,105,'SCHEDULED','8','Sara','Germany'),
    op('BKG-0014','2026-03-07','TRANSFER','16:00','17:00','Abu Dhabi','AUH Airport',rashid,'AUH-D-33456','MINIBUS',3,1,300,130,'SCHEDULED','8','Sara','Germany'),
  ]

  let count = 0
  for (const o of ops) {
    await prisma.dailyOperation.create({ data: o as any })
    count++
  }

  // Print summary by date
  const byDate: Record<string, number> = {}
  for (const o of ops) {
    const d = (o.date as Date).toISOString().slice(0,10)
    byDate[d] = (byDate[d] || 0) + 1
  }
  console.log('\n✅ Created', count, 'future operations:')
  for (const [d, n] of Object.entries(byDate).sort()) {
    console.log(`   ${d}: ${n} ops`)
  }

  await prisma.$disconnect()
}

main().catch((e) => { console.error(e); process.exit(1) })
