Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. PUL requesting PUL item

Web Sequence Diagram

...

Code Block
title PUL -> PUL ( PUL Requesting its own item). This is not for EDD
#This is not for EDD
Alma->Alma: (Dummy)
PUL->SCSB: SCSB: RequestItem
SCSB->SCSB: Validate the request
SCSB->PUL: Success(real time)/failure

note left of PUL: If failure
PUL->Alma: Do nothing

note left of PUL: If Success
PUL->Alma: Place Hold Request for the Patron
SCSB->SCSB: Make the item in SCSB not available(real time)
SCSB->ActiveMQ: Write the message Q with Request Info
ActiveMQ->SCSB:Read the message


SCSB->RECAP: Check Item Availability in RECAP

note left of RECAP: If item is available?
SCSB->RECAP: Retrieval Item Order
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->PUL: Place the item for shipment
PUL->PUL: Staff discharge the item at destination, place on hold shelf
PUL->PUL: Patron is notified
PUL->PUL: Patron collects the item

note left of ReCAP: If item is not available in LAS?
RECAP->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB->Topic: Failure Message
SCSB->PUL: Do nothing
#No need of any further call after initial success/failure message
#Harvard also same for its own items

2. PUL requesting PUL item; Check-in Process

Web Sequence Diagram

...

Code Block
title PUL->PUL(Checkin Process)

Patron->PUL Circ Desk: Returns the Item
note left of Alma: By Circ Desk staff
PUL Circ Desk -> Alma: Discharge Item
PUL Circ Desk->RECAP: Item shipped back to RECAP for Refiling(on Truck)
RECAP->SCSB: SCSB Refile API Call
SCSB->SCSB: Refile processing
SCSB->SCSB: Change the request status to refiled, item status to available

SCSB->Alma: NCIP:CheckIn to [owning library].[owning library]_RD
#Not sure if this is the same for Harvard or not?

3. PUL requesting CUL item

...

Code Block
title PUL -> CUL (PUL Requesting CUL Item)

PUL->SCSB: SCSB Request for CUL Item
SCSB->SCSB: Check item availability

note left of SCSB: if not available in SCSB or any issues
SCSB->PUL: invalid response

note left of SCSB: if available in SCSB
SCSB->PUL:NCIP AcceptItem call
PUL->SCSB: Success Response
SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item is available
SCSB->RECAP LAS: Place Retrival Item Order into LAS Q
SCSB->CUL: SIP2 Checkout Call
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->PUL: Place the item for shipment
PUL->PUL: Staff discharge the item at destination, place on hold shelf
PUL->PUL: Patron is notified
PUL->PUL: Patron collects the item

note left of RECAP LAS: if not available
SCSB->PUL: NCIP: CheckIn call; and Email notification to PUL
#(CheckIn call is additional for PUL)

RECAP LAS->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB->Topic: Failure Message

#No Discharge call, discharge call only for Princeton owned items

4. PUL requesting CUL item; Check-in Process

Web Sequence Diagram

...

Code Block
title PUL -> CUL (PUL Requesting CUL Item, Check In Process)

Patron->PUL Circ Desk: Returns the Item
note left of Alma: By Circ Desk staff
PUL Circ Desk -> Alma: Discharge Item
PUL Circ Desk->RECAP: Item shipped back to RECAP for Refiling(on Truck)
RECAP->SCSB: SCSB Refile API Call
SCSB->Alma: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->CUL: SIP2: CheckIn
SCSB->SCSB: Change the item status to "Available"
SCSB->SCSB: re-index the item record

5. CUL requesting PUL item

Web Sequence Diagram

...

Code Block
title CUL -> PUL (CUL Requesting PUL Item)

CUL->SCSB: SCSB Request for PUL Item
SCSB->SCSB: Check item availability
note left of SCSB: if not available or any issues
SCSB->CUL: invalid response

note left of SCSB: if available in SCSB
SCSB->CUL: SIP2: CreateItem
SCSB->CUL: SIP2: Hold Request
CUL->SCSB: Success Response

SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item available
SCSB->RECAP LAS: Place Retrival Item Order into LAS Q
SCSB->PUL: NCIP: Checkout Call
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->CUL: Place the item for shipment
CUL->CUL: Staff dischange the item at destination, place on hold shelf
CUL->CUL: Patron is notified
CUL->CUL: Patron collects the item

