vxws: Hold Per Item API does not include timestamp
- Article Type: General
- Product: Voyager
- Product Version: 8.2.2
Description:
Issue number: 16384-20337
Module: vxws / Hold Per Item RESTful API
Server platform affected: all
Releases replicated in: 8.1.1
Last version without bug: n/a
Expected results: If a patron places a hold request with an expiration / not needed after date that is today’s date, the hold will expire at the end of today.
Actual results: If a patron places a hold request with an expiration / not needed after date that is today’s date, the Hold Per Item API does not submit a time with the date, and the expiration is recorded as [today’s date] 00:00:00 in the Voyager database.
Workflow implications: Patron hold requests expire immediately. Also, expiration is shortened by a day for dates in the future.
Replication steps:
Using the Hold Per Item RESTful API and PUT, fill in the <bracketed> information with valid data and submit the following URL to the Voyager server:
http://<IP>:<port>/vxws/record/<bib_id>/items/<item_id>/hold?patron=<patron_id>&patron_homedb=1@<db_key>
along with this XML (filling in the {bracketed} information with valid data)
<?xml version="1.0" encoding="UTF-8"?>
<hold-request-parameters>
<pickup-location>{valid pickup location id}</pickup-location>
<last-interest-date>{today’s date in YYYYMMDD format}</last-interest-date>
<comment>testing hold request</comment>
<dbkey>1@{db_key}</dbkey>
</hold-request-parameters>
Voyager should respond with XML indicating the request is successful.
Check the hold request in the database. The example patron’s patron_id=435.
SQL> alter session set nls_date_format='YYYY-MM-DD hh24:mi:ss';
Session altered.
SQL> select * from hold_recall where patron_id=435;
HOLD_RECALL_ID PATRON_ID H PICKUP_LOCATION EXPIRE_DATE AVAILABLE_NOTICE_COUNT AVAILABLE_NOTICE_DA CREATE_DATE
-------------- ---------- - --------------- ------------------- ---------------------- ------------------- -------------------
CREATE_OPI CREATE_LOCATION_ID BIB_ID R REQUEST_ITEM_COUNT REQUEST_GROUP_ID
---------- ------------------ ---------- - ------------------ ----------------
PATRON_COMMENT PATRON_GROUP_ID CALL_SLIP_ID
---------------------------------------------------------------------------------------------------- --------------- ------------
HOLDING_DB_ID MODIFY_OPI MODIFY_DATE MODIFY_LOCATION_ID
------------- ---------- ------------------- ------------------
316 435 H 12 2012-11-14 00:00:00 0 2012-11-14 08:56:59
OPAC 8 7950 C 1 0
testing hold request 2 0
Note the create_date is today at 8:56 a.m. and the expire date is today at 12:00 a.m.
Workaround: None on the backend. Patrons will have to choose the tomorrow's date to create a hold request that expires at the end of today.
Resolution:
Fixed in Voyager 8.2.2.
- Article last edited: 3/16/2015