A suggestion I have is to add support for temporary items. A good use of this would be magazines. It wouldn't work to assign a barcode to each issue of a magazine, but rather assign a group of barcodes as temporary barcodes. When one of the temporary barcodes is scanned in the circulation screen, the system could prompt the user to type in the name of the temporary item.
What do you think?