...
Patron Validation Context:
Agenda:
...
1.Patron Allowed to Borrow
...
* '*Patron Allowed to Borrow' is an Agenda,which is a collection of rules in a defined plan.
Category: Patron -
Category 'Patron' is used to help organize related term 'Patron'
Term: Patron -
The Term 'Patron' is used to input to the rule system.
Term Function: patronBorrowerLimit(String patronBarcode, boolean isOverridden)
Normal Mode: (isOverridden == false)
1. validatePatronBarcodeStatus(String patronBarcode) -
This method exposes patron barcode status.
2. checkMembershipExpirationDate(String patronBarcode) -
This method exposes Patron expiration date.
3. isPartonBlocked(String patronBarcode) -
This method exposes patron block status
4. getBorrowerType(String patronBarcode) -
This method exposes Borrower Type (eg. Student or Faculty).
5. getNumOfItemsOnLoan(String patronBarcode) -
This method exposes Number of Items on Loan from each Item Type and/or Item Location, Item Type and/or Item Location are retrieved from patronBarcode.
6. getFeeBalance(String patronBarcode) -
This method exposes Fee Balance from each Item Type and/or Item Location, Item Type and/or Item Location are retrieved from patronBarcode.
7. getNumOfOverdueItems(String patronBarcode) -
This method exposes Number of Overdue items from each Item Type and/or Item Location, Item Type and/or Item Location are retrieved from patronBarcode.
8. checkBorrowerLimitation(String patronBarcode) -
For borrower limits, this method will indicate whether the patron is over their borrower limit and what limits the patron has exceeded.
Override Mode: (isOverridden == true)
...
- Item Available for Loan
- Determine Loan Period
1) .Item Available for Loan
'Item Available for Loan*'* is an Agenda,which is a collection of rules in a defined plan.
Category: ItemAndLoanPeriod -
Category 'ItemAndLoanPeriod' is used to help organize related term 'Item'
Term: Item -
The Term 'Item' is used to input to the rule system.
Term Function: IsItemAvailable(String itemId, boolean isOverridden)
Normal Mode: (isOverridden == false)
1. getItemEffectiveInstitution(String itemId)
2. getItemEffectiveCampus(String itemId)
3. getItemEffectiveLibrary(String itemId)
4. getItemEffectiveShelvingLocation(String itemId)
5. getItemEffectiveCollection(String itemId)
6. getItemType(String itemId) -
This method exposes Item Type from docstore using itemId.
7. checkItemAvailabilityStatus(String ItemId) -
This method checks whether the item has an active recall request,
the item is on loan to another patron,
the item is on hold for another patron,
the item is in transit to fill a request for another patron,
the item would fill a request for another patron,
the item is lost,the item is withdrawn and the item is missing.
Override Mode: (isOverridden == true)
Need list of validation for override mode.
2) . Determine Loan Period
'*Determine Loan Period' * is an Agenda,which is a collection of rules in a defined plan.
Category: ItemAndLoanPeriod -
Category 'ItemAndLoanPeriod' is used to help organize related term 'Item'
Term: Patron and Item -
The Term 'Patron and Item' is used to input to the rule system.
Term Function: checkLoanPeriod(String itemId,String patronBarcode, boolean isOverridden)
Normal Mode: (isOverridden == false)
1. calculateDueDate(String itemId,String patronBarcode) -
This method checks whether the patron can borrow the item using the Agenda 'Item Available for Loan', and if so, either how long or specifically what the due date it.
2. determineFineRate(String itemId,String patronBarcode) -
For overdue fines, this method will return a fine rate, including the fine period.
Override Mode: (isOverridden == true)
...