The ClaimableTools component (/atg/commerce/claimable/ClaimableTools) provides two pieces of functionality:

The first use of the ClaimableTools component is simply to create and claim any type of claimable item. When claiming items, it can obtain any super-type of type claimable since they all share the same common base type of claimable. Additionally, it takes the item-descriptor type as an argument and then creates and adds the claimable item to the repository.

The ClaimableTools.caseInsensitiveClaimableIds property determines whether coupon IDs are case-sensitive or not. Having case-sensitive IDs allows for more possible errors when entering coupon codes. Therefore, the ClaimableTools component can return multiple items for a given claimable. The component attempts to match the case, but if there is no match, selects the next best match and logs a debug message.

The second use of the ClaimableTools component is to provide configurable values for the various properties of claimable items. For example, if someone changes the name of a field in the XML file, you can reflect that change in the code by adjusting the property values of the ClaimableTools component.