note left of RECAP LAS: if item not available
SCSB->CUL: SIP2: Cancel Hold

RECAP LAS->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB->Topic: Failure Message

6. CUL requesting PUL item; Check-in Process

Web Sequence Diagram

...

Code Block
title CUL -> PUL (CUL Requesting PUL Item, Check In Process)

Patron->CUL Circ Desk: Returns the Item
note left of CUL: By Circ Desk staff
CUL Circ Desk -> Voyager: Discharge Item
CUL Circ Desk->RECAP: Item shipped back to RECAP for Refiling(on Truck)
RECAP->SCSB: SCSB: Refile API Call
SCSB->Voyager: SIP2:CheckIn
SCSB->Alma: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->Alma: NCIP:CheckIn to [owning library].[owning library]_RD
SCSB->SCSB: Change the item status to "Available"
SCSB->SCSB: re-index the item record

7. PUL requesting PUL item, EDD

Web Sequence Diagram

...

Code Block
title PUL -> PUL (PUL Requesting PUL Item, EDD)

PUL->SCSB: SCSB Request for PUL Item
SCSB->SCSB: Check item availability

note left of SCSB: if not available or any issues
SCSB->PUL: invalid response

note left of SCSB: if available in SCSB
SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item available
SCSB->RECAP LAS: Place EDD Order into LAS Q using REST API of LAS
RECAP LAS->SCSB: Succes /Failure

note left of RECAP LAS: if item not available
RECAP->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB->Topic: Failure Message


note left of RECAP LAS: if Success in LAS
SCSB->PUL: NCIP: Checkout Call
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->RECAP: Digitize the item
RECAP->PUL: Send an Email

# Refile/Check in process
note left of SCSB: Refile/CheckIn Process
RECAP LAS->SCSB: SCSB: Refile API
SCSB->SCSB: Change request status as refiled and item status to available
SCSB->Alma: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->Alma: NCIP:CheckIn to [owning library].[owning library]_RD
#For EDD We are making discharge for PUL's own items

8. CUL requesting PUL item, EDD

Web Sequence Diagram

...

Code Block
title CUL -> PUL (CUL Requesting PUL Item, EDD)

CUL->SCSB: SCSB Request for PUL Item
SCSB->SCSB: Check item availability
note left of SCSB: if not available or any issues
SCSB->CUL: invalid response

note left of SCSB: if available in SCSB
SCSB->CUL: Success Response

SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item available
SCSB->RECAP LAS: Place EDD Order into LAS Q
SCSB->PUL: NCIP: Checkout Call

RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->RECAP: Digitize the item
RECAP->CUL: Send an Email with scanned document

note left of RECAP LAS: if item not available
SCSB->SCSB: Changes item status back to available (discuss about this with Mike)

# Refile/Check in process
note left of SCSB: Refile/CheckIn Process
RECAP LAS->SCSB: SCSB: Refile API
SCSB->SCSB: Change request status as refiled and item status to available
SCSB->Alma: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->Alma: NCIP:CheckIn to [owning library].[owning library]_RD
#For EDD We are making discharge all PUL items for EDD

9. PUL requesting HL item

WebSequence Diagram

...

Code Block
title PUL -> HL (PUL Requesting HL Item)

PUL->SCSB: SCSB RequestItem for HL Item
SCSB->SCSB: Check item availability
note left of SCSB: if not available or any issues
SCSB->PUL: failure response

note left of SCSB: if available in SCSB
SCSB->PUL: NCIP: AcceptItem
PUL->SCSB: Success Response

SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item available
SCSB->RECAP LAS: Place Retrieval Item Order into LAS Q
SCSB->HL: NCIP: Checkout Call
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->PUL: Place the item for shipment
PUL->PUL: Staff dischange the item at destination, place on hold shelf
PUL->PUL: Patron is notified
PUL->PUL: Patron collects the item

note left of RECAP LAS: if item not available
SCSB->PUL: NCIP: CheckIn call

RECAP LAS->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB->Topic: Failure Message & Email

10. PUL requesting HL item

WebSequence Diagram

...

Code Block
title PUL -> HL (PUL Requesting HL Item, CheckIn Process)

