Design an Object-Oriented system for a parking lot. Classes: ParkingLot, ParkingSpot, Vehicle (Car, Truck, Bike), Ticket, Payment. Handle full capacity logic.