from app.core.database import engine, init_db
from app.models.shuttle import Shuttle
from sqlmodel import Session, select
import uuid

def seed_shuttles():
    # Ensure table exists
    init_db()
    
    shuttles_data = [
        {
            'route_name': 'Boquete > Santa Catalina',
            'origin': 'Boquete',
            'destination': 'Santa Catalina',
            'vehicle_type': 'Mini Van Compartida',
            'company_name': 'Chiriqui Transfers',
            'trip_type': 'one_way',
            'price_per_person': 35.0,
            'price_private_trip': 180.0,
            'estimated_duration': '4.5 horas',
            'departure_times': 'Todos los días 8:00 AM',
            'contact_whatsapp': '+50760000000',
            'description': 'Viaje directo desde el centro de Boquete hasta Santa Catalina. Ideal para surfistas y turistas.',
            'is_active': True
        },
        {
            'route_name': 'Boquete > Bocas del Toro',
            'origin': 'Boquete',
            'destination': 'Bocas del Toro',
            'vehicle_type': 'Mini Van + Bote',
            'company_name': 'Hello Panama Tours',
            'trip_type': 'one_way',
            'price_per_person': 30.0,
            'price_private_trip': 150.0,
            'estimated_duration': '3.5 horas',
            'departure_times': 'Diario 8:00 AM / 12:00 PM',
            'contact_whatsapp': '+50760000000',
            'description': 'Incluye transporte terrestre hasta Almirante y el bote taxi hacia Isla Colón.',
            'is_active': True
        },
        {
            'route_name': 'Boquete > Las Lajas',
            'origin': 'Boquete',
            'destination': 'Las Lajas',
            'vehicle_type': 'Vehículo Privado',
            'company_name': 'Express Boquete',
            'trip_type': 'both',
            'price_per_person': 20.0,
            'price_private_trip': 100.0,
            'estimated_duration': '2 horas',
            'departure_times': 'Bajo demanda',
            'contact_whatsapp': '+50760000000',
            'description': 'Transporte directo a la playa de Las Lajas. Regreso incluido opcional.',
            'is_active': True
        },
        {
            'route_name': 'Boquete > Puerto Armuelles',
            'origin': 'Boquete',
            'destination': 'Puerto Armuelles',
            'vehicle_type': 'Sedán Privado',
            'company_name': 'Taxi Chiriqui',
            'trip_type': 'one_way',
            'price_per_person': 25.0,
            'price_private_trip': 120.0,
            'estimated_duration': '2.5 horas',
            'departure_times': 'Bajo demanda',
            'contact_whatsapp': '+50760000000',
            'description': 'Viaje cómodo y seguro hacia el puerto y las playas del sur.',
            'is_active': True
        }
    ]
    
    with Session(engine) as session:
        for data in shuttles_data:
            statement = select(Shuttle).where(Shuttle.route_name == data['route_name'])
            existing = session.exec(statement).first()
            if not existing:
                shuttle = Shuttle(**data)
                session.add(shuttle)
        session.commit()
        print(f"✅ Inserted shuttles successfully!")

if __name__ == "__main__":
    seed_shuttles()
