<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Fri Feb 09 00:29:47 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[UXPROD-3157] Check in - add permission control for backdating check ins</title>
                <link>https://folio-org.atlassian.net/browse/UXPROD-3157</link>
                <project id="10000" key="UXPROD">UX Product</project>
                    <description>&lt;p&gt;&lt;b&gt;Current situation or problem&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;FOLIO provides some loans permissions (view loans, renew loans, change due date, check out, overrides, etc.) based on existing endpoints. There are two needed permissions for loans / checkin that do not have associated endpoints:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Backdate check ins (as opposed to the current check in permission, which allows all users with that permission to backdate check ins)&lt;/li&gt;
	&lt;li&gt;check in claimed returned items (as opposed to the current check in permission, which allows all users with that permission to check in claimed returned items)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Early on, there was a project decision that we needed to define a project-wide approach to action based permissions. However, that did not happen, and a further decision was made that individual features should be prioritized and proceed based on their app&apos;s individual needs. See the conversation on &lt;a href=&quot;https://folio-org.atlassian.net/browse/UXPROD-1828&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/UXPROD-1828&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This feature encompasses the first need - a permission control for backdating checkins.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;In scope&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Creation of a permission that controls the ability to click on the &quot;Date returned&quot; and &quot;Time returned&quot; fields in the check-in app&lt;/li&gt;
	&lt;li&gt;Creation of a permission that controls the ability to backdate a loan through an API call.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Out of scope&lt;/b&gt;&lt;b&gt;{&lt;/b&gt;}&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Use case(s)&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;A library closes on Friday nights, and opens on Saturday morning. They want staff who return books on Saturday morning to backdate the returns to Friday evening to avoid inadvertent fines, but they don&apos;t want staff who don&apos;t work the Saturday evening shift to be able to do so.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Proposed solution/stories&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;UI functionality in the Check in app: 
    &lt;span class=&quot;jira-issue-macro&quot; data-jira-key=&quot;UICHKIN-173&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/UICHKIN-173&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Permissions: backdate check ins&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium&quot; /&gt;
            UICHKIN-173
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf&quot;&gt;Open&lt;/span&gt;
            &lt;/span&gt;
&lt;/li&gt;
	&lt;li&gt;Back-end functionality: TBD&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Links to additional info&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;There is no separate API for backdating functions. What happens is that check-in-by-barcode takes a required field of &quot;checkInDate.&quot; If you backdate the check in, you simply pass in a check-in date in the past, which check-in-by-barcode will accept.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Questions&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;It&apos;s unclear what approach would work best for accommodating this permission in the back-end.
	&lt;ul&gt;
		&lt;li&gt;It&apos;s possible that you could say that check-in-by-barcode always records the current date/time as check-in, and then add an API call to adjust the check-in time, and only allow users with specific permissions to use that API. The issue will be scenarios where a FOLIO user has permission to back date a loan, and returns a loan, and in between the loan being returned and the loan being backdated, a fine is charged to the patron that should not have been charged.&lt;/li&gt;
		&lt;li&gt;Perhaps a second API is built that does check-in but only allows current date/time for check in (check-in-by-barcode-current-datetime) and that becomes the default API for the check in app. Everyone who has access to the check in app can use that API. Then, if you have the new permission that allows backdating, you can also use check-in-by-barcode, and the UI is smart enough to know that if you have that permission, and you edit the fields in the Check in app to select a date in the past, FOLIO knows to use a different API to check the item in...&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="13342">UXPROD-3157</key>
            <summary>Check in - add permission control for backdating check ins</summary>
                <type id="10002" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10322?size=medium">New Feature</type>
                            <parent id="10047">UXPROD-788</parent>
                                    <priority id="10005" iconUrl="https://dev.folio.org/assets/jira-priority/tbd.svg">TBD</priority>
                        <status id="10000" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/generic.png" description="(Migrated on 4 Feb 2024 13:41 UTC)">Draft</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="-1">Unassigned</assignee>
                                                                <reporter accountid="5c48911b54e1e6466b11f38c">Erin Nettifee</reporter>
                                    <labels>
                            <label>circ_po_small</label>
                    </labels>
                <created>Thu, 1 Jul 2021 14:46:23 +0000</created>
                <updated>Mon, 9 Oct 2023 15:38:38 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="15440" author="557058:eb198214-3032-45c9-9781-9967c26deb3f" created="Mon, 25 Jul 2022 18:59:53 +0000"  >&lt;p&gt;Id would suggest adding a separate key for backdating on the check-in-by-barcode API. Re: is you could record the actual check-in date/time in the circ log and use the backdated entry for the circ record. This information was helpful in voyager when we had student employees abuse the backdate function, having both pieces of information available.&#160;&lt;/p&gt;</comment>
                                                            <comment id="15443" author="712020:a033f769-89ac-4b65-acde-2783b94206b3" created="Thu, 28 Sep 2023 19:15:06 +0000"  >&lt;p&gt;At training, we are telling our students and staff not to back date while checking in. However, we are seeing this misused a lot (staff backdating to avoid late fees). While, we can retrain/discipline staff, it would be wonderful to just have a permission strictly for back dating. The select staff who need it can have it, and everyone else just won&apos;t have the option to backdate. Creating a UI solution would be just fine.&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10001">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="12654">UXPROD-3656</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13344">UXPROD-3158</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                                                <inwardlinks description="is defined by ">
                                        <issuelink>
            <issuekey id="68580">UICHKIN-173</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="11144">UXPROD-1985</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10187"><![CDATA[Vega]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10014" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue key="$xmlutils.escape($text)">Loans</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzy6r3:0y1</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10069" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: Cornell (Full Sum 2021)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10215"><![CDATA[R3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10070" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: Duke (Full Sum 2021)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10219"><![CDATA[R2]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10083" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: MTSU</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10287"><![CDATA[R4]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10082" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: Mainz (Full TBD)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10281"><![CDATA[R4]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 25 Jul 2022 18:59:53 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                </customfields>
    </item>
</channel>
</rss>