Patron->PUL Circ Desk: Returns the Item
note left of PUL: By Circ Desk staff
PUL Circ Desk -> PUL Circ Desk : Discharge Item
PUL Circ Desk->RECAP: Item shipped back to RECAP for Refiling(on Truck)
RECAP->SCSB: SCSB: Refile API Call
SCSB->PUL: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->HL: NCIP: CheckIn
SCSB->HL: NCIP: CheckIn(Remote Storage checkin, same as HL->HL)
#No discharge required for HL, but PUL needs discharge call

SCSB->SCSB: Change the item status to "Available"
SCSB->SCSB: re-index the item record

11. NYPL requesting PUL item

WebSequence Diagram

...

Code Block
title NYPL -> PUL (NYPL Requesting PUL Item)

NYPL->SCSB: SCSB Request for PUL Item
SCSB->SCSB: Check item availability
note left of SCSB: if not available or any issues
SCSB->NYPL: invalid response

note left of SCSB: if available in SCSB
SCSB->NYPL: REST: Hold Request
NYPL->SCSB: Success Response

SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item available
SCSB->RECAP LAS: Place Retrieval Item Order into LAS Q
SCSB->PUL: NCIP: Checkout Call
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->NYPL: Place the item for shipment
NYPL->NYPL: Staff discharge the item at destination, place on hold shelf
NYPL->NYPL: Patron is notified
NYPL->NYPL: Patron collects the item

note left of RECAP LAS: if item not available
SCSB->NYPL: REST: Cancel Hold

RECAP LAS->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB-> PUL Topic: Failure Message & Email

12. NYPL requesting PUL item, Check-in Process

WebSequence Diagram

...

Code Block
title NYPL -> PUL (NYPL Requesting PUL Item, Check In Process)

Patron->NYPL Circ Desk: Returns the Item
note left of NYPL: By Circ Desk staff
#NYPL Circ Desk -> Voyager: Discharge Item
NYPL Circ Desk->RECAP: Item shipped back to RECAP for Refiling(on Truck)
RECAP->SCSB: SCSB: Refile API Call
SCSB->NYPL: REST:CheckIn
SCSB->Alma: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->Alma: NCIP:CheckIn to [owning library].[owning library]_RD
SCSB->SCSB: Change the item status to "Available"
SCSB->SCSB: re-index the item record

13. PUL requesting NYPL item

WebSequence Diagram

...

Code Block
title PUL -> NYPL (PUL Requesting NYPL Item)

PUL->SCSB: SCSB Request for NYPL Item
SCSB->SCSB: Check item availability

note left of SCSB: if not available in SCSB or any issues
SCSB->PUL: invalid response

note left of SCSB: if available in SCSB
SCSB->PUL:NCIP AcceptItem call
PUL->SCSB: Success Response
SCSB->ActiveMQ: Write the request Message to SCSB ActiveMQ
ActiveMQ->SCSB: SCSB will read the message

SCSB->RECAP LAS: Item available check at RECAP LAS

note left of RECAP LAS: if item is available
SCSB->RECAP LAS: Place Retrieval Item Order into LAS Q
SCSB->NYPL: REST Checkout Call
RECAP->RECAP: Execute the order
RECAP->RECAP: Get the item from Shelf
RECAP->PUL: Place the item for shipment
PUL->PUL: Staff discharge the item at destination, place on hold shelf
PUL->PUL: Patron is notified
PUL->PUL: Patron collects the item

note left of RECAP LAS: if not available
SCSB->PUL: NCIP: CheckIn call; and Email notification to PUL
#(CheckIn call is additional for PUL)

RECAP LAS->SCSB: Get Exception
SCSB->SCSB: Keep the status of the item as unavailable \n (Currently code is rolling back the item status to available, Need a discussion with Mike
#for the above task need wider discussion with Mike
SCSB->Topic: Failure Message

#No Discharge call, discharge call only for Princeton owned items

14. PUL requesting NYPL item, Check-in Process

WebSequence Diagram

...

Code Block
title PUL -> NYPL (PUL Requesting NYPL Item, CheckIn Process)

Patron->PUL Circ Desk: Returns the Item
note left of Alma: By Circ Desk staff
PUL Circ Desk -> Alma: Discharge Item
PUL Circ Desk->RECAP: Item shipped back to RECAP for Refiling(on Truck)
RECAP->SCSB: SCSB Refile API Call
SCSB->Alma: NCIP:CheckIn to RES_SHARE.RES_DESK
SCSB->NYPL: REST: CheckIn
SCSB->SCSB: Change the item status to "Available"
SCSB->SCSB: re-index the item record