[Spike] Delivery requests: support request preferences of user
Description
Environment
Potential Workaround
Attachments
has to be done before
relates to
Checklist
hideTestRail: Results
Activity

Andrii Paias September 9, 2019 at 1:15 PM
Confluence page with spike results:
https://folio-org.atlassian.net/wiki/display/FOLIJET/Spike%3A+CIRC-436+-+Delivery+requests%3A+support+request+preferences+of+user

Marc Johnson September 2, 2019 at 1:09 PM
My understanding was that requests are common thing but right now a patron can only take an item from shelf ("hold shelf" type of requests).
They likely are quite common.
I didn't know that requests could be excluded from system. Since you're saying that they could, I agree it's better to keep request preferences away from User record and store them somewhere next to requests.
In the UI this could be done by excluding UI requests which would mean there was no UI for creating or managing requests (it is harder to do in the backend, because it is part of circulation at the moment).
So what would you suggest as a storage for user request preferences?
I'm not necessarily suggesting anything. I haven't been involved in the work, so I don't necessarily understand the context. I wanted to understand what design process had happened to come to the decision.

Dima Tkachenko September 2, 2019 at 12:58 PMEdited
My understanding was that requests are common thing but right now a patron can only take an item from shelf ("hold shelf" type of requests).
I didn't know that requests could be excluded from system. Since you're saying that they could, I agree it's better to keep request preferences away from User record and store them somewhere next to requests.
So what would you suggest as a storage for user request preferences?

Marc Johnson September 2, 2019 at 12:18 PM
You suggest to store it in mod-circulation?
I'm not making any suggestions at this point. I'm asking for an understanding of how the decision has been made?

Dima Tkachenko September 2, 2019 at 12:10 PM
You suggest to store it in mod-circulation?
Details
Assignee
Andrii PaiasAndrii Paias(Deactivated)Reporter
Dima TkachenkoDima TkachenkoLabels
Priority
P2Story Points
5Sprint
NoneDevelopment Team
SpitfireFix versions
TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee

Reporter

According to , User data has to be extended to include Request Preferences data:
Following fields has to be supported:
"holdShelf"
– boolean, is always "true";"delivery"
– boolean, "false" by default;"defaultServicePointId"
– UUID of service point or empty (if not set);"defaultDeliveryAddressTypeId"
– UUID of user's address type selected as default in case of Delivery, can be empty;"fulfillment"
– user's fulfillment type, one of two options: "Delivery", "Hold shelf". Default: "Hold shelf"Since the above data belong to request processing logic, it's proposed to store it next to other request related stuff in mod-circulation/mod-circulation-storage.
The goal of the spike is to define the necessary steps to introduce Request Preferences per User in mod-circulation. The outcomes include but not limited to the following:
how and where to store the data
what API has to be provided to make the data available to UI module(s)
what are the base components to implement
POC (optional)