public CustomerReceipt(Garage garage, DataAccessStrategy db, int arrivalTime, CustomerReceiptOutputStrategy outputType, HourlyParkingFeeStrategy hourlyParkingFeeStrategy)
    {
        this.garageName = garage.getGarageName();
        this.garageAddress = garage.getGarageAddress();
        this.outputType = outputType;
        this.vehicleId = db.processIncomingVehicle(arrivalTime);   
        DataObject vehicleObject = null;
        try 
        {
            vehicleObject = db.getVehicleDataObject(vehicleId);
        } 
        catch (VehicleOutOfBoundsException ex) 
        {
            Logger.getLogger(CustomerReceipt.class.getName()).log(Level.SEVERE, null, ex);
        }
        this.arrivalTime = vehicleObject.getArrivalTime();
        this.hourlyParkingFeeStrategy = hourlyParkingFeeStrategy;
    }