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()