--- /dev/null
+Barcode Completion
+==================
+
+indexterm:[Barcode Completion,Lazy Circ]
+
+The Barcode Completion feature gives users the ability to only enter the
+unique part of patron and item barcodes. This can significantly reduce the
+amount of typing required for manual barcode input. This feature was also
+known as *Lazy Circ* at one point.
+
+This feature can also be used if there is a difference between what the
+barcode scanner outputs and what is stored in the database, as long as the
+barcode that is stored has more characters then what the scanner is
+outputting. Barcode Completion is additive only, you cannot use it match a
+stored barcode that has less characters than what is entered. For example, if
+your barcode scanners previously output *a123123b* and now exclude the prefix
+and suffix, you could match both formats using Barcode Completion rules.
+
+Because this feature adds an extra database search for each enabled rule to
+the process of looking up a barcode, it can add extra delays to the check-out
+process. Please test in your environment before using in production.
+
+*Released:* 2.2 - June 2012
+
+Scoping and Permissions
+~~~~~~~~~~~~~~~~~~~~~~~
+
+*Local Administrator* permission is needed to access the admin interface of the
+Barcode Completion feature.
+
+Each rule requires an owner org unit, which is how scoping of the rules is
+handled. Rules are applied for staff users with the same org unit or
+descendants of that org unit.
+
+
+Access Points
+~~~~~~~~~~~~~
+
+The admin interface for Barcode Completion is located under *Admin*
+-> *Local Administration* -> *Barcode Completion*.
+
+image::media/lsa-barcode_completion_admin.png[Barcode Completion Admin]
+
+The barcode completion functionality is available at the following interfaces.
+
+.For Actors (Users) Barcodes
+ * Lookup Patron by Barcode/Check Out.
+ * Optionally during check out if library setting "Load patron from Checkout"
+is set. (Automatically detects if an actor/user barcode is scanned during
+check out, and starts a new check out session using that user.)
+ * OPAC's Staff Client Place Hold.
+
+.For Assets (Copy) Barcodes
+ * Check Out.
+ * Check In.
+ * Item Status / Search for copies by Barcode / Show Item Status by Barcode.
+
+NOTE: Barcode Completion does not work in the
+ *Search for Patron [by Name]* interface.
+
+image::media/lsa-barcode_completion_accesspoints.png[Barcode Completion Access Points]
+
+Multiple Matches
+~~~~~~~~~~~~~~~~
+
+If multiple barcodes are matched, say if you have both "123" and "00000123"
+as valid barcodes, you will receive a list of all the barcodes that match all
+the rules that you have configured. It doesn't stop after the first rule
+that matches, or after the first valid barcode is found.
+
+image::media/lsa-barcode_completion_multiple.png[Barcode Completion Multiple Matches]
+
+Barcode Completion Data Fields
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following data fields can be set for each Barcode Completion rule.
+
+.Barcode Completion Fields
+|=======
+|*Active* | Check to indicate entry is active. *Required*
+|*Owner* | Setting applies to this Org Unit and to all children. *Required*
+|*Prefix* | Sequence that appears at the beginning of barcode.
+|*Suffix* | Sequence that appears at the end of barcode.
+|*Length* | Total length of barcode.
+|*Padding* | Character that pads out non-unique characters in the barcode.
+|*Padding At End* | Check if the padding starts at the end of the barcode.
+|*Applies to Items*| Check if entry applies to item barcodes.
+|*Applies to Users*| Check if entry applies to user barcodes.
+|=======
+
+
+.Length and Padding
+
+Length and Padding are related, you cannot use one without the other. If a barcode
+has to be a certain length, then it needs to be able to be padded out to that length.
+If a barcode has padding, then we need to know the max length that we need to pad out
+to. If length is set to blank or zero, or padding is left blank then they are both
+ignored.
+
+
+.Applies to Items/Users
+One or both of these options must be checked for the rule to have any effect.
+
+image::media/lsa-barcode_completion_fields.png[Barcode Completion Data Fields]
+
+Create, Update, Filter, Delete/Disable Rules
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+image::media/lsa-barcode_completion_admin.png[Barcode Completion Admin]
+
+In the Barcode Completion admin interface at *Admin* -> *Local Administration*
+-> *Barcode Completion* you can create, update and disable rules.
+
+Create Rules
+^^^^^^^^^^^^
+To create a new rule click on the *New* button in the upper right corner.
+When you are are done with editing the new rule click the *Save* button. If
+you want to cancel the new rule creation click the *Cancel* button.
+
+Update Rules
+^^^^^^^^^^^^
+To edit a rule double click on the rule in the main list.
+
+Filter Rules
+^^^^^^^^^^^^
+It may be useful to filter the rules list if there are a large number of
+rules. Click on the *filter* link to bring up the *Filter Results* dialog
+box. You can filter on any of the data fields and you can setup multiple
+filter rules. Click *Apply* to enable the filter rules, only the rows that match
+will now be displayed.
+
+To clear out the filter rules, delete all of the filter rules by clicking the
+*X* next to each rule, and then click *Apply*.
+
+Delete/Disable Rules
+^^^^^^^^^^^^^^^^^^^^
+It isn't possible to delete a rule from the database from the admin interface.
+If a rule is no longer needed set *Active* to "False" to disable it. To keep
+the number of rules down, reuse inactive rules when creating new rules.
+
+Examples
+~~~~~~~~
+
+In all these examples, the unique part of the barcode is *123*. So that is
+all that users will need to type to match the full barcode.
+
+Barcode With Prefix and Padding
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Barcode: *4545000123*
+
+To match this 10 character barcode by only typing in *123* we need the
+following settings.
+
+ * *Active* - Checked
+ * *Owner* - Set to your org unit.
+ * *Prefix* - 4545 - This is the prefix that the barcode starts with.
+ * *Length* - 10 - Total length of the barcode.
+ * *Padding* - 0 - Zeros will be used to pad out non significant parts of the barcode.
+ * *Applies to Items* and/or *Applies to Users* - Checked
+
+The system takes the *123* that you entered and adds the prefix to the beginning
+of it. Then adds zeros between the prefix and your number to pad it out to
+10 characters. Then it searches the database for that barcode.
+
+Barcode With Suffix
+^^^^^^^^^^^^^^^^^^^
+
+Barcode: *123000book*
+
+To match this 10 character barcode by only typing in *123* we need the
+following settings.
+
+ * *Active* - Checked
+ * *Owner* - Set to your org unit.
+ * *Suffix* - book - This is the suffix that the barcode ends with.
+ * *Length* - 10 - Total length of the barcode.
+ * *Padding* - 0 - Zeros will be used to pad out non significant parts of the barcode.
+ * *Padding at End* - Checked
+ * *Applies to Items* and/or *Applies to Users* - Checked
+
+The system takes the *123* that you entered and adds the suffix to the end of it.
+Then adds zeros between your number and the suffix to pad it out to 10
+characters. Then it searches the database for that barcode.
+
+Barcode With Left Padding
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Barcode: *0000000123*
+
+To match this 10 character barcode by only typing in *123* we need the
+following settings.
+
+ * *Active* - Checked
+ * *Owner* - Set to your org unit.
+ * *Length* - 10 - Total length of the barcode.
+ * *Padding* - 0 - Zeros will be used to pad out non significant parts of the barcode.
+ * *Applies to Items* and/or *Applies to Users* - Checked
+
+The system takes the *123* that you entered, then adds zeros between your
+number and the left to pad it out to 10 characters. Then it searches the
+database for that barcode.
+
+Barcode With Right Padding
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Barcode: *1230000000*
+
+To match this 10 character barcode by only typing in *123* we need the
+following settings.
+
+ * *Active* - Checked
+ * *Owner* - Set to your org unit.
+ * *Length* - 10 - Total length of the barcode.
+ * *Padding* - 0 - Zeros will be used to pad out non significant parts of the barcode.
+ * *Padding at End* - Checked
+ * *Applies to Items* and/or *Applies to Users* - Checked
+
+The system takes the *123* that you entered, then adds zeros between your
+number and the right to pad it out to 10 characters. Then it searches the
+database for that barcode.
+
+Barcode of any Length with Prefix and Suffix
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Barcode: *a123b*
+
+To match this 5 character barcode by only typing in *123* we need the
+following settings. This use of Barcode Completion doesn't save many
+keystrokes, but it does allow you to handle the case where your barcode
+scanners at one point were set to output a prefix and suffix which was stored
+in the database. Now your barcode scanners no longer include the prefix and suffix.
+These settings will simply add the prefix and suffix to any barcode entered and
+search for that.
+
+ * *Active* - Checked
+ * *Owner* - Set to your org unit.
+ * *Length/Padding* - 0/null - Set the length to 0 and/or leave the padding blank.
+ * *Prefix* - a - This is the prefix that the barcode starts with.
+ * *Suffix* - b - This is the suffix that the barcode starts with.
+ * *Applies to Items* and/or *Applies to Users* - Checked
+
+The system takes the *123* that you entered, then adds the prefix and suffix
+specified. Then it searches the database for that barcode. Because no length
+or padding was entered, this rule will add the prefix and suffix to any
+barcode that is entered and then search for that valid barcode.
+
+
+Testing
+~~~~~~~
+
+To test this feature, setup the rules that you want, then setup items/users
+with barcodes that should match. Then try scanning the short version of
+those barcodes in the various supported access points.