[open-ils-commits] r1328 - conifer/branches/rel_2_0/conf (dbs)

svn at svn.open-ils.org svn at svn.open-ils.org
Tue Apr 12 09:00:18 EDT 2011


Author: dbs
Date: 2011-04-12 09:00:16 -0400 (Tue, 12 Apr 2011)
New Revision: 1328

Modified:
   conifer/branches/rel_2_0/conf/fm_IDL.xml
Log:
Update IDL customization for 2.0 (add ResolverResolver)


Modified: conifer/branches/rel_2_0/conf/fm_IDL.xml
===================================================================
--- conifer/branches/rel_2_0/conf/fm_IDL.xml	2011-04-12 12:59:19 UTC (rev 1327)
+++ conifer/branches/rel_2_0/conf/fm_IDL.xml	2011-04-12 13:00:16 UTC (rev 1328)
@@ -33,7 +33,6 @@
 		</fields>
 	</class>
 
-
 	<!-- Virtual classes -->
 	<class id="mups" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_payment_summary" oils_persist:virtual="true" reporter:label="User Payment Summary">
 		<fields>
@@ -123,8 +122,47 @@
 		</links>
 	</class>
 
+	<class id="accs" controller="open-ils.cstore" oils_obj:fieldmapper="action::circ_chain_summary" oils_persist:virtual="true" reporter:label="Circulation Chain Summary">
+        <!-- when the time is right, turn me into a view.  -->
+		<fields>
+            <field reporter:label="Total Circs" name="num_circs" datatype="int"/>
+            <field reporter:label="Start Time" name="start_time" datatype="timestamp"/>
+            <field reporter:label="Checkout Workstation" name="checkout_workstation" datatype="text"/>
+            <field reporter:label="Last Renewal Time" name="last_renewal_time" datatype="timestamp"/>
+            <field reporter:label="Last Stop Fines" name="last_stop_fines" datatype="text"/>
+            <field reporter:label="Last Stop Fines Time" name="last_stop_fines_time" datatype="timestamp"/>
+            <field reporter:label="Last Renewal Workstation" name="last_renewal_workstation" datatype="text"/>
+            <field reporter:label="Last Checkin Workstation" name="last_checkin_workstation" datatype="text"/>
+            <field reporter:label="Last Checkin Time" name="last_checkin_time" datatype="timestamp"/>
+            <field reporter:label="Last Checkin Scan Time" name="last_checkin_scan_time" datatype="timestamp"/>
+		</fields>
+	</class>
 
+
 	<!-- Actually in the DB -->
+	<class id="vmp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::merge_profile" oils_persist:tablename="vandelay.merge_profile" reporter:label="Bib Import Merge Profile">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.merge_profile_id_seq">
+			<field reporter:label="Field ID" name="id" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" reporter:datatype="link"/>
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Add Specification" name="add_spec" reporter:datatype="text"/>
+			<field reporter:label="Replace Specification" name="replace_spec" reporter:datatype="text"/>
+			<field reporter:label="Remove Specification" name="strip_spec" reporter:datatype="text"/>
+			<field reporter:label="Preserve Specification" name="preserve_spec" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_MERGE_PROFILE CREATE_MERGE_PROFILE" context_field="owner"/>
+				<retrieve permission="ADMIN_MERGE_PROFILE CREATE_MERGE_PROFILE UPDATE_MERGE_PROFILE DELETE_MERGE_PROFILE VIEW_MERGE_PROFILE" context_field="owner"/>
+				<update permission="ADMIN_MERGE_PROFILE UPDATE_MERGE_PROFILE" context_field="owner"/>
+				<delete permission="ADMIN_MERGE_PROFILE DELETE_MERGE_PROFILE" context_field="owner"/>
+			</actions>
+		</permacrud>
+	</class>
+
 	<class id="vibtf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_bib_trash_fields" oils_persist:tablename="vandelay.import_bib_trash_fields" reporter:label="Import/Overlay Fields for Removal">
 		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_bib_trash_fields_id_seq">
 			<field reporter:label="Field ID" name="id" reporter:datatype="id"/>
@@ -223,10 +261,10 @@
 		</links>
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
 			<actions>
-				<create permission="CREATE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
-				<retrieve permission="CREATE_IMPORT_ITEM_ATTR_DEF UPDATE_IMPORT_ITEM_ATTR_DEF DELETE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
-				<update permission="UPDATE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
-				<delete permission="DELETE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<create permission="CREATE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<retrieve permission="CREATE_IMPORT_ITEM_ATTR_DEF UPDATE_IMPORT_ITEM_ATTR_DEF DELETE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<update permission="UPDATE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<delete permission="DELETE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
 			</actions>
 		</permacrud>
 	</class>
@@ -264,8 +302,8 @@
 			<field reporter:label="Bib Source" name="bib_source" reporter:datatype="link"/>
 			<field reporter:label="Final Target Record" name="imported_as" reporter:datatype="link"/>
 			<field reporter:label="Purpose" name="purpose" reporter:datatype="text"/>
-			<field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="text"/>
-			<field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="queue" reltype="has_a" key="id" map="" class="vbq"/>
@@ -298,9 +336,6 @@
 			<actions>
 				<create permission="CREATE_BIB_IMPORT_FIELD_DEF" global_required="true"/>
                 <retrieve/>
-                <!--
-				<retrieve permission="CREATE_BIB_IMPORT_IMPORT_FIELD_DEF UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF DELETE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
-                -->
 				<update permission="UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
 				<delete permission="DELETE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
 			</actions>
@@ -381,8 +416,8 @@
 			<field reporter:label="Queue" name="queue" reporter:datatype="link"/>
 			<field reporter:label="Final Target Record" name="imported_as" reporter:datatype="link"/>
 			<field reporter:label="Purpose" name="purpose" reporter:datatype="text"/>
-			<field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="text"/>
-			<field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="queue" reltype="has_a" key="id" map="" class="vaq"/>
@@ -414,9 +449,6 @@
 			<actions>
 				<create permission="CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
                 <retrieve/>
-                <!--
-				<retrieve permission="CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
-                -->
 				<update permission="UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
 				<delete permission="DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
 			</actions>
@@ -431,7 +463,7 @@
 			<field reporter:label="Value" name="attr_value" reporter:datatype="text"/>
 		</fields>
 		<links>
-			<link field="record" reltype="has_a" key="id" map="" class="vaqr"/>
+			<link field="record" reltype="has_a" key="id" map="" class="vqar"/>
 			<link field="field" reltype="has_a" key="id" map="" class="vqarad"/>
 		</links>
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
@@ -484,6 +516,88 @@
 		</links>
 	</class>
 
+    <class id="cgf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::global_flag" oils_persist:tablename="config.global_flag" reporter:label="Global Flags and Settings" oils_persist:field_safe="true">
+        <fields oils_persist:primary="name">
+            <field reporter:label="Name" name="name" reporter:datatype="text"/>
+            <field reporter:label="Label" name="label"  reporter:datatype="text" oils_persist:i18n="true"/>
+            <field reporter:label="Value" name="value"  reporter:datatype="text"/>
+            <field reporter:label="Enabled" name="enabled"  reporter:datatype="bool"/>
+        </fields>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+                <retrieve permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+                <update   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+                <delete   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+            </actions>
+        </permacrud>
+    </class>
+
+    <class id="cin" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::index_normalizer" oils_persist:tablename="config.index_normalizer" reporter:label="Indexing Normalizer" oils_persist:field_safe="true">
+        <fields oils_persist:primary="id">
+            <field reporter:label="ID" name="id" reporter:datatype="id"/>
+            <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+            <field reporter:label="Description" name="description"  reporter:datatype="text" oils_persist:i18n="true"/>
+            <field reporter:label="Function" name="func"  reporter:datatype="text"/>
+            <field reporter:label="Required Parameter Count" name="param_count"  reporter:datatype="int"/>
+        </fields>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+                <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+            </actions>
+        </permacrud>
+    </class>
+
+	<class id="cmfinm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field_index_norm_map" oils_persist:tablename="config.metabib_field_index_norm_map" reporter:label="Metabib Field to Indexing Normalizer Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_index_norm_map_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Metabib Field" name="field" reporter:datatype="link"/>
+			<field reporter:label="Normalizer" name="norm" reporter:datatype="link"/>
+			<field reporter:label="Parameters (JSON Array)" name="params" reporter:datatype="text"/>
+			<field reporter:label="Order of Application" name="pos" reporter:datatype="int"/>
+		</fields>
+		<links>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+			<link field="norm" reltype="has_a" key="id" map="" class="cin"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+                <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="cracct" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::remote_account" oils_persist:tablename="config.remote_account" reporter:label="Remote (3rd party) Account">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.remote_account_id_seq">
+			<field name="id"            reporter:datatype="id"   reporter:label="ID"/>
+			<field name="label"         reporter:datatype="text" reporter:label="Label"/>
+			<field name="host"          reporter:datatype="text" reporter:label="Host"/>
+			<field name="username"      reporter:datatype="text" reporter:label="Username"/>
+			<field name="password"      reporter:datatype="text" reporter:label="Password"/>
+			<field name="account"       reporter:datatype="text" reporter:label="Account"/>
+			<field name="path"          reporter:datatype="text" reporter:label="Path"/>
+			<field name="owner"         reporter:datatype="link" reporter:label="Owner"/>
+			<field name="last_activity" reporter:datatype="timestamp" reporter:label="Last Activity"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
+                <retrieve permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
+                <update   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
+                <delete   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
+            </actions>
+        </permacrud>
+	</class>
+
     <class id="czs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::z3950_source" oils_persist:tablename="config.z3950_source" reporter:label="Z39.50 Source">
         <fields oils_persist:primary="name">
             <field reporter:label="Z39.50 Source" name="name" reporter:datatype="id"/>
@@ -531,7 +645,7 @@
 			<field reporter:label="Data" name="data" reporter:datatype="text"/>
 			<field reporter:label="Is Error" name="is_error" reporter:datatype="bool"/>
 			<field reporter:label="Events" name="events" oils_persist:virtual="true"  reporter:datatype="link"/>
-			<field reporter:label="Events" name="error_events" oils_persist:virtual="true"  reporter:datatype="link"/>
+			<field reporter:label="Error Events" name="error_events" oils_persist:virtual="true"  reporter:datatype="link"/>
 		</fields>
 		<links>
             <link field="events" reltype="has_many" key="template_output" map="" class="atev"/>
@@ -665,7 +779,10 @@
 			<field reporter:label="Processing Group Context Field" name="group_field"  reporter:datatype="text"/>
 			<field reporter:label="Template" name="template"  reporter:datatype="text"/>
 			<field reporter:label="Name" name="name"  reporter:datatype="text"/>
-			<field reporter:label="Environmet Entries" name="env" oils_persist:virtual="true"  reporter:datatype="link"/>
+			<field reporter:label="Granularity" name="granularity"  reporter:datatype="text"/>
+			<field reporter:label="Opt-In User Field" name="usr_field"  reporter:datatype="text"/>
+			<field reporter:label="Opt-In Setting Type" name="opt_in_setting"  reporter:datatype="link"/>
+			<field reporter:label="Environment Entries" name="env" oils_persist:virtual="true"  reporter:datatype="link"/>
 			<field reporter:label="Parameters" name="params" oils_persist:virtual="true"  reporter:datatype="link"/>
 		</fields>
 		<links>
@@ -677,6 +794,7 @@
 			<link field="cleanup_failure" reltype="has_a" key="module" map="" class="atclean"/>
 			<link field="env" reltype="has_many" key="event_def" map="" class="atenv"/>
 			<link field="params" reltype="has_many" key="event_def" map="" class="atevparam"/>
+			<link field="opt_in_setting" reltype="has_a" key="name" map="" class="cust"/>
 		</links>
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
 			<actions>
@@ -699,14 +817,17 @@
 			<field reporter:label="Update Time" name="update_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Complete Time" name="complete_time" reporter:datatype="timestamp"/>
 			<field reporter:label="State" name="state" reporter:datatype="text"/>
+			<field reporter:label="User Data" name="user_data" reporter:datatype="text"/>
 			<field reporter:label="Template Output" name="template_output" reporter:datatype="link"/>
 			<field reporter:label="Error Output" name="error_output" reporter:datatype="text"/>
+			<field reporter:label="Asynchronous Output" name="async_output" reporter:datatype="link"/>
 			<field reporter:label="Update Process" name="update_process" reporter:datatype="int"/>
 		</fields>
 		<links>
 			<link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
 			<link field="template_output" reltype="has_a" key="id" map="" class="ateo"/>
 			<link field="error_output" reltype="has_a" key="id" map="" class="ateo"/>
+			<link field="async_output" reltype="has_a" key="id" map="" class="ateo"/>
 		</links>
 	</class>
 
@@ -743,9 +864,11 @@
 			<field reporter:label="Workstation ID" name="id" reporter:datatype="id"/>
 			<field reporter:label="Workstation Name" name="name" reporter:datatype="text"/>
 			<field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="circulations" reltype="has_many" key="workstation" map="" class="circ"/>
 		</links>
 	</class>
 
@@ -756,6 +879,7 @@
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="SIP2 Media Type" name="sip2_media_type" reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="Magnetic Media" name="magnetic_media" reporter:datatype="bool"/>
+			<field reporter:label="Average Wait Time" name="avg_wait_time" reporter:datatype="interval"/>
 		</fields>
 		<links/>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
@@ -768,6 +892,39 @@
         </permacrud>
 	</class>
 
+	<class id="aiit" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_item_type" oils_persist:tablename="acq.invoice_item_type" reporter:label="Non-bibliographic Invoice Item Type" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Prorate?" name="prorate" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_INVOICE_ITEM_TYPE" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_INVOICE_ITEM_TYPE" global_required="true"/>
+                <delete permission="DELETE_INVOICE_ITEM_TYPE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="acqim" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_method" oils_persist:tablename="acq.invoice_method" reporter:label="Invoice Method used by Vendor" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_INVOICE_METHOD CREATE_INVOICE_METHOD" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_INVOICE_METHOD UPDATE_INVOICE_METHOD" global_required="true"/>
+                <delete permission="ADMIN_INVOICE_METHOD DELETE_INVOICE_METHOD" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
 	<class id="ccpbt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::copy_bucket_type" oils_persist:tablename="container.copy_bucket_type" reporter:label="Copy Bucket Type" oils_persist:field_safe="true">
 		<fields oils_persist:primary="code">
 			<field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
@@ -777,7 +934,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_COPY_BTYPE" global_required="true"/>
-                <retrieve permission="CREATE_COPY_BTYPE UPDATE_COPY_BTYPE DELETE_COPY_BTYPE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_COPY_BTYPE" global_required="true"/>
                 <delete permission="DELETE_COPY_BTYPE" global_required="true"/>
             </actions>
@@ -793,7 +950,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_CN_BTYPE" global_required="true"/>
-                <retrieve permission="CREATE_CN_BTYPE UPDATE_CN_BTYPE DELETE_CN_BTYPE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_CN_BTYPE" global_required="true"/>
                 <delete permission="DELETE_CN_BTYPE" global_required="true"/>
             </actions>
@@ -809,7 +966,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_BIB_BTYPE" global_required="true"/>
-                <retrieve permission="CREATE_BIB_BTYPE UPDATE_BIB_BTYPE DELETE_BIB_BTYPE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_BIB_BTYPE" global_required="true"/>
                 <delete permission="DELETE_BIB_BTYPE" global_required="true"/>
             </actions>
@@ -825,7 +982,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_USER_BTYPE" global_required="true"/>
-                <retrieve permission="CREATE_USER_BTYPE UPDATE_USER_BTYPE DELETE_USER_BTYPE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_USER_BTYPE" global_required="true"/>
                 <delete permission="DELETE_USER_BTYPE" global_required="true"/>
             </actions>
@@ -899,9 +1056,12 @@
 	<class id="ccmm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_matchpoint" oils_persist:tablename="config.circ_matrix_matchpoint" reporter:label="Circulation Matrix Matchpoint">
 		<fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_matchpoint_id_seq">
 			<field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Renewal?" name="is_renewal" reporter:datatype="bool"/>
 			<field reporter:label="Active?" name="active" reporter:datatype="bool"/>
-			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
-			<field reporter:label="Permission Group" name="grp" reporter:datatype="link"/>
+			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit" oils_obj:required="true"/>
+			<field reporter:label="Copy Circ Lib" name="copy_circ_lib" reporter:datatype="org_unit"/>
+			<field reporter:label="Copy Owning Lib" name="copy_owning_lib" reporter:datatype="org_unit"/>
+			<field reporter:label="Permission Group" name="grp" reporter:datatype="link" oils_obj:required="true"/>
 			<field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
 			<field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
 			<field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
@@ -910,13 +1070,18 @@
 			<field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" reporter:datatype="text"/>
 			<field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" reporter:datatype="text"/>
 			<field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
-			<field reporter:label="Duration Rule" name="duration_rule" reporter:datatype="link"/>
-			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
-			<field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
+			<field reporter:label="Duration Rule" name="duration_rule" reporter:datatype="link" oils_obj:required="true"/>
+			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link" oils_obj:required="true"/>
+			<field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link" oils_obj:required="true"/>
+            <field reporter:label="Hard Due Date" name="hard_due_date" reporter:datatype="link"/>
 			<field reporter:label="Script Test" name="script_test" reporter:datatype="text"/>
+			<field name="total_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Total Copy/Hold Ratio"/>
+			<field name="available_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Available Copy/Hold Ratio"/>
 		</fields>
 		<links>
 			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
 			<link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
 			<link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
@@ -925,6 +1090,7 @@
 			<link field="duration_rule" reltype="has_a" key="id" map="" class="crcd"/>
 			<link field="max_fine_rule" reltype="has_a" key="id" map="" class="crmf"/>
 			<link field="recurring_fine_rule" reltype="has_a" key="id" map="" class="crrf"/>
+            <link field="hard_due_date" reltype="has_a" key="id" map="" class="chdd"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -1052,6 +1218,29 @@
 			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
 		</links>
 	</class>
+	<class id="mbtslv" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction_summary_location_view" oils_persist:tablename="money.billable_xact_summary_location_view" reporter:label="Billable Transaction Summary with Billing Location" oils_persist:readonly="true" reporter:core="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
+			<field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
+			<field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
+			<field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
+			<field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
+			<field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
+			<field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
+			<field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
+			<field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
+			<field reporter:label="Billing Location" name="billing_location" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
 	<class id="aun" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_note" oils_persist:tablename="actor.usr_note" reporter:label="User Note">
 		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_note_id_seq">
 			<field reporter:label="Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
@@ -1082,11 +1271,12 @@
 	<class id="aus" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_setting" oils_persist:tablename="actor.usr_setting" reporter:label="User Setting">
 		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_setting_id_seq">
 			<field reporter:label="Setting ID" name="id" reporter:datatype="id" />
-			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Name" name="name" reporter:datatype="link"/>
 			<field reporter:label="User" name="usr" reporter:datatype="link"/>
 			<field reporter:label="Value" name="value" reporter:datatype="text"/>
 		</fields>
 		<links>
+			<link field="name" reltype="has_a" key="name" map="" class="cust"/>
 			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
 		</links>
 	</class>
@@ -1139,6 +1329,7 @@
 			<field reporter:label="Is Persistent? (unused)" name="persistant_transfer" reporter:datatype="bool"/>
 			<field reporter:label="Previous Hop (unused)" name="prev_hop" reporter:datatype="link"/>
 			<field reporter:label="Source" name="source" reporter:datatype="link"/>
+			<field reporter:label="Prev Destination" name="prev_dest" reporter:datatype="org_unit"/>
 			<field reporter:label="Send Date/Time" name="source_send_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Transited Copy" name="target_copy" reporter:datatype="link"/>
 			<field reporter:label="Hold Transit" name="hold_transit_copy" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -1146,6 +1337,7 @@
 		<links>
 			<link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
 			<link field="source" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="prev_dest" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
 			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
@@ -1218,11 +1410,9 @@
 			<link field="item" reltype="has_a" key="id" map="" class="ccbi"/>
 		</links>
 	</class>
-	<class id="are" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry" reporter:label="Authority Record Entry">
+	<class id="are" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry" reporter:label="Authority Record Entry">
 		<fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
 			<field name="active" reporter:datatype="bool"/>
-			<field name="arn_source" />
-			<field name="arn_value" />
 			<field name="create_date" reporter:datatype="timestamp"/>
 			<field name="creator" />
 			<field name="deleted" reporter:datatype="bool"/>
@@ -1232,15 +1422,27 @@
 			<field name="last_xact_id" />
 			<field name="marc" />
 			<field name="source" />
-			<field name="fixed_fields" oils_persist:virtual="true" />
-			<field name="notes" oils_persist:virtual="true" />
+			<field reporter:label="Owner" name="owner"  reporter:datatype="org_unit"/>
+			<field name="fixed_fields" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="bib_links" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
 			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 			<link field="notes" reltype="has_many" key="record" map="" class="arn"/>
+			<link field="bib_links" reltype="has_many" key="authority" map="" class="abl"/>
 			<link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_MARC IMPORT_MARC" global_required="true"/>
+				<retrieve/>
+				<update permission="UPDATE_MARC" global_required="true"/>
+				<delete permission="UPDATE_MARC" global_required="true"/>
+			</actions>
+		</permacrud>
 	</class>
 	<class id="ard" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_descriptor" oils_persist:tablename="authority.rec_descriptor" reporter:label="Authority Record Descriptor">
 		<fields oils_persist:primary="id" oils_persist:sequence="authority.rec_descriptor_id_seq">
@@ -1253,6 +1455,17 @@
 			<link field="record" reltype="has_a" key="id" map="" class="are"/>
 		</links>
 	</class>
+	<class id="abl" controller="open-ils.cstore" oils_obj:fieldmapper="authority::bib_linking" oils_persist:tablename="authority.bib_linking" reporter:label="Authority-Bibliographic Record Link">
+		<fields oils_persist:primary="id" oils_persist:sequence="authority.bib_linking_id_seq">
+			<field name="id" reporter:datatype="id" />
+			<field name="bib" reporter:datatype="link" />
+			<field name="authority" reporter:datatype="link" />
+		</fields>
+		<links>
+			<link field="bib" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="authority" reltype="has_a" key="id" map="" class="are"/>
+		</links>
+	</class>
 	<class id="clm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::language_map" oils_persist:tablename="config.language_map" reporter:label="Language Map" oils_persist:field_safe="true">
 		<fields oils_persist:primary="code" oils_persist:sequence="">
 			<field reporter:label="Language Code" name="code" reporter:selector="value" reporter:datatype="text"/>
@@ -1262,7 +1475,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_MARC_CODE" global_required="true"/>
-                <retrieve permission="CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
             </actions>
@@ -1275,8 +1488,11 @@
 			<field name="amount_collected" reporter:datatype="money" />
 			<field name="approval_code" reporter:datatype="text"/>
 			<field name="cash_drawer" reporter:datatype="link"/>
+			<field name="cc_first_name" reporter:datatype="text"/>
+			<field name="cc_last_name" reporter:datatype="text"/>
 			<field name="cc_number" reporter:datatype="text"/>
 			<field name="cc_type" reporter:datatype="text"/>
+			<field name="cc_processor" reporter:datatype="text"/>
 			<field name="expire_month" reporter:datatype="int" />
 			<field name="expire_year" reporter:datatype="int" />
 			<field name="id" reporter:datatype="id" />
@@ -1295,7 +1511,7 @@
 	</class>
 	<class id="cxt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::xml_transform" oils_persist:tablename="config.xml_transform" reporter:label="XML/XSLT Transform Definition">
 		<fields oils_persist:primary="name">
-			<field name="field_class" />
+			<field reporter:label="Field Class" name="field_class" />
 			<field reporter:label="Name" name="name" reporter:datatype="text" />
 			<field reporter:label="Namespace URI" name="namespace_uri" reporter:datatype="text"/>
 			<field reporter:label="Namespace Prefix" name="prefix" reporter:datatype="text"/>
@@ -1311,24 +1527,86 @@
             </actions>
         </permacrud>
 	</class>
-	<class id="cmf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field" oils_persist:tablename="config.metabib_field" reporter:label="Metabib Field">
+
+	<class id="cmsa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_search_alias" oils_persist:tablename="config.metabib_search_alias" reporter:label="Metabib Search Alias" oils_persist:field_safe="true">
+		<fields oils_persist:primary="alias">
+			<field reporter:label="Alias (RegExp)" name="alias" reporter:datatype="text"/>
+			<field reporter:label="Class" name="field_class" reporter:datatype="link"/>
+			<field reporter:label="Field" name="field" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_METABIB_SEARCH_ALIAS" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_METABIB_SEARCH_ALIAS" global_required="true"/>
+                <delete permission="DELETE_METABIB_SEARCH_ALIAS" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="cmc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_class" oils_persist:tablename="config.metabib_class" reporter:label="Metabib Class" oils_persist:field_safe="true">
+		<fields oils_persist:primary="name">
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+			<field reporter:label="Fields" name="fields" reporter:datatype="link" oils_persist:virtual="true"/>
+		</fields>
+		<links>
+			<link field="fields" reltype="has_many" key="name" map="" class="cmf"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_METABIB_CLASS" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_METABIB_CLASS" global_required="true"/>
+                <delete permission="DELETE_METABIB_CLASS" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="cmf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field" oils_persist:tablename="config.metabib_field" reporter:label="Metabib Field" oils_persist:field_safe="true">
 		<fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_id_seq">
-			<field name="field_class" />
+			<field reporter:label="Class" name="field_class" reporter:datatype="link"/>
+			<field reporter:label="ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+			<field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
+			<field reporter:label="Weight" name="weight" reporter:datatype="int" />
+			<field reporter:label="Format" name="format" reporter:datatype="link"/>
+			<field reporter:label="Search Field" name="search_field" reporter:datatype="bool" />
+			<field reporter:label="Facet Field" name="facet_field" reporter:datatype="bool" />
+			<field reporter:label="Facet XPath" name="facet_xpath" reporter:datatype="text" />
+		</fields>
+		<links>
+			<link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_METABIB_FIELD" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
+                <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="cbfp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::biblio_fingerprint" oils_persist:tablename="config.biblio_fingerprint" reporter:label="Fingerprint Definition">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.biblio_fingerprint_id_seq">
 			<field name="id" reporter:datatype="id" />
 			<field name="name" reporter:datatype="text"/>
 			<field name="xpath" reporter:datatype="text"/>
-			<field name="weight" reporter:datatype="int" />
 			<field name="format" reporter:datatype="link"/>
-			<field name="search_field" reporter:datatype="bool" />
-			<field name="facet_field" reporter:datatype="bool" />
+			<field name="first_word" reporter:datatype="bool" />
 		</fields>
 		<links/>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
-                <create permission="CREATE_METABIB_FIELD" global_required="true"/>
+                <create permission="CREATE_BIBLIO_FINGERPRINT" global_required="true"/>
                 <retrieve/>
-                <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
-                <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
+                <update permission="UPDATE_BIBLIO_FINGERPRINT" global_required="true"/>
+                <delete permission="DELETE_BIBLIO_FINGERPRINT" global_required="true"/>
             </actions>
         </permacrud>
 	</class>
@@ -1342,7 +1620,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_MARC_CODE" global_required="true"/>
-                <retrieve permission="CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
             </actions>
@@ -1363,6 +1641,14 @@
             </actions>
         </permacrud>
 	</class>
+    <class id="acnc" controller="open-ils.cstore" oils_obj:fieldmapper="asset::call_number_class" oils_persist:tablename="asset.call_number_class" reporter:label="Call number classification scheme">
+        <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_class_id_seq">
+            <field reporter:label="Call number class ID" name="id" reporter_datatype="id"/>
+            <field reporter:label="Name" name="name" reporter:datatype="text"/>
+            <field reporter:label="Normalizer function" name="normalizer" reporter:datatype="text"/>
+            <field reporter:label="Call number fields" name="field" reporter:datatype="text"/>
+        </fields>
+    </class>
 	<class id="acn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::call_number" oils_persist:tablename="asset.call_number" reporter:label="Call Number/Volume">
 		<fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_id_seq">
 			<field reporter:label="Copies" name="copies" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -1378,6 +1664,8 @@
 			<field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="URI Maps" name="uri_maps" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="URIs" name="uris" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Sort Key" name="label_sortkey" reporter:datatype="text"/>
+			<field reporter:label="Classification Scheme" name="label_class" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
@@ -1388,6 +1676,7 @@
 			<link field="copies" reltype="has_many" key="call_number" map="" class="acp"/>
 			<link field="uris" reltype="has_many" key="call_number" map="uri" class="auricnm"/>
 			<link field="uri_maps" reltype="has_many" key="call_number" map="" class="auricnm"/>
+			<link field="label_class" reltype="has_a" key="id" map="" class="acnc"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -1431,14 +1720,23 @@
 		</fields>
 		<links/>
 	</class>
-	<class id="mous" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_user_summary" oils_persist:tablename="money.open_usr_summary" reporter:label="Open User Summary">
+	<class id="mous" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="money::open_user_summary" oils_persist:tablename="money.open_usr_summary" reporter:label="Open User Summary">
 		<fields oils_persist:primary="usr" oils_persist:sequence="">
 			<field name="balance_owed" reporter:datatype="money" />
 			<field name="total_owed" reporter:datatype="money" />
 			<field name="total_paid" reporter:datatype="money" />
 			<field name="usr" reporter:datatype="link"/>
 		</fields>
-		<links/>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+        </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve permission="VIEW_USER">
+                    <context link="usr" field="home_ou"/>
+                </retrieve>
+            </actions>
+        </permacrud>
 	</class>
 	<class id="mct" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="money::collections_tracker" oils_persist:tablename="money.collections_tracker" reporter:label="Collections Tracker">
 		<fields oils_persist:primary="id" oils_persist:sequence="money.collections_tracker_id_seq">
@@ -1479,18 +1777,24 @@
 			<field reporter:label="Record Source" name="source" reporter:datatype="link"/>
 			<field reporter:label="TCN Source" name="tcn_source"  reporter:datatype="text"/>
 			<field reporter:label="TCN Value" name="tcn_value"  reporter:datatype="text"/>
+			<field reporter:label="Owner" name="owner"  reporter:datatype="org_unit"/>
+			<field reporter:label="Share Depth" name="share_depth"  reporter:datatype="int"/>
 			<field reporter:label="Metarecord" name="metarecord" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Language Code" name="language" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Non-MARC Record Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Indexed Keyword Field Entries" name="keyword_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Indexed Subject Field Entries" name="subject_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Indexed Title Field Entries" name="title_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Indexed Identifier Field Entries" name="identifier_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Indexed Author Field Entries" name="author_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Indexed Series Field Entries" name="series_field_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Flattened MARC Fields " name="full_record_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Simple Record Extracts " name="simple_record" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Authority Links" name="authority_links" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Subscriptions" name="subscriptions" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
 			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 			<link field="simple_record" reltype="might_have" key="id" map="" class="rmsr"/>
@@ -1501,10 +1805,13 @@
 			<link field="language" reltype="might_have" key="record" map="item_lang" class="mrd"/>
 			<link field="subject_field_entries" reltype="has_many" key="source" map="" class="msfe"/>
 			<link field="title_field_entries" reltype="has_many" key="source" map="" class="mtfe"/>
+			<link field="identifier_field_entries" reltype="has_many" key="source" map="" class="mife"/>
 			<link field="notes" reltype="has_many" key="record" map="" class="bren"/>
 			<link field="author_field_entries" reltype="has_many" key="source" map="" class="mafe"/>
 			<link field="series_field_entries" reltype="has_many" key="source" map="" class="msefe"/>
 			<link field="full_record_entries" reltype="has_many" key="record" map="" class="mfr"/>
+			<link field="authority_links" reltype="has_many" key="bib" map="" class="abl"/>
+			<link field="subscriptions" reltype="has_many" key="record_entry" map="" class="ssub"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -1515,7 +1822,7 @@
         </permacrud>
 	</class>
 	<class id="aouhoo" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit::hours_of_operation" oils_persist:tablename="actor.hours_of_operation" reporter:label="Hours of Operation">
-		<fields oils_persist:primary="id" oils_persist:sequence="">
+		<fields oils_persist:primary="id">
 			<field name="dow_0_close" />
 			<field name="dow_0_open" />
 			<field name="dow_1_close" />
@@ -1585,6 +1892,48 @@
             </actions>
         </permacrud>
 	</class>
+
+	<class id="chdd" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::hard_due_date" oils_persist:tablename="config.hard_due_date" reporter:label="Hard Due Date">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.hard_due_date_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name"/>
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+            <field reporter:label="Always Use?" name="forceto" reporter:datatype="bool"/>
+			<field reporter:label="Current Ceiling Date" name="ceiling_date" reporter:datatype="timestamp"/>
+            <field reporter:label="Owner" name="owner" reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+            <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_CIRC_DURATION" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_CIRC_DURATION" global_required="true"/>
+                <delete permission="DELETE_CIRC_DURATION" global_required="true"/>
+            </actions>
+		</permacrud>
+	</class>
+
+	<class id="chddv" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::hard_due_date_values" oils_persist:tablename="config.hard_due_date_values" reporter:label="Hard Due Date Values">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.hard_due_date_values_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Hard Due Date" name="hard_due_date" reporter:datatype="link"/>
+			<field reporter:label="Ceiling Date" name="ceiling_date" reporter:datatype="timestamp"/>
+            <field reporter:label="Active Date" name="active_date" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="hard_due_date" reltype="has_a" key="id" map="" class="chdd"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_CIRC_DURATION" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_CIRC_DURATION" global_required="true"/>
+                <delete permission="DELETE_CIRC_DURATION" global_required="true"/>
+            </actions>
+		</permacrud>
+	</class>
+
 	<class id="mobts" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_billable_transaction_summary" oils_persist:tablename="money.open_billable_xact_summary" reporter:label="Open Billable Transaction Summary">
 		<fields oils_persist:primary="id" oils_persist:sequence="">
 			<field name="balance_owed" reporter:datatype="money"/>
@@ -1625,14 +1974,15 @@
 			<field reporter:label="Standing Penalties" name="standing_penalties" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Survey Responses" name="survey_responses" oils_persist:virtual="true" reporter:datatype="link"/>
-			<field name="ws_ou" oils_persist:virtual="true" reporter:datatype="link"/>
-			<field name="wsid" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Workstation Org Unit" name="ws_ou" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Workstation ID" name="wsid" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Active" name="active" reporter:datatype="bool"/>
 			<field reporter:label="Alert Message" name="alert_message"  reporter:datatype="text"/>
 			<field reporter:label="Barred" name="barred" reporter:datatype="bool"/>
 			<field reporter:label="Physical Address" name="billing_address" reporter:datatype="link"/>
 			<field reporter:label="Current Library Card" name="card" reporter:datatype="link"/>
 			<field reporter:label="Claims-returned Count" name="claims_returned_count" reporter:datatype="int" />
+			<field reporter:label="Claims Never Checked Out Count" name="claims_never_checked_out_count" reporter:datatype="int" />
 			<field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
 			<field reporter:label="User Credit Balance" name="credit_forward_balance" reporter:datatype="money" />
 			<field reporter:label="Daytime Phone" name="day_phone"  reporter:datatype="text"/>
@@ -1648,7 +1998,7 @@
 			<field reporter:label="Secondary Identification Type" name="ident_type2" reporter:datatype="link"/>
 			<field reporter:label="Primary Identification" name="ident_value"  reporter:datatype="text"/>
 			<field reporter:label="Secondary Identification" name="ident_value2"  reporter:datatype="text"/>
-			<field name="last_xact_id" reporter:datatype="text"/>
+			<field reporter:label="Last Transaction ID" name="last_xact_id" reporter:datatype="text"/>
 			<field reporter:label="Mailing Address" name="mailing_address" reporter:datatype="link"/>
 			<field reporter:label="Is Group Lead Account" name="master_account" reporter:datatype="bool"/>
 			<field reporter:label="Internet Access Level" name="net_access_level" reporter:datatype="link"/>
@@ -1674,6 +2024,7 @@
 			<field reporter:label="Open Billable Transactions" name="open_billable_transactions_summary" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Checkins" name="checkins" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Circulations Performed as Staff" name="performed_circulations" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Fund Allocation Percentages" name="fund_alloc_pcts" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Reservations" name="reservations" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
@@ -1694,19 +2045,85 @@
 			<link field="hold_requests" reltype="has_many" key="usr" map="" class="circ"/>
 			<link field="permissions" reltype="has_many" key="usr" map="perm" class="pupm"/>
 			<link field="settings" reltype="has_many" key="usr" map="" class="aus"/>
-			<link reporter:label="Billable Transactions" field="billable_transactions" reltype="has_many" key="usr" map="" class="mbt"/>
+			<link field="billable_transactions" reltype="has_many" key="usr" map="" class="mbt"/>
 			<link field="open_billable_transactions_summary" reltype="has_many" key="usr" map="" class="mobts"/>
 			<link field="money_summary" reltype="might_have" key="usr" map="" class="mus"/>
 			<link field="standing_penalties" reltype="has_many" key="usr" map="" class="ausp"/>
 			<link field="addresses" reltype="has_many" key="usr" map="" class="aua"/>
 			<link field="survey_responses" reltype="has_many" key="usr" map="" class="asvr"/>
 			<link field="notes" reltype="has_many" key="usr" map="" class="aun"/>
-			<link reporter:label="Check-ins Performed as Staff" field="checkins" reltype="has_many" key="checkin_staff" map="" class="circ"/>
+			<link field="checkins" reltype="has_many" key="checkin_staff" map="" class="circ"/>
 			<link field="cards" reltype="has_many" key="usr" map="" class="ac"/>
-			<link reporter:label="Circulations Performed as Staff" field="performed_circulations" reltype="has_many" key="circ_staff" map="" class="circ"/>
+			<link field="performed_circulations" reltype="has_many" key="circ_staff" map="" class="circ"/>
+			<link field="fund_alloc_pcts" reltype="has_many" key="allocator" map="" class="acqfap"/>
 			<link field="reservations" reltype="has_many" key="usr" map="" class="bresv"/>
 		</links>
 	</class>
+
+	<class id="csg" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::settings_group" oils_persist:tablename="config.settings_group" reporter:label="Settings Group">
+		<fields oils_persist:primary="name">
+			<field name="name" reporter:datatype="text"/>
+			<field name="label" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_USER_SETTING_GROUP" global_required="true"/>
+				<retrieve/>
+				<update permission="ADMIN_USER_SETTING_GROUP" global_required="true"/>
+				<delete permission="ADMIN_USER_SETTING_GROUP" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+	<class id="cust" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::usr_setting_type" oils_persist:tablename="config.usr_setting_type" reporter:label="User Setting Type">
+		<fields oils_persist:primary="name">
+			<field name="name" reporter:label="Name" reporter:datatype="text"/>
+			<field name="label" reporter:label="Label" reporter:datatype="text"/>
+			<field name="description" reporter:label="Description" reporter:datatype="text"/>
+			<field name="datatype" reporter:label="Datatype" reporter:datatype="text"/>
+			<field name="fm_class" reporter:label="Fielmapper Class" reporter:datatype="text"/>
+			<field name="grp" reporter:label="Settings Group" reporter:datatype="link"/>
+			<field name="opac_visible" reporter:label="OPAC/Patron Visible" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="name" reltype="has_many" key="name" map="" class="aus"/>
+			<link field="grp" reltype="has_a" key="name" map="" class="csg"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
+				<retrieve/>
+				<update permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
+				<delete permission="ADMIN_USER_SETTING_TYPE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+	<class id="coust" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::org_unit_setting_type" oils_persist:tablename="config.org_unit_setting_type" reporter:label="Organizational Unit Setting Type">
+		<fields oils_persist:primary="name">
+			<field name="name" reporter:datatype="text"/>
+			<field name="label" reporter:datatype="text"/>
+			<field name="description" reporter:datatype="text"/>
+			<field name="datatype" reporter:datatype="text"/>
+			<field name="view_perm" reporter:datatype="link"/>
+			<field name="update_perm" reporter:datatype="link"/>
+			<field name="fm_class" reporter:datatype="text"/>
+			<field name="grp" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="name" reltype="has_many" key="name" map="" class="aous"/>
+			<link field="view_perm" reltype="has_a" key="id" map="" class="ppl"/>
+			<link field="update_perm" reltype="has_a" key="id" map="" class="ppl"/>
+			<link field="grp" reltype="has_a" key="name" map="" class="csg"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
+				<retrieve/>
+				<update permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
+				<delete permission="ADMIN_ORG_UNIT_SETTING_TYPE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
 	<class id="aous" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_setting" oils_persist:tablename="actor.org_unit_setting" reporter:label="Organizational Unit Setting">
 		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_setting_id_seq">
 			<field name="id" />
@@ -1716,6 +2133,7 @@
 		</fields>
 		<links>
 			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="name" reltype="has_a" key="name" map="" class="coust"/>
 		</links>
 	</class>
 	<class id="acpn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy_note" oils_persist:tablename="asset.copy_note" reporter:label="Copy Note">
@@ -1818,6 +2236,43 @@
 			<link field="metarecord" reltype="has_a" key="id" map="" class="mmr"/>
 		</links>
 	</class>
+	<class id="mfae" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="metabib::facet_entry" oils_persist:tablename="metabib.facet_entry" reporter:label="Combined Facet Entry" oils_persist:readonly="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.facet_entry_id_seq">
+			<field name="id" reporter:datatype="id" />
+			<field name="field" reporter:datatype="link"/>
+			<field name="source" reporter:datatype="link"/>
+			<field name="value"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
+	<class id="mfe" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="metabib::field_entry" reporter:label="Combined Field Entry View" oils_persist:readonly="true">
+		<oils_persist:source_definition>
+			SELECT * FROM metabib.author_field_entry
+						UNION ALL
+			SELECT * FROM metabib.keyword_field_entry
+						UNION ALL
+			SELECT * FROM metabib.identifier_field_entry
+						UNION ALL
+			SELECT * FROM metabib.title_field_entry
+						UNION ALL
+			SELECT * FROM metabib.subject_field_entry
+						UNION ALL
+			SELECT * FROM metabib.series_field_entry
+		</oils_persist:source_definition>
+		<fields>
+			<field name="field" reporter:datatype="link"/>
+			<field name="id" reporter:datatype="id" />
+			<field name="source" reporter:datatype="link"/>
+			<field name="value"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
 	<class id="mkfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::keyword_field_entry" oils_persist:tablename="metabib.keyword_field_entry" reporter:label="Keyword Field Entry">
 		<fields oils_persist:primary="id" oils_persist:sequence="metabib.keyword_field_entry_id_seq">
 			<field name="field" reporter:datatype="link"/>
@@ -1905,6 +2360,7 @@
 			<field name="name"  reporter:datatype="text"/>
 			<field name="label"  reporter:datatype="text" oils_persist:i18n="true"/>
 			<field name="block_list" reporter:datatype="text"/>
+			<field name="org_depth" reporter:datatype="int"/>
 		</fields>
 		<links/>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
@@ -1949,7 +2405,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_COPY_STATUS" global_required="true"/>
-                <retrieve permission="CREATE_COPY_STATUS UPDATE_COPY_STATUS DELETE_COPY_STATUS" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_COPY_STATUS" global_required="true"/>
                 <delete permission="DELETE_COPY_STATUS" global_required="true"/>
             </actions>
@@ -2003,6 +2459,22 @@
 			<link field="replaces" reltype="has_a" key="id" map="" class="aua"/>
 		</links>
 	</class>
+
+	<class id="auss" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::usr_saved_search" oils_persist:tablename="actor.usr_saved_search" reporter:label="User Saved Search">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_saved_search_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" reporter:datatype="link"/>
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Query Text" name="query_text" reporter:datatype="text"/>
+			<field reporter:label="Query Type" name="query_type" reporter:datatype="text"/>
+			<field reporter:label="Target" name="target" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+
 	<class id="acnn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::call_number_note" oils_persist:tablename="asset.call_number_note" reporter:label="Call Number Note">
 		<fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_note_id_seq">
 			<field name="call_number" />
@@ -2049,12 +2521,96 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
-                <retrieve permission="VIEW_AUTHORITY_RECORD_NOTES" global_required='true'/>
+                <retrieve/>
                 <update permission="UPDATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
                 <delete permission="DELETE_AUTHORITY_RECORD_NOTE" global_required='true'/>
             </actions>
         </permacrud>
 	</class>
+	<class id="ocirccount" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circ_count" reporter:label="Open Circulation Count" oils_persist:readonly="true">
+        <oils_persist:source_definition>
+SELECT  usr,
+        SUM(
+            CASE
+                WHEN (
+                    ((fine_interval >= '1 day' AND due_date >= 'today') OR (fine_interval &lt; '1 day'  AND due_date > 'now'))
+                    AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+                ) THEN 1
+                ELSE 0
+            END
+        ) AS out,
+
+        SUM(
+            CASE
+                WHEN (
+                    ((fine_interval >= '1 day' AND due_date &lt; 'today') OR (fine_interval &lt; '1 day'  AND due_date &lt; 'now'))
+                    AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+                ) THEN 1
+                ELSE 0
+            END
+        ) AS overdue,
+
+        SUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LOST') THEN 1 ELSE 0 END) AS lost,
+        SUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'CLAIMSRETURNED') THEN 1 ELSE 0 END) AS claims_returned,
+        SUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LONGOVERDUE') THEN 1 ELSE 0 END) AS long_overdue
+  FROM  action.circulation
+  WHERE checkin_time IS NULL
+  GROUP BY 1
+        </oils_persist:source_definition>
+        <fields oils_persist:primary="usr">
+            <field reporter:label="User ID" name="usr" reporter:datatype="link"/>
+            <field reporter:label="Out" name="out" reporter:datatype="text"/>
+            <field reporter:label="Overdue" name="overdue" reporter:datatype="text"/>
+            <field reporter:label="Lost" name="lost" reporter:datatype="text"/>
+            <field reporter:label="Claims Returned" name="claims_returned" reporter:datatype="text"/>
+            <field reporter:label="Long Overdue" name="long_overdue" reporter:datatype="text"/>
+        </fields>
+        <links>
+            <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+        </links>
+	</class>
+	<class id="ocirclist" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circ_list" reporter:label="Open Circulation List" oils_persist:readonly="true">
+        <oils_persist:source_definition>
+SELECT  usr,
+        ARRAY_TO_STRING(ARRAY_ACCUM(
+            CASE
+                WHEN (
+                    ((fine_interval >= '1 day' AND due_date >= 'today') OR (fine_interval &lt; '1 day'  AND due_date > 'now'))
+                    AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+                ) THEN id
+                ELSE 0
+            END
+        ),',') AS out,
+
+        ARRAY_TO_STRING(ARRAY_ACCUM(
+            CASE
+                WHEN (
+                    ((fine_interval >= '1 day' AND due_date &lt; 'today') OR (fine_interval &lt; '1 day'  AND due_date &lt; 'now'))
+                    AND (stop_fines IS NULL OR stop_fines NOT IN ('LOST','CLAIMSRETURNED','LONGOVERDUE'))
+                ) THEN id
+                ELSE 0
+            END
+        ),',') AS overdue,
+
+        ARRAY_TO_STRING(ARRAY_ACCUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LOST') THEN id ELSE 0 END),',') AS lost,
+        ARRAY_TO_STRING(ARRAY_ACCUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'CLAIMSRETURNED') THEN id ELSE 0 END),',') AS claims_returned,
+        ARRAY_TO_STRING(ARRAY_ACCUM( CASE WHEN (xact_finish IS NULL AND stop_fines = 'LONGOVERDUE') THEN id ELSE 0 END),',') AS long_overdue
+  FROM  action.circulation
+  WHERE checkin_time IS NULL
+  GROUP BY 1
+        </oils_persist:source_definition>
+        <fields oils_persist:primary="usr">
+            <field reporter:label="User ID" name="usr" reporter:datatype="link"/>
+            <field reporter:label="Out" name="out" reporter:datatype="text"/>
+            <field reporter:label="Overdue" name="overdue" reporter:datatype="text"/>
+            <field reporter:label="Lost" name="lost" reporter:datatype="text"/>
+            <field reporter:label="Claims Returned" name="claims_returned" reporter:datatype="text"/>
+            <field reporter:label="Long Overdue" name="long_overdue" reporter:datatype="text"/>
+        </fields>
+        <links>
+            <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+        </links>
+	</class>
 	<class id="circ" controller="open-ils.cstore" oils_obj:fieldmapper="action::circulation" oils_persist:tablename="action.circulation" reporter:core="true" reporter:label="Circulation">
 		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
 			<field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
@@ -2072,8 +2628,8 @@
 			<field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
 			<field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
-			<field reporter:label="Recurring Fine Amount" name="recuring_fine" reporter:datatype="money" />
-			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" reporter:datatype="link"/>
+			<field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
 			<field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
 			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
@@ -2082,12 +2638,17 @@
 			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
 			<field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
 			<field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
+			<field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
+			<field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="link"/>
+			<field reporter:label="Checkin Scan Date/Time" name="checkin_scan_time" reporter:datatype="timestamp" />
+			<field reporter:label="Parent Circulation" name="parent_circ" reporter:datatype="link"/>
 			<field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
 			<field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
 			<field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Unrecovered Debt" name="unrecovered" reporter:datatype="bool"/>
 		</fields>
 		<links>
 			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
@@ -2101,10 +2662,14 @@
 			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
 			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
 			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
-			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
 			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
 			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
 			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+			<link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="checkin_workstation" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="parent_circ" reltype="has_a" key="id" map="" class="circ"/>
+			<link field="renewals" reltype="has_many" key="parent_circ" map="" class="circ"/>
 		</links>
 	</class>
 	<class id="combcirc" controller="open-ils.cstore" oils_obj:fieldmapper="action::all_circulation" oils_persist:tablename="action.all_circulation" reporter:core="true" reporter:label="Combined Aged and Active Circulations" oils_persist:readonly="true">
@@ -2124,8 +2689,8 @@
 			<field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
 			<field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
-			<field reporter:label="Recurring Fine Amount" name="recuring_fine" reporter:datatype="money" />
-			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" reporter:datatype="link"/>
+			<field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
 			<field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
 			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
@@ -2160,7 +2725,7 @@
 			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
 			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
 			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
-			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
 			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
 			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
 			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
@@ -2188,8 +2753,8 @@
 			<field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
 			<field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
-			<field reporter:label="Recurring Fine Amount" name="recuring_fine" reporter:datatype="money" />
-			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" reporter:datatype="link"/>
+			<field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
 			<field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
 			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
@@ -2198,6 +2763,10 @@
 			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" reporter:datatype="timestamp" />
 			<field reporter:label="Check Out Date/Time" name="xact_start" reporter:datatype="timestamp" />
 			<field reporter:label="Record Creation Date/Time" name="create_time" reporter:datatype="timestamp" />
+			<field reporter:label="Workstation" name="workstation" reporter:datatype="link"/>
+			<field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="link"/>
+			<field reporter:label="Checkin Scan Date/Time" name="checkin_scan_time" reporter:datatype="timestamp" />
+			<field reporter:label="Parent Circulation" name="parent_circ" reporter:datatype="link"/>
 			<field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -2224,7 +2793,7 @@
 			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
 			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
 			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
-			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
 			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
 			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
 			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
@@ -2233,6 +2802,10 @@
 			<link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="checkin_workstation" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="parent_circ" reltype="might_have" key="id" map="" class="circ"/>
+			<link field="renewals" reltype="has_many" key="parent_circ" map="" class="circ"/>
 		</links>
 	</class>
 
@@ -2423,7 +2996,7 @@
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
 			<actions>
 				<create permission="ADMIN_BOOKING_RESERVATION" global_required='true'/>
-				<retrieve />
+				<retrieve permission="STAFF_LOGIN" global_required='true'/>
 				<update permission="ADMIN_BOOKING_RESERVATION" global_required='true'/>
 				<delete permission="ADMIN_BOOKING_RESERVATION" global_required='true'/>
 			</actions>
@@ -2443,7 +3016,7 @@
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
 			<actions>
 				<create permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP" global_required='true'/>
-				<retrieve />
+				<retrieve permission="STAFF_LOGIN" global_required='true'/>
 				<update permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP" global_required='true'/>
 				<delete permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP" global_required='true'/>
 			</actions>
@@ -2534,10 +3107,16 @@
 			<field reporter:label="Name" name="name"  reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="Is OPAC Visible?" name="opac_visible" reporter:datatype="bool"/>
 			<field reporter:label="Owning Org Unit" name="owning_lib"  reporter:datatype="org_unit"/>
+			<field reporter:label="Copy Location Orders" name="orders" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Copies" name="copies" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Label Prefix" name="label_prefix"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Label Suffix" name="label_suffix"  reporter:datatype="text" oils_persist:i18n="true"/>
 		</fields>
 		<links>
 			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="distribution_formula_entries" reltype="has_many" key="location" map="" class="acqdfe"/>
+			<link field="orders" reltype="has_many" key="location" map="" class="acplo"/>
+			<link field="copies" reltype="has_many" key="location" map="" class="acp"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -2548,35 +3127,58 @@
             </actions>
         </permacrud>
 	</class>
+
+    <class id="acplo" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy_location_order" oils_persist:tablename="asset.copy_location_order" reporter:label="Copy/Shelving Location Order">
+        <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_location_order_id_seq">
+            <field reporter:label="Location Order ID" name="id" reporter:datatype="id"/>
+            <field reporter:label="Location ID" name="location" reporter:datatype="link"/>
+            <field reporter:label="Org Unit" name="org" reporter:datatype="org_unit"/>
+            <field reporter:label="Position" name="position" reporter:datatype="int"/>
+        </fields>
+        <links>
+            <link field="location" reltype="has_a" key="id" map="" class="acpl"/>
+            <link field="org" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+				<create permission="ADMIN_COPY_LOCATION_ORDER" context_field="org"/>
+                <retrieve/>
+				<update permission="ADMIN_COPY_LOCATION_ORDER" context_field="org"/>
+				<delete permission="ADMIN_COPY_LOCATION_ORDER" context_field="org"/>
+            </actions>
+        </permacrud>
+    </class>
+
 	<class id="svr" controller="open-ils.cstore" oils_obj:fieldmapper="serial::virtual_record" oils_persist:virtual="true" reporter:label="Serial Virtual Record">
 		<fields>
-			<field name="id" oils_persist:virtual="true" />
+			<field name="sre_id" oils_persist:virtual="true" />
 			<field name="location" oils_persist:virtual="true" />
 			<field name="owning_lib" oils_persist:virtual="true" />
-			<field name="holdings" oils_persist:virtual="true" />
-			<field name="current_holdings" oils_persist:virtual="true" />
-			<field name="supplements" oils_persist:virtual="true" />
-			<field name="current_supplements" oils_persist:virtual="true" />
-			<field name="indexes" oils_persist:virtual="true" />
-			<field name="current_indexes" oils_persist:virtual="true" />
+			<field name="basic_holdings" oils_persist:virtual="true" />
+			<field name="basic_holdings_add" oils_persist:virtual="true" />
+			<field name="supplement_holdings" oils_persist:virtual="true" />
+			<field name="supplement_holdings_add" oils_persist:virtual="true" />
+			<field name="index_holdings" oils_persist:virtual="true" />
+			<field name="index_holdings_add" oils_persist:virtual="true" />
 			<field name="online" oils_persist:virtual="true" />
 			<field name="missing" oils_persist:virtual="true" />
 			<field name="incomplete" oils_persist:virtual="true" />
 		</fields>
 	</class>
+
 	<class id="sre" controller="open-ils.pcrud open-ils.cstore" oils_obj:fieldmapper="serial::record_entry" oils_persist:tablename="serial.record_entry" reporter:label="Serial Record Entry">
 		<fields oils_persist:primary="id" oils_persist:sequence="serial.record_entry_id_seq">
-			<field name="active" reporter:datatype="bool"/>
+			<field reporter:label="Is Active" name="active" reporter:datatype="bool"/>
 			<field reporter:label="Bib Record" name="record" reporter:datatype="link"/>
-			<field name="create_date" reporter:datatype="timestamp"/>
-			<field name="creator" />
-			<field name="deleted" reporter:datatype="bool"/>
-			<field name="edit_date" reporter:datatype="timestamp"/>
-			<field name="editor" />
-			<field name="id" reporter:datatype="id" />
-			<field name="last_xact_id" />
-			<field name="marc" />
-			<field name="source" />
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
+			<field reporter:label="Edit date" name="edit_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Editor" name="editor" reporter:datatype="link"/>
+			<field reporter:label="ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Last Transaction ID" name="last_xact_id" reporter:datatype="text"/>
+			<field reporter:label="MARC" name="marc" reporter:datatype="text"/>
+			<field reporter:label="Source" name="source" reporter:datatype="int"/>
 			<field reporter:label="Owning Org Unit" name="owning_lib" reporter:datatype="org_unit"/>
 		</fields>
 		<links>
@@ -2594,77 +3196,457 @@
 			</actions>
 		</permacrud>
 	</class>
-	<class id="ssub" controller="open-ils.cstore" oils_obj:fieldmapper="serial::subscription" oils_persist:tablename="serial.subscription" reporter:label="Subscription">
+
+	<class id="scap" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::caption_and_pattern" oils_persist:tablename="serial.caption_and_pattern" reporter:label="Caption and Pattern">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.caption_and_pattern_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Subscription" name="subscription" reporter:datatype="link"/>
+			<field reporter:label="Type" name="type" reporter:datatype="text"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Start Date" name="start_date" reporter:datatype="timestamp"/>
+			<field reporter:label="End Date" name="end_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Active?" name="active" reporter:datatype="bool"/>
+			<field reporter:label="Pattern Code" name="pattern_code" reporter:datatype="text"/>
+			<field reporter:label="Enum 1" name="enum_1" reporter:datatype="text"/>
+			<field reporter:label="Enum 2" name="enum_2" reporter:datatype="text"/>
+			<field reporter:label="Enum 3" name="enum_3" reporter:datatype="text"/>
+			<field reporter:label="Enum 4" name="enum_4" reporter:datatype="text"/>
+			<field reporter:label="Enum 5" name="enum_5" reporter:datatype="text"/>
+			<field reporter:label="Enum 6" name="enum_6" reporter:datatype="text"/>
+			<field reporter:label="Chron 1" name="chron_1" reporter:datatype="text"/>
+			<field reporter:label="Chron 2" name="chron_2" reporter:datatype="text"/>
+			<field reporter:label="Chron 3" name="chron_3" reporter:datatype="text"/>
+			<field reporter:label="Chron 4" name="chron_4" reporter:datatype="text"/>
+			<field reporter:label="Chron 5" name="chron_5" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_CAPTION_PATTERN">
+					<context link="subscription" field="owning_lib" />
+				</create>
+				<retrieve />
+				<update permission="ADMIN_SERIAL_CAPTION_PATTERN">
+					<context link="subscription" field="owning_lib" />
+				</update>
+				<delete permission="ADMIN_SERIAL_CAPTION_PATTERN">
+					<context link="subscription" field="owning_lib" />
+				</delete>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="ssub" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::subscription" oils_persist:tablename="serial.subscription" reporter:label="Subscription">
 		<fields oils_persist:primary="id" oils_persist:sequence="serial.subscription_id_seq">
-			<field name="active" reporter:datatype="bool"/>
-			<field reporter:label="Call Number" name="call_number" reporter:datatype="link"/>
-			<field reporter:label="URI" name="uri" reporter:datatype="link"/>
-			<field reporter:label="Start date" name="start_date" reporter:datatype="timestamp"/>
-			<field reporter:label="End date" name="end_date" reporter:datatype="timestamp"/>
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Owning Library" name="owning_lib" reporter:datatype="org_unit"/>
+			<field reporter:label="Start Date" name="start_date" reporter:datatype="timestamp"/>
+			<field reporter:label="End Date" name="end_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Bibliographic Record Entry" name="record_entry" reporter:datatype="link"/>
+			<field reporter:label="Expected Date Offset" name="expected_date_offset" reporter:datatype="interval"/>
+			<field reporter:label="Distributions" name="distributions" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Issuances" name="issuances" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Captions and Patterns" name="scaps" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
-			<link field="call_number" reltype="might_have" key="id" map="" class="acn"/>
-			<link field="uri" reltype="might_have" key="id" map="" class="auri"/>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="record_entry" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="distributions" reltype="has_many" key="subscription" map="" class="sdist"/>
+			<link field="issuances" reltype="has_many" key="subscription" map="" class="siss"/>
+			<link field="scaps" reltype="has_many" key="subscription" map="" class="scap"/>
+			<link field="notes" reltype="has_many" key="subscription" map="" class="ssubn"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_SUBSCRIPTION" context_field="owning_lib"/>
+				<retrieve />
+				<update permission="ADMIN_SERIAL_SUBSCRIPTION" context_field="owning_lib"/>
+				<delete permission="ADMIN_SERIAL_SUBSCRIPTION" context_field="owning_lib"/>
+			</actions>
+		</permacrud>
 	</class>
-	<class id="sbu" controller="open-ils.cstore" oils_obj:fieldmapper="serial::binding_unit" oils_persist:tablename="serial.binding_unit" reporter:label="Binding Unit">
-		<fields oils_persist:primary="id" oils_persist:sequence="serial.binding_unit_id_seq">
-			<field name="active" reporter:datatype="bool"/>
+
+	<class id="ssubn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::subscription_note" oils_persist:tablename="serial.subscription_note" reporter:label="Subscription Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.subscription_note_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
 			<field reporter:label="Subscription" name="subscription" reporter:datatype="link"/>
-			<field reporter:label="Label" name="label" />
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Public?" name="pub" reporter:datatype="bool"/>
+			<field reporter:label="Title" name="title" reporter:datatype="text"/>
+			<field reporter:label="Value" name="value" reporter:datatype="text"/>
 		</fields>
 		<links>
 			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
 	</class>
-	<class id="siss" controller="open-ils.cstore" oils_obj:fieldmapper="serial::issuance" oils_persist:tablename="serial.issuance" reporter:label="Issuance">
-		<fields oils_persist:primary="id" oils_persist:sequence="serial.issuance_id_seq">
-			<field name="id" reporter:datatype="id" />
-			<field name="subscription" reporter:datatype="link"/>
-			<field name="target_copy" reporter:datatype="link"/>
-			<field name="location" reporter:datatype="link"/>
-			<field name="binding_unit" reporter:datatype="link"/>
-			<field name="label" />
+
+	<class id="sdist" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::distribution" oils_persist:tablename="serial.distribution" reporter:label="Distribution">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.distribution_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Legacy Record Entry" name="record_entry" reporter:datatype="link"/>
+			<field reporter:label="Subscription" name="subscription" reporter:datatype="link"/>
+			<field reporter:label="Holding Lib" name="holding_lib" reporter:datatype="org_unit"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+			<field reporter:label="Receive Call Number" name="receive_call_number" reporter:datatype="link"/>
+			<field reporter:label="Receive Unit Template" name="receive_unit_template" reporter:datatype="link"/>
+			<field reporter:label="Bind Call Number" name="bind_call_number" reporter:datatype="link"/>
+			<field reporter:label="Bind Unit Template" name="bind_unit_template" reporter:datatype="link"/>
+			<field reporter:label="Unit Label Prefix" name="unit_label_prefix" reporter:datatype="text"/>
+			<field reporter:label="Unit Label Suffix" name="unit_label_suffix" reporter:datatype="text"/>
+			<field reporter:label="Streams" name="streams" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Basic Issue Summary" name="basic_summary" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Supplemental Issue Summary" name="supplement_summary" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Index Issue Summary" name="index_summary" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
+			<link field="record_entry" reltype="has_a" key="id" map="" class="sre"/>
 			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
-			<link field="target_copy" reltype="might_have" key="id" map="" class="acp"/>
-			<link field="location" reltype="might_have" key="id" map="" class="acpl"/>
-			<link field="binding_unit" reltype="might_have" key="id" map="" class="sbu"/>
+			<link field="holding_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="receive_call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="receive_unit_template" reltype="has_a" key="id" map="" class="act"/>
+			<link field="bind_call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="bind_unit_template" reltype="has_a" key="id" map="" class="act"/>
+			<link field="streams" reltype="has_many" key="distribution" map="" class="sstr"/>
+			<link field="notes" reltype="has_many" key="distribution" map="" class="sdistn"/>
+			<link field="basic_summary" reltype="might_have" key="distribution" map="" class="sbsum"/>
+			<link field="supplement_summary" reltype="might_have" key="distribution" map="" class="sssum"/>
+			<link field="index_summary" reltype="might_have" key="distribution" map="" class="sisum"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION" context_field="holding_lib" />
+				<retrieve />
+				<update permission="ADMIN_SERIAL_DISTRIBUTION" context_field="holding_lib" />
+				<delete permission="ADMIN_SERIAL_DISTRIBUTION" context_field="holding_lib" />
+			</actions>
+		</permacrud>
 	</class>
-	<class id="sbsum" controller="open-ils.cstore" oils_obj:fieldmapper="serial::bib_summary" oils_persist:tablename="serial.bib_summary" reporter:label="Bib Summary">
-		<fields oils_persist:primary="id" oils_persist:sequence="serial.bib_summary_id_seq">
-			<field name="id" reporter:datatype="id" />
-			<field name="subscription" reporter:datatype="link"/>
-			<field name="generated_coverage" reporter:datatype="text"/>
-			<field name="textual_holdings" reporter:datatype="text"/>
+
+	<class id="sdistn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::distribution_note" oils_persist:tablename="serial.distribution_note" reporter:label="Distribution Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.distribution_note_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Distribution" name="distribution" reporter:datatype="link"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Public?" name="pub" reporter:datatype="bool"/>
+			<field reporter:label="Title" name="title" reporter:datatype="text"/>
+			<field reporter:label="Value" name="value" reporter:datatype="text"/>
 		</fields>
 		<links>
-			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
+			<link field="distribution" reltype="has_a" key="id" map="" class="sdist"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+				<retrieve permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</retrieve>
+				<update permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</update>
+				<delete permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</delete>
+			</actions>
+		</permacrud>
 	</class>
-	<class id="sssum" controller="open-ils.cstore" oils_obj:fieldmapper="serial::sup_summary" oils_persist:tablename="serial.sup_summary" reporter:label="Supplemental Issue Summary">
-		<fields oils_persist:primary="id" oils_persist:sequence="serial.sup_summary_id_seq">
-			<field name="id" reporter:datatype="id" />
-			<field name="subscription" reporter:datatype="link"/>
-			<field name="generated_coverage" reporter:datatype="text"/>
-			<field name="textual_holdings" reporter:datatype="text"/>
+
+	<class id="sstr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::stream" oils_persist:tablename="serial.stream" reporter:label="Stream">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.stream_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Distribution" name="distribution" reporter:datatype="link"/>
+			<field reporter:label="Routing Label" name="routing_label" reporter:datatype="text"/>
+			<field reporter:label="Items" name="items" oils_persist:virtual="true" reporter:datatype="link" />
 		</fields>
 		<links>
+			<link field="distribution" reltype="has_a" key="id" map="" class="sdist"/>
+			<link field="items" reltype="has_many" key="id" map="" class="sitem"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_STREAM">
+					<context link="distribution" field="holding_lib" />
+				</create>
+				<retrieve />
+				<update permission="ADMIN_SERIAL_STREAM">
+					<context link="distribution" field="holding_lib" />
+				</update>
+				<delete permission="ADMIN_SERIAL_STREAM">
+					<context link="distribution" field="holding_lib" />
+				</delete>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="srlu" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::routing_list_user" oils_persist:tablename="serial.routing_list_user" reporter:label="Routing List User">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.routing_list_user_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Stream" name="stream" reporter:datatype="link"/>
+			<field reporter:label="Position" name="pos" reporter:datatype="int"/>
+			<field reporter:label="Reader" name="reader" reporter:datatype="link"/>
+			<field reporter:label="Department" name="department" reporter:datatype="text"/>
+			<field reporter:label="Note" name="note" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="stream" reltype="has_a" key="id" map="" class="sstr"/>
+			<link field="reader" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="siss" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::issuance" oils_persist:tablename="serial.issuance" reporter:label="Issuance">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.issuance_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Editor" name="editor" reporter:datatype="link"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Edit Date" name="edit_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Subscription" name="subscription" reporter:datatype="link"/>
+			<field reporter:label="Caption/Pattern" name="caption_and_pattern" reporter:datatype="link"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+			<field reporter:label="Date Published" name="date_published" reporter:datatype="timestamp"/>
+			<field reporter:label="Holding Code" name="holding_code" reporter:datatype="text"/>
+			<field reporter:label="Holding Type" name="holding_type" reporter:datatype="text"/>
+			<field reporter:label="Holding Link ID" name="holding_link_id" reporter:datatype="int"/>
+			<field reporter:label="Items" name="items" oils_persist:virtual="true" reporter:datatype="link" />
+		</fields>
+		<links>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
 			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
+			<link field="caption_and_pattern" reltype="has_a" key="id" map="" class="scap"/>
+			<link field="items" reltype="has_many" key="issuance" map="" class="sitem"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_SUBSCRIPTION">
+					<context link="subscription" field="owning_lib" />
+				</create>
+				<retrieve/>
+				<update permission="ADMIN_SERIAL_SUBSCRIPTION">
+					<context link="subscription" field="owning_lib" />
+				</update>
+				<delete permission="ADMIN_SERIAL_SUBSCRIPTION">
+					<context link="subscription" field="owning_lib" />
+				</delete>
+			</actions>
+		</permacrud>
 	</class>
-	<class id="sisum" controller="open-ils.cstore" oils_obj:fieldmapper="serial::index_summary" oils_persist:tablename="serial.index_summary" reporter:label="Index Summary">
+
+	<class id="sunit" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::unit" oils_persist:tablename="serial.unit" reporter:label="Unit">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.copy_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Age Hold Protection" name="age_protect" reporter:datatype="link"/>
+			<field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
+			<field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
+			<field reporter:label="Call Number/Volume" name="call_number" reporter:datatype="link"/>
+			<field reporter:label="Circulation Type (MARC)" name="circ_as_type" reporter:datatype="text"/>
+			<field reporter:label="Circulating Library" name="circ_lib"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulation Modifier" name="circ_modifier" reporter:datatype="link"/>
+			<field reporter:label="Can Circulate" name="circulate" reporter:datatype="bool"/>
+			<field reporter:label="Copy Number on Volume" name="copy_number" reporter:datatype="text"/>
+			<field reporter:label="Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Creating User" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
+			<field reporter:label="Dummy ISBN" name="dummy_isbn" reporter:datatype="text"/>
+			<field reporter:label="Is Deposit Required" name="deposit" reporter:datatype="bool"/>
+			<field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money" />
+			<field reporter:label="Precat Dummy Author" name="dummy_author" reporter:datatype="text"/>
+			<field reporter:label="Precat Dummy Title" name="dummy_title" reporter:datatype="text"/>
+			<field reporter:label="Last Edit Date/Time" name="edit_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Editing User" name="editor" reporter:datatype="link"/>
+			<field reporter:label="Fine Level" name="fine_level" reporter:datatype="int"/>
+			<field reporter:label="Is Holdable" name="holdable" reporter:datatype="bool" />
+			<field reporter:label="Loan Duration" name="loan_duration" reporter:datatype="int"/>
+			<field reporter:label="Shelving Location" name="location" reporter:datatype="link"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool" />
+			<field reporter:label="Price" name="price" reporter:datatype="money" />
+			<field reporter:label="Is Reference" name="ref" reporter:datatype="bool"/>
+			<field reporter:label="Copy Status" name="status" reporter:datatype="link"/>
+			<field reporter:label="Copy Status Changed Time" name="status_changed_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Is Mint Condition" name="mint_condition" reporter:datatype="bool"/>
+			<field reporter:label="Is Floating" name="floating" reporter:datatype="bool"/>
+			<field reporter:label="Cost" name="cost" reporter:datatype="money"/>
+			<field reporter:label="Sort Key" name="sort_key" reporter:datatype="text"/>
+			<field reporter:label="Summary Contents" name="summary_contents" reporter:datatype="text"/>
+			<field reporter:label="Detailed Contents" name="detailed_contents" reporter:datatype="text"/>
+			<field reporter:label="Copy Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Stat-Cat entry maps" name="stat_cat_entry_copy_maps" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Total Circulations" name="total_circ_count" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Holds" name="holds" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="age_protect" reltype="has_a" key="id" map="" class="crahp"/>
+			<link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="location" reltype="has_a" key="id" map="" class="acpl"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="status" reltype="has_a" key="id" map="" class="ccs"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="holds" reltype="has_many" key="target_copy" map="hold" class="ahcm"/>
+			<link field="stat_cat_entry_copy_maps" reltype="has_many" key="owning_copy" map="" class="ascecm"/>
+			<link field="notes" reltype="has_many" key="owning_copy" map="" class="acpn"/>
+			<link field="stat_cat_entries" reltype="has_many" key="owning_copy" map="stat_cat_entry" class="ascecm"/>
+			<link field="circulations" reltype="has_many" key="target_copy" map="" class="circ"/>
+			<link field="total_circ_count" reltype="might_have" key="id" map="" class="erfcc"/>
+			<link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="RECEIVE_SERIAL ADMIN_SERIAL_SUBSCRIPTION" context_field="circ_lib" />
+				<retrieve/>
+				<update permission="RECEIVE_SERIAL ADMIN_SERIAL_SUBSCRIPTION" context_field="circ_lib" />
+				<delete permission="RECEIVE_SERIAL ADMIN_SERIAL_SUBSCRIPTION" context_field="circ_lib" />
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="sitem" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::item" oils_persist:tablename="serial.item" reporter:label="Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.item_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Editor" name="editor" reporter:datatype="link"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Edit Date" name="edit_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Issuance" name="issuance" reporter:datatype="link"/>
+			<field reporter:label="Stream" name="stream" reporter:datatype="link"/>
+			<field reporter:label="Unit" name="unit" reporter:datatype="link"/>
+			<field reporter:label="URI" name="uri" reporter:datatype="link"/>
+			<field reporter:label="Date Expected" name="date_expected" reporter:datatype="timestamp"/>
+			<field reporter:label="Date Received" name="date_received" reporter:datatype="timestamp"/>
+			<field reporter:label="Status" name="status" reporter:datatype="text"/>
+			<field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Shadowed?" name="shadowed" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="issuance" reltype="has_a" key="id" map="" class="siss"/>
+			<link field="stream" reltype="has_a" key="id" map="" class="sstr"/>
+			<link field="unit" reltype="has_a" key="id" map="" class="sunit"/>
+			<link field="uri" reltype="has_a" key="id" map="" class="auri"/>
+			<link field="notes" reltype="has_many" key="item" map="" class="sin"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create/>
+				<retrieve/>
+				<update/>
+				<delete/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="sin" controller="open-ils.cstore" oils_obj:fieldmapper="serial::item_note" oils_persist:tablename="serial.item_note" reporter:label="Item Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.item_note_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Item" name="item" reporter:datatype="link"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Public?" name="pub" reporter:datatype="bool"/>
+			<field reporter:label="Title" name="title" reporter:datatype="text"/>
+			<field reporter:label="Value" name="value" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="item" reltype="has_a" key="id" map="" class="sitem"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+		<!-- Not available via PCRUD at this time -->
+	</class>
+
+	<class id="sbsum" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::basic_summary" oils_persist:tablename="serial.basic_summary" reporter:label="Basic Issue Summary">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.basic_summary_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Distribution" name="distribution" reporter:datatype="link"/>
+			<field reporter:label="Generated Coverage" name="generated_coverage" reporter:datatype="text"/>
+			<field reporter:label="Textual Holdings" name="textual_holdings" reporter:datatype="text"/>
+			<field reporter:label="Show Generated?" name="show_generated" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="distribution" reltype="has_a" key="id" map="" class="sdist"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+				<retrieve/>
+				<update permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</update>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="sssum" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::supplement_summary" oils_persist:tablename="serial.supplement_summary" reporter:label="Supplemental Issue Summary">
+		<fields oils_persist:primary="id" oils_persist:sequence="serial.supplement_summary_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Distribution" name="distribution" reporter:datatype="link"/>
+			<field reporter:label="Generated Coverage" name="generated_coverage" reporter:datatype="text"/>
+			<field reporter:label="Textual Holdings" name="textual_holdings" reporter:datatype="text"/>
+			<field reporter:label="Show Generated?" name="show_generated" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="distribution" reltype="has_a" key="id" map="" class="sdist"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+				<retrieve/>
+				<update permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</update>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="sisum" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="serial::index_summary" oils_persist:tablename="serial.index_summary" reporter:label="Index Issue Summary">
 		<fields oils_persist:primary="id" oils_persist:sequence="serial.index_summary_id_seq">
-			<field name="id" reporter:datatype="id" />
-			<field name="subscription" reporter:datatype="link"/>
-			<field name="generated_coverage" reporter:datatype="text"/>
-			<field name="textual_holdings" reporter:datatype="text"/>
+			<field reporter:label="ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Distribution" name="distribution" reporter:datatype="link"/>
+			<field reporter:label="Generated Coverage" name="generated_coverage" reporter:datatype="text"/>
+			<field reporter:label="Textual Holdings" name="textual_holdings" reporter:datatype="text"/>
+			<field reporter:label="Show Generated?" name="show_generated" reporter:datatype="bool"/>
 		</fields>
 		<links>
-			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
+			<link field="distribution" reltype="has_a" key="id" map="" class="sdist"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+				<retrieve/>
+				<update permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</update>
+				<create permission="ADMIN_SERIAL_DISTRIBUTION">
+					<context link="distribution" field="holding_lib" />
+				</create>
+			</actions>
+		</permacrud>
 	</class>
 
 	<class id="ascecm" controller="open-ils.cstore" oils_obj:fieldmapper="asset::stat_cat_entry_copy_map" oils_persist:tablename="asset.stat_cat_entry_copy_map" reporter:label="Statistical Category Entry Copy Map">
@@ -2704,7 +3686,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_MARC_CODE" global_required="true"/>
-                <retrieve permission="CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
             </actions>
@@ -2831,6 +3813,7 @@
 			<field name="street1"  reporter:datatype="text"/>
 			<field name="street2"  reporter:datatype="text"/>
 			<field name="valid" reporter:datatype="bool"/>
+			<field name="san" reporter:datatype="text" reporter:label="SAN"/>
 		</fields>
 		<links>
 			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
@@ -2846,7 +3829,7 @@
 	</class>
 	<class id="ahr" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_request" oils_persist:tablename="action.hold_request" reporter:core="true" reporter:label="Hold Request">
 		<fields oils_persist:primary="id" oils_persist:sequence="action.hold_request_id_seq">
-			<field name="status" oils_persist:virtual="true" />
+			<field reporter:label="Status" name="status" oils_persist:virtual="true" />
 			<field reporter:label="Transit" name="transit" oils_persist:virtual="true" />
 			<field reporter:label="Capture Date/Time" name="capture_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Currently Targeted Copy" name="current_copy" />
@@ -2869,8 +3852,8 @@
 			<field reporter:label="Target Object ID" name="target" reporter:datatype="link"/>
 			<field reporter:label="Hold User" name="usr" reporter:datatype="link"/>
 			<field reporter:label="Hold Cancel Date/Time" name="cancel_time" reporter:datatype="timestamp"/>
-			<field name="notify_time" oils_persist:virtual="true" reporter:datatype="timestamp"/>
-			<field name="notify_count" oils_persist:virtual="true" reporter:datatype="int" />
+			<field reporter:label="Notify Time" name="notify_time" oils_persist:virtual="true" reporter:datatype="timestamp"/>
+			<field reporter:label="Notify Count" name="notify_count" oils_persist:virtual="true" reporter:datatype="int" />
 			<field reporter:label="Notifications" name="notifications" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Bib Record link" name="bib_rec" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Eligible Copies" name="eligible_copies" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -2879,6 +3862,10 @@
 			<field reporter:label="Shelf Time" name="shelf_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Cancelation cause" name="cancel_cause" reporter:datatype="link" />
 			<field reporter:label="Cancelation note" name="cancel_note" reporter:datatype="text" />
+			<field reporter:label="Top of Queue" name="cut_in_line" reporter:datatype="bool" />
+			<field reporter:label="Is Mint Condition" name="mint_condition" reporter:datatype="bool" />
+			<field reporter:label="Shelf Expire Time" name="shelf_expire_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Notes" name="notes" reporter:datatype="link" oils_persist:virtual="true"/>
 		</fields>
 		<links>
 			<link field="fulfillment_lib" reltype="has_a" key="id" map="" class="aou"/>
@@ -2894,8 +3881,31 @@
 			<link field="eligible_copies" reltype="has_many" key="hold" map="target_copy" class="ahcm"/>
 			<link field="bib_rec" reltype="might_have" key="id" map="" class="rhrr"/>
 			<link field="cancel_cause" reltype="might_have" key="id" map="" class="ahrcc"/>
+			<link field="notes" reltype="has_many" key="hold" map="" class="ahrn"/>
 		</links>
 	</class>
+	<class id="ahrn" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::hold_request_note" oils_persist:tablename="action.hold_request_note" reporter:label="Hold Request Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.hold_request_note_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Hold ID" name="hold" reporter:datatype="link"/>
+			<field reporter:label="Title" name="title" reporter:datatype="text"/>
+			<field reporter:label="Body" name="body" reporter:datatype="text"/>
+			<field reporter:label="Slip?" name="slip" reporter:datatype="bool"/>
+			<field reporter:label="Pub?" name="pub" reporter:datatype="bool"/>
+			<field reporter:label="Staff?" name="staff" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="UPDATE_HOLD"><context link="hold" field="request_lib"/></create>
+				<retrieve permission="VIEW_USER"><context link="hold" field="request_lib"/></retrieve>
+				<update permission="UPDATE_HOLD"><context link="hold" field="request_lib"/></update>
+				<delete permission="UPDATE_HOLD"><context link="hold" field="request_lib"/></delete>
+			</actions>
+		</permacrud>
+	</class>
 	<class id="aou" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit" oils_persist:tablename="actor.org_unit" reporter:label="Organizational Unit" oils_persist:field_safe="true">
 		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_id_seq">
 			<field reporter:label="Subordinate Organizational Units" name="children" oils_persist:virtual="true" reporter:datatype="org_unit"/>
@@ -2907,10 +3917,11 @@
 			<field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="Organizational Unit Type" name="ou_type" reporter:datatype="link"/>
 			<field reporter:label="Parent Organizational Unit" name="parent_ou" reporter:datatype="link"/>
-			<field reporter:label="Short (Policy) Name" name="shortname" reporter:datatype="text"/>
+			<field reporter:label="Short (Policy) Name" name="shortname" reporter:datatype="text" oils_obj:required="true" oils_obj:validate="^.+$"/>
 			<field reporter:label="Email Address" name="email" reporter:datatype="text"/>
 			<field reporter:label="Phone Number" name="phone" reporter:datatype="text"/>
 			<field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
+			<field reporter:label="Fiscal Calendar" name="fiscal_calendar" reporter:datatype="link"/>
 			<field reporter:label="Users" name="users" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Closed Dates" name="closed_dates" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -2918,13 +3929,16 @@
 			<field reporter:label="Addresses" name="addresses" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Checkins" name="checkins" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Workstations" name="workstations" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Fund Allocation Percentages" name="fund_alloc_pcts" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Copy Location Orders" name="copy_location_orders" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Transit Copy Prev Destinations" name="atc_prev_dests" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Reservation Requests" name="resv_requests" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Reservation Pickups" name="resv_pickups" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Resource Types" name="rsrc_types" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Resources" name="resources" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Resource Attributes" name="rsrc_attrs" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Attribute Values" name="attr_vals" oils_persist:virtual="true" reporter:datatype="link"/>
-
+			<field reporter:label="Hours of Operation" name="hours_of_operation" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="billing_address" reltype="has_a" key="id" map="" class="aoa"/>
@@ -2933,6 +3947,7 @@
 			<link field="mailing_address" reltype="has_a" key="id" map="" class="aoa"/>
 			<link field="parent_ou" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="ill_address" reltype="has_a" key="id" map="" class="aoa"/>
+			<link field="fiscal_calendar" reltype="has_a" key="id" map="" class="acqfc"/>
 			<link field="users" reltype="has_many" key="home_ou" map="" class="au"/>
 			<link field="closed_dates" reltype="has_many" key="org_unit" map="" class="aoucd"/>
 			<link field="children" reltype="has_many" key="parent_ou" map="" class="aou"/>
@@ -2941,14 +3956,16 @@
 			<link field="addresses" reltype="has_many" key="org_unit" map="" class="aoa"/>
 			<link field="checkins" reltype="has_many" key="checkin_lib" map="" class="circ"/>
 			<link field="workstations" reltype="has_many" key="owning_lib" map="" class="aws"/>
-			<link field="distribution_formulas" reltype="has_many" key="owner" map="" class="acqdf"/>
-			<link field="distribution_formula_entries" reltype="has_many" key="owning_lib" map="" class="acqdfe"/>
+			<link field="fund_alloc_pcts" reltype="has_many" key="org" map="" class="acqfap"/>
+			<link field="copy_location_orders" reltype="has_many" key="org" map="" class="acplo"/>
+			<link field="atc_prev_dests" reltype="has_many" key="prev_dest" map="" class="atc"/>
 			<link field="resv_requests" reltype="has_many" key="request_lib" map="" class="bresv"/>
 			<link field="resv_pickups" reltype="has_many" key="pickup_lib" map="" class="bresv"/>
 			<link field="rsrc_types" reltype="has_many" key="owner" map="" class="brt"/>
 			<link field="resources" reltype="has_many" key="owner" map="" class="brsrc"/>
 			<link field="rsrc_attrs" reltype="has_many" key="owner" map="" class="bra"/>
 			<link field="attr_vals" reltype="has_many" key="owner" map="" class="brav"/>
+			<link field="hours_of_operation" reltype="might_have" key="id" map="" class="aouhoo"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -2994,6 +4011,7 @@
 			<field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
 			<field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/>
+			<field reporter:label="Required" name="required" reporter:datatype="bool"/>
 		</fields>
 		<links>
 			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
@@ -3011,18 +4029,27 @@
 			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
 		</links>
 	</class>
-	<class id="actsc" controller="open-ils.cstore" oils_obj:fieldmapper="actor::stat_cat" oils_persist:tablename="actor.stat_cat" reporter:label="User Statistical Category">
+	<class id="actsc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::stat_cat" oils_persist:tablename="actor.stat_cat" reporter:label="User Statistical Category">
 		<fields oils_persist:primary="id" oils_persist:sequence="actor.stat_cat_id_seq">
 			<field reporter:label="Entries" name="entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Stat Cat ID" name="id" reporter:datatype="id" reporter:selector="name"/>
 			<field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
 			<field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/>
+			<field reporter:label="User Summary" name="usr_summary" reporter:datatype="bool"/>
 		</fields>
 		<links>
 			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="entries" reltype="has_many" key="stat_cat" map="" class="actsce"/>
 		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_PATRON_STAT_CAT" context_field="owner"/>
+                <retrieve />
+                <update permission="UPDATE_PATRON_STAT_CAT" context_field="owner"/>
+                <delete permission="DELETE_PATRON_STAT_CAT" context_field="owner"/>
+            </actions>
+        </permacrud>
 	</class>
 	<class id="msefe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::series_field_entry" oils_persist:tablename="metabib.series_field_entry" reporter:label="Series Field Entry">
 		<fields oils_persist:primary="id" oils_persist:sequence="metabib.series_field_entry_id_seq">
@@ -3125,7 +4152,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_ORG_TYPE" global_required="true"/>
-                <retrieve permission="CREATE_ORG_UNIT UPDATE_ORG_UNIT DELETE_ORG_UNIT" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_ORG_TYPE" global_required="true"/>
                 <delete permission="DELETE_ORG_TYPE" global_required="true"/>
             </actions>
@@ -3284,7 +4311,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_MARC_CODE" global_required="true"/>
-                <retrieve permission="CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
             </actions>
@@ -3343,8 +4370,8 @@
 			<field name="max_fine_rule" reporter:datatype="link"/>
 			<field name="opac_renewal" reporter:datatype="bool"/>
 			<field name="phone_renewal" reporter:datatype="bool"/>
-			<field name="recuring_fine" reporter:datatype="money" />
-			<field name="recuring_fine_rule" reporter:datatype="link"/>
+			<field name="recurring_fine" reporter:datatype="money" />
+			<field name="recurring_fine_rule" reporter:datatype="link"/>
 			<field name="renewal_remaining" reporter:datatype="int" />
 			<field name="stop_fines" reporter:datatype="text"/>
 			<field name="stop_fines_time" reporter:datatype="timestamp"/>
@@ -3358,7 +4385,7 @@
 			<link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
 			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
 			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
-			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
 		</links>
 	</class>
 	<class id="msfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::subject_field_entry" oils_persist:tablename="metabib.subject_field_entry" reporter:label="Subject Field Entry">
@@ -3373,22 +4400,22 @@
 			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
 		</links>
 	</class>
-	<class id="crrf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::rules::recuring_fine" oils_persist:tablename="config.rule_recuring_fine" reporter:label="Recurring Fine Rule">
-		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_recuring_fine_id_seq">
+	<class id="crrf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::rules::recurring_fine" oils_persist:tablename="config.rule_recurring_fine" reporter:label="Recurring Fine Rule">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_recurring_fine_id_seq">
 			<field name="high" reporter:datatype="money" />
 			<field name="id" reporter:selector="name" reporter:datatype="id"/>
 			<field name="low" reporter:datatype="money" />
 			<field name="name" reporter:datatype="text"/>
 			<field name="normal" reporter:datatype="money" />
-			<field name="recurance_interval" reporter:datatype="interval"/>
+			<field name="recurrence_interval" reporter:datatype="interval"/>
 		</fields>
 		<links/>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
-                <create permission="ADMIN_RECURING_FINE_RULE" global_required="true"/>
+                <create permission="ADMIN_RECURRING_FINE_RULE" global_required="true"/>
                 <retrieve/>
-                <update permission="ADMIN_RECURING_FINE_RULE" global_required="true"/>
-                <delete permission="ADMIN_RECURING_FINE_RULE" global_required="true"/>
+                <update permission="ADMIN_RECURRING_FINE_RULE" global_required="true"/>
+                <delete permission="ADMIN_RECURRING_FINE_RULE" global_required="true"/>
             </actions>
         </permacrud>
 	</class>
@@ -3415,7 +4442,6 @@
 	</class>
 	<class id="acp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy" oils_persist:tablename="asset.copy" reporter:core="true" reporter:label="Item">
 		<fields oils_persist:primary="id" oils_persist:sequence="asset.copy_id_seq">
-			<field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Age Hold Protection" name="age_protect" reporter:datatype="link"/>
 			<field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
 			<field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
@@ -3428,6 +4454,7 @@
 			<field reporter:label="Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
 			<field reporter:label="Creating User" name="creator" reporter:datatype="link"/>
 			<field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
+			<field reporter:label="Dummy ISBN" name="dummy_isbn" reporter:datatype="text"/>
 			<field reporter:label="Is Deposit Required" name="deposit" reporter:datatype="bool"/>
 			<field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money" />
 			<field reporter:label="Precat Dummy Author" name="dummy_author" reporter:datatype="text"/>
@@ -3443,11 +4470,16 @@
 			<field reporter:label="Price" name="price" reporter:datatype="money" />
 			<field reporter:label="Is Reference" name="ref" reporter:datatype="bool"/>
 			<field reporter:label="Copy Status" name="status" reporter:datatype="link"/>
+			<field reporter:label="Copy Status Changed Time" name="status_changed_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Is Mint Condition" name="mint_condition" reporter:datatype="bool"/>
+			<field reporter:label="Is Floating" name="floating" reporter:datatype="bool"/>
+			<field reporter:label="Cost" name="cost" reporter:datatype="money"/>
 			<field reporter:label="Copy Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Stat-Cat entry maps" name="stat_cat_entry_copy_maps" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Total Circulations" name="total_circ_count" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Holds" name="holds" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="age_protect" reltype="has_a" key="id" map="" class="crahp"/>
@@ -3480,6 +4512,53 @@
             </actions>
         </permacrud>
 	</class>
+
+	<class id="act" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy_template" oils_persist:tablename="asset.copy_template" reporter:label="Asset Copy Template">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.copy_template_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name" />
+			<field reporter:label="Owning Lib" name="owning_lib" reporter:datatype="link"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Editor" name="editor" reporter:datatype="link"/>
+			<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Edit Date" name="edit_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Circ Lib" name="circ_lib" reporter:datatype="link"/>
+			<field reporter:label="Status" name="status" reporter:datatype="int"/>
+			<field reporter:label="Location" name="location" reporter:datatype="link"/>
+			<field reporter:label="Loan Duration" name="loan_duration" reporter:datatype="int"/>
+			<field reporter:label="Fine Level" name="fine_level" reporter:datatype="int"/>
+			<field reporter:label="Age Protect" name="age_protect" reporter:datatype="int"/>
+			<field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
+			<field reporter:label="Deposit?" name="deposit" reporter:datatype="bool"/>
+			<field reporter:label="Reference?" name="ref" reporter:datatype="bool"/>
+			<field reporter:label="Holdable?" name="holdable" reporter:datatype="bool"/>
+			<field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money"/>
+			<field reporter:label="Price" name="price" reporter:datatype="money"/>
+			<field reporter:label="Circ Modifier" name="circ_modifier" reporter:datatype="link"/>
+			<field reporter:label="Circ As Type" name="circ_as_type" reporter:datatype="text"/>
+			<field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
+			<field reporter:label="OPAC Visible?" name="opac_visible" reporter:datatype="bool"/>
+			<field reporter:label="Floating?" name="floating" reporter:datatype="bool"/>
+			<field reporter:label="Mint Condition?" name="mint_condition" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
+			<link field="location" reltype="has_a" key="id" map="" class="acpl"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ASSET_COPY_TEMPLATE" global_required="true"/>
+				<retrieve />
+				<update permission="ADMIN_ASSET_COPY_TEMPLATE" global_required="true"/>
+				<delete permission="ADMIN_ASSET_COPY_TEMPLATE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
 	<class id="crahp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::rules::age_hold_protect" oils_persist:tablename="config.rule_age_hold_protect" reporter:label="Age Hold Protection Rule">
 		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_age_hold_protect_id_seq">
 			<field reporter:label="Item Age" name="age" reporter:datatype="interval"/>
@@ -3606,6 +4685,18 @@
 			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
 		</links>
 	</class>
+	<class id="mife" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::identifier_field_entry" oils_persist:tablename="metabib.identifier_field_entry" reporter:label="Identifier Field Entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.identifier_field_entry_id_seq">
+			<field name="field" reporter:datatype="link"/>
+			<field name="id" reporter:datatype="id" />
+			<field name="source" reporter:datatype="link"/>
+			<field name="value" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
 	<class id="mtfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::title_field_entry" oils_persist:tablename="metabib.title_field_entry" reporter:label="Title Field Entry">
 		<fields oils_persist:primary="id" oils_persist:sequence="metabib.title_field_entry_id_seq">
 			<field name="field" reporter:datatype="link"/>
@@ -3884,6 +4975,7 @@
 			<field reporter:label="Send Date/Time" name="source_send_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Transited Copy" name="target_copy" reporter:datatype="link"/>
 			<field reporter:label="Base Transit" name="transit_copy" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Prev Destination Library" name="prev_dest" reporter:datatype="org_unit"/>
 		</fields>
 		<links>
 			<link field="transit_copy" reltype="might_have" key="id" map="" class="atc"/>
@@ -3891,6 +4983,7 @@
 			<link field="source" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
 			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="prev_dest" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="reservation" reltype="has_a" key="id" map="" class="bresv"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
@@ -3917,6 +5010,7 @@
 			<field reporter:label="Send Date/Time" name="source_send_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Transited Copy" name="target_copy" reporter:datatype="link"/>
 			<field reporter:label="Base Transit" name="transit_copy" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Prev Destination Library" name="prev_dest" reporter:datatype="org_unit"/>
 		</fields>
 		<links>
 			<link field="transit_copy" reltype="might_have" key="id" map="" class="atc"/>
@@ -3924,6 +5018,7 @@
 			<link field="source" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
 			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="prev_dest" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
@@ -4018,7 +5113,7 @@
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
                 <create permission="CREATE_LOCALE" global_required="true"/>
-                <retrieve permission="CREATE_LOCALE UPDATE_LOCALE DELETE_LOCALE" global_required="true"/>
+                <retrieve/>
                 <update permission="UPDATE_LOCALE" global_required="true"/>
                 <delete permission="DELETE_LOCALE" global_required="true"/>
             </actions>
@@ -4026,7 +5121,7 @@
 	</class>
 	<class id="cbt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::billing_type" oils_persist:tablename="config.billing_type" oils_persist:restrict_primary="100" reporter:label="Billing Type">
 		<fields oils_persist:primary="id" oils_persist:sequence="config.billing_type_id_seq">
-			<field name="id" reporter:datatype="id" reporter:label="ID" />
+			<field name="id" reporter:datatype="id" reporter:label="ID" reporter:selector="name"/>
 			<field name="name" reporter:datatype="text" reporter:label="Name" oils_persist:i18n="true"/>
 			<field name="owner" reporter:datatype="org_unit" reporter:label="Org Unit" />
             <field name="default_price" reporter:datatype="money" reporter:label="Default Price"/>
@@ -4043,6 +5138,77 @@
             </actions>
         </permacrud>
 	</class>
+
+	<class id="aurt" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::user_request_type" oils_persist:tablename="acq.user_request_type" reporter:label="User Purchase Request Type">
+		<fields oils_persist:primary="id">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector='label'/>
+			<field reporter:label="Type Label" name="label" reporter:datatype="text" oils_persist:i18n="true" />
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_USER_REQUEST_TYPE" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_USER_REQUEST_TYPE" global_required="true"/>
+                <delete permission="ADMIN_USER_REQUEST_TYPE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="aur" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::user_request" oils_persist:tablename="acq.user_request" reporter:label="User Purchase Request">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.user_request_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector='label'/>
+			<field reporter:label="User" name="usr" reporter:datatype="link" />
+			<field reporter:label="Request Type" name="request_type" reporter:datatype="link" />
+			<field reporter:label="Place Hold" name="hold" reporter:datatype="bool" />
+			<field reporter:label="Pickup Library" name="pickup_lib" reporter:datatype="link" />
+			<field reporter:label="Holdable Formats" name="holdable_formats" reporter:datatype="text" />
+			<field reporter:label="Phone Notify" name="phone_notify" reporter:datatype="text" />
+			<field reporter:label="Email Notify" name="email_notify" reporter:datatype="bool" />
+			<field reporter:label="PO Line Item" name="lineitem" reporter:datatype="link" />
+			<field reporter:label="Bib Record" name="eg_bib" reporter:datatype="link" />
+			<field reporter:label="Request Date/Time" name="request_date" reporter:datatype="timestamp" />
+			<field reporter:label="Need Before Date/Time" name="need_before" reporter:datatype="timestamp" />
+			<field reporter:label="Max Acceptable Fee" name="max_fee" reporter:datatype="text" />
+			<field reporter:label="ISxN" name="isxn" reporter:datatype="text" />
+			<field reporter:label="Title" name="title" reporter:datatype="text" />
+			<field reporter:label="Volume" name="volume" reporter:datatype="text" />
+			<field reporter:label="Author" name="author" reporter:datatype="text" />
+			<field reporter:label="Article Title" name="article_title" reporter:datatype="text" />
+			<field reporter:label="Article Pages" name="article_pages" reporter:datatype="text" />
+			<field reporter:label="Publisher" name="publisher" reporter:datatype="text" />
+			<field reporter:label="Publication Location" name="location" reporter:datatype="text" />
+			<field reporter:label="Publication Date" name="pubdate" reporter:datatype="text" />
+			<field reporter:label="Mentioned In" name="mentioned" reporter:datatype="text" />
+			<field reporter:label="Other Info" name="other_info" reporter:datatype="text" />
+			<field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link" />
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="pickup_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
+			<link field="eg_bib" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="request_type" reltype="has_a" key="id" map="" class="aurt"/>
+			<link field="cancel_reason" reltype="has_a" key="id" map="" class="acqcr"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="user_request.create">
+                    <context link="usr" field="home_ou"/>
+				</create>
+                <retrieve permission="user_request.view">
+                    <context link="usr" field="home_ou"/>
+				</retrieve>
+                <update permission="user_request.update">
+                    <context link="usr" field="home_ou"/>
+				</update>
+                <delete permission="user_request.delete">
+                    <context link="usr" field="home_ou"/>
+				</delete>
+            </actions>
+        </permacrud>
+	</class>
+
 	<class id="acqct" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::currency_type" oils_persist:tablename="acq.currency_type" reporter:label="Currency Type">
 		<fields oils_persist:primary="code">
 			<field reporter:label="Currency Code" name="code" reporter:datatype="text" reporter:selector='label'/>
@@ -4089,11 +5255,22 @@
 			<field reporter:label="Code" name="code" reporter:datatype="text" />
 			<field reporter:label="Holdings Tag" name="holding_tag" reporter:datatype="text" />
 			<field reporter:label="Addresses" name="addresses" oils_persist:virtual="true" reporter:datatype="link" />
+			<field reporter:label="SAN" name="san" reporter:datatype="text" />
+			<field reporter:label="EDI Default" name="edi_default" reporter:datatype="link" />
+			<field reporter:label="Active" name="active" reporter:datatype="bool" />
+			<field reporter:label="Prepayment Required" name="prepayment_required" reporter:datatype="bool" />
+			<field reporter:label="URL" name="url" reporter:datatype="text" />
+			<field reporter:label="Email" name="email" reporter:datatype="text" />
+			<field reporter:label="Phone" name="phone" reporter:datatype="text" />
+			<field reporter:label="Fax Phone" name="fax_phone" reporter:datatype="text" />
+			<field reporter:label="Default Claim Policy" name="default_claim_policy" reporter:datatype="link" />
 		</fields>
 		<links>
 			<link field="currency_type" reltype="has_a" key="code" map="" class="acqct"/>
 			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
             <link field="addresses" reltype="has_many" map="" key="provider" class="acqpa"/>
+            <link field="edi_default" reltype="has_a" map="" key="id" class="acqedi"/>
+            <link field="default_claim_policy" reltype="has_a" map="" key="id" class="acqclp"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -4105,19 +5282,168 @@
         </permacrud>
 	</class>
 
+	<class id="acqpron" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::provider_note" oils_persist:tablename="acq.provider_note" reporter:label="Provider Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.provider_note_id_seq">
+			<field reporter:label="PO Note ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Provider" name="provider" reporter:datatype="link" />
+			<field reporter:label="Creator" name="creator" reporter:datatype="link" />
+			<field reporter:label="Creation Time" name="create_time" reporter:datatype="timestamp" />
+			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp" />
+			<field reporter:label="Editor" name="editor" reporter:datatype="link" />
+			<field reporter:label="Note Value" name="value" reporter:datatype="text" />
+		</fields>
+		<links>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+		</links>
+	</class>
+
+	<class id="acqipm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_payment_method" oils_persist:tablename="acq.invoice_payment_method" reporter:label="Invoice Payment Method">
+		<fields oils_persist:primary="code">
+			<field reporter:label="Code" name="code" reporter:datatype="id" reporter:selector="name"/>
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+		</fields>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_INVOICE_PAYMENT_METHOD" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_INVOICE_PAYMENT_METHOD" global_required="true"/>
+                <delete permission="ADMIN_INVOICE_PAYMENT_METHOD" global_required="true"/>
+            </actions>
+		</permacrud>
+	</class>
+
+	<class id="acqinv" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice" oils_persist:tablename="acq.invoice" reporter:label="Invoice">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.invoice_id_seq">
+			<field reporter:label="Internal Invoice ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Receiver" name="receiver" reporter:datatype="org_unit" />
+			<field reporter:label="Provider" name="provider" reporter:datatype="link"/>
+			<field reporter:label="Shipper" name="shipper" reporter:datatype="link"/>
+			<field reporter:label="Invoice Date" name="recv_date" reporter:datatype="timestamp" />
+			<field reporter:label="Receive Method" name="recv_method" reporter:datatype="link" />
+			<field reporter:label="Invoice Type" name="inv_type" reporter:datatype="text" />
+			<field reporter:label="Vendor Invoice ID" name="inv_ident" reporter:datatype="text" />
+			<field reporter:label="Payment Auth" name="payment_auth" reporter:datatype="text" />
+			<field reporter:label="Payment Method" name="payment_method" reporter:datatype="link" />
+			<field reporter:label="Note" name="note" reporter:datatype="text" />
+			<field reporter:label="Complete" name="complete" reporter:datatype="bool" />
+			<field reporter:label="Invoice Entries" name="entries" reporter:datatype="link" oils_persist:virtual="true"/>
+			<field reporter:label="Invoice Items" name="items" reporter:datatype="link" oils_persist:virtual="true"/>
+		</fields>
+		<links>
+			<link field="receiver" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+			<link field="shipper" reltype="has_a" key="id" map="" class="acqpro"/>
+			<link field="recv_method" reltype="has_a" key="code" map="" class="acqim"/>
+			<link field="payment_method" reltype="has_a" key="code" map="" class="acqipm"/>
+			<link field="entries" reltype="has_many" key="invoice" map="" class="acqie"/>
+			<link field="items" reltype="has_many" key="invoice" map="" class="acqii"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="CREATE_INVOICE" context_field="receiver"/>
+                <retrieve permission="CREATE_INVOICE VIEW_INVOICE" context_field="receiver"/>
+                <update   permission="CREATE_INVOICE" context_field="receiver"/>
+                <delete   permission="CREATE_INVOICE" context_field="receiver"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="acqie" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_entry" oils_persist:tablename="acq.invoice_entry" reporter:label="Invoice Entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.invoice_entry_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Invoice" name="invoice" reporter:datatype="link" />
+			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link"/>
+			<field reporter:label="PO Line Item" name="lineitem" reporter:datatype="link"/>
+			<field reporter:label="Invoice Item Count" name="inv_item_count" reporter:datatype="int" />
+			<field reporter:label="Physical Item Count" name="phys_item_count" reporter:datatype="int" />
+			<field reporter:label="Note" name="note" reporter:datatype="text" />
+			<field reporter:label="Billed Cost per Item" name="billed_per_item" reporter:datatype="bool" />
+			<field reporter:label="Cost Billed" name="cost_billed" reporter:datatype="money" />
+			<field reporter:label="Actual Cost" name="actual_cost" reporter:datatype="money" />
+			<field reporter:label="Amount Paid" name="amount_paid" reporter:datatype="money" />
+		</fields>
+		<links>
+			<link field="invoice" reltype="has_a" key="id" map="" class="acqinv"/>
+			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
+			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_INVOICE">
+					<context link="invoice" field="receiver"/>
+				</create>
+                <retrieve permission="ADMIN_INVOICE">
+					<context link="invoice" field="receiver"/>
+				</retrieve>
+                <update   permission="ADMIN_INVOICE">
+   					<context link="invoice" field="receiver"/>
+				</update>
+				<delete   permission="ADMIN_INVOICE">
+					<context link="invoice" field="receiver"/>
+				</delete>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="acqii" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_item" oils_persist:tablename="acq.invoice_item" reporter:label="Non-bibliographic Invoice Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.invoice_item_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Invoice" name="invoice" reporter:datatype="link" />
+			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link"/>
+			<field reporter:label="Fund Debit" name="fund_debit" reporter:datatype="link"/>
+			<field reporter:label="Invoice Item Type" name="inv_item_type" reporter:datatype="link" />
+			<field reporter:label="Title or Item Name" name="title" reporter:datatype="text" />
+			<field reporter:label="Author" name="author" reporter:datatype="text" />
+			<field reporter:label="Note" name="note" reporter:datatype="text" />
+			<field reporter:label="Cost Billed" name="cost_billed" reporter:datatype="money" />
+			<field reporter:label="Actual Cost" name="actual_cost" reporter:datatype="money" />
+			<field reporter:label="Fund" name="fund" reporter:datatype="link" />
+			<field reporter:label="Amount Paid" name="amount_paid" reporter:datatype="money" />
+			<field reporter:label="Purchase Order Item" name="po_item" reporter:datatype="link" />
+			<field reporter:label="Target" name="target" reporter:datatype="int" />
+		</fields>
+		<links>
+			<link field="invoice" reltype="has_a" key="id" map="" class="acqinv"/>
+			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
+			<link field="fund_debit" reltype="has_a" key="id" map="" class="acqfdeb"/>
+			<link field="inv_item_type" reltype="has_a" key="code" map="" class="aiit"/>
+			<link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+			<link field="po_item" reltype="has_a" key="id" map="" class="acqpoi"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_INVOICE">
+					<context link="invoice" field="receiver"/>
+				</create>
+                <retrieve permission="ADMIN_INVOICE">
+					<context link="invoice" field="receiver"/>
+				</retrieve>
+                <update   permission="ADMIN_INVOICE">
+   					<context link="invoice" field="receiver"/>
+				</update>
+				<delete   permission="ADMIN_INVOICE">
+					<context link="invoice" field="receiver"/>
+				</delete>
+            </actions>
+        </permacrud>
+	</class>
+
 	<class id="acqpa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::provider_address" oils_persist:tablename="acq.provider_address" reporter:label="Provider Address">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.provider_address_id_seq">
 			<field reporter:label="Address Type" name="address_type"  reporter:datatype="text"/>
 			<field reporter:label="City" name="city"  reporter:datatype="text"/>
 			<field reporter:label="Country" name="country"  reporter:datatype="text"/>
 			<field reporter:label="County" name="county"  reporter:datatype="text"/>
-			<field name="id" reporter:datatype="id"/>
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
 			<field reporter:label="Provider" name="provider" reporter:datatype="link"/>
 			<field reporter:label="Post Code" name="post_code"  reporter:datatype="text"/>
 			<field reporter:label="State" name="state"  reporter:datatype="text"/>
 			<field reporter:label="Street 1" name="street1"  reporter:datatype="text"/>
 			<field reporter:label="Street 2" name="street2"  reporter:datatype="text"/>
 			<field reporter:label="Is Valid?" name="valid" reporter:datatype="bool"/>
+			<field reporter:label="Fax Phone" name="fax_phone" reporter:datatype="text"/>
 		</fields>
 		<links>
 			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
@@ -4142,7 +5468,7 @@
 
 	<class id="acqpc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::provider_contact" oils_persist:tablename="acq.provider_contact" reporter:label="Provider Contact">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.provider_contact_id_seq">
-			<field name="id" reporter:datatype="id"/>
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
 			<field reporter:label="Provider" name="provider" reporter:datatype="link"/>
 			<field reporter:label="Name" name="name" reporter:datatype="text"/>
 			<field reporter:label="Role" name="role" reporter:datatype="text"/>
@@ -4182,6 +5508,7 @@
 			<field reporter:label="Street (2)" name="street2"  reporter:datatype="text"/>
 			<field reporter:label="Contact" name="contact" reporter:datatype="link"/>
 			<field reporter:label="Valid Address?" name="valid" reporter:datatype="bool"/>
+			<field reporter:label="Fax Phone" name="fax_phone" reporter:datatype="text"/>
 		</fields>
 		<links>
 			<link field="contact" reltype="has_a" key="id" map="" class="acqpc"/>
@@ -4204,9 +5531,31 @@
         </permacrud>
 	</class>
 
+	<class id="acqftr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::fund_transfer" oils_persist:tablename="acq.fund_transfer" reporter:label="Fund Transfer">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.fund_transfer_id_seq">
+			<field reporter:label="Fund Transfer ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Source Fund" name="src_fund" reporter:datatype="link"/>
+			<field reporter:label="Source Amount" name="src_amount" reporter:datatype="money"/>
+			<field reporter:label="Destination Fund" name="dest_fund" reporter:datatype="link"/>
+			<field reporter:label="Destination Amount" name="dest_amount" reporter:datatype="money"/>
+			<field reporter:label="Transfer Time" name="transfer_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Transfer User" name="transfer_user" reporter:datatype="link"/>
+			<field reporter:label="Note" name="note" reporter:datatype="text"/>
+			<field reporter:label="Funding Source Credit ID" name="funding_source_credit" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="src_fund" reltype="has_a" key="id" map="" class="acqf"/>
+			<link field="dest_fund" reltype="has_a" key="id" map="" class="acqf"/>
+			<link field="transfer_user" reltype="has_a" key="id" map="" class="au"/>
+			<link field="funding_source_credit" reltype="has_a" key="id" map="" class="acqfscred"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
 	<class id="acqfc" controller="open-ils.cstore" oils_obj:fieldmapper="acq::fiscal_calendar" oils_persist:tablename="acq.fiscal_calendar" reporter:label="Fiscal Calendar">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.fiscal_calendar_id_seq">
-			<field reporter:label="Fiscal Calendar ID" name="id" reporter:datatype="id" reporter:selector='id'/>
+			<field reporter:label="Fiscal Calendar ID" name="id" reporter:datatype="id" reporter:selector='name'/>
 			<field reporter:label="Fiscal Calendar Name" name="name" reporter:datatype="text"/>
 			<field reporter:label="Years" name="years" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
@@ -4229,7 +5578,7 @@
 
 	<class id="acqfy" controller="open-ils.cstore" oils_obj:fieldmapper="acq::fiscal_year" oils_persist:tablename="acq.fiscal_year" reporter:label="Fiscal Year">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.fiscal_year_id_seq">
-			<field reporter:label="Fiscal Year ID" name="id" reporter:datatype="id" reporter:selector='id'/>
+			<field reporter:label="Fiscal Year ID" name="id" reporter:datatype="id" reporter:selector='year'/>
 			<field reporter:label="Calendar" name="calendar" reporter:datatype="link"/>
 			<field reporter:label="Fiscal Year" name="year" reporter:datatype="int"/>
 			<field reporter:label="Year Begin" name="year_begin" reporter:datatype="timestamp"/>
@@ -4259,15 +5608,17 @@
 			<field reporter:label="Owner" name="owner" reporter:datatype="org_unit" />
 			<field reporter:label="Currency" name="currency_type" oils_persist:primitive="string" reporter:datatype="link" />
 			<field reporter:label="Code" name="code" reporter:datatype="text" />
-			<field name="summary" oils_persist:virtual="true"/>
+			<field reporter:label="Summary" name="summary" oils_persist:virtual="true"/>
 			<field reporter:label="Allocations" name="allocations" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Credits" name="credits" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Fund Allocation Percentages" name="fund_alloc_pcts" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="currency_type" reltype="has_a" key="code" map="" class="acqct"/>
 			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
             <link field="allocations" reltype="has_many" map="" key="funding_source" class="acqfa"/>
             <link field="credits" reltype="has_many" key="funding_source" map="" class="acqfscred"/>
+			<link field="fund_alloc_pcts" reltype="has_many" key="funding_source" map="" class="acqfap"/>
 		</links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -4279,26 +5630,60 @@
         </permacrud>
 	</class>
 
-	<class id="acqfscred" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::funding_source_credit" oils_persist:tablename="acq.funding_source_credit" reporter:label="Credit to Funding Source">
+	<class id="acqfscred" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::funding_source_credit" oils_persist:tablename="acq.funding_source_credit" reporter:label="Credit to Funding Source">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.funding_source_credit_id_seq">
 			<field reporter:label="Credit ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Funding Source ID" name="funding_source" reporter:datatype="link" />
 			<field reporter:label="Amount" name="amount" reporter:datatype="money" />
 			<field reporter:label="Note" name="note" reporter:datatype="text" />
+			<field reporter:label="Deadline Date" name="deadline_date" reporter:datatype="timestamp" />
+			<field reporter:label="Effective Date" name="effective_date" reporter:datatype="timestamp" />
 		</fields>
 		<links>
 			<link field="funding_source" reltype="has_a" key="id" map="" class="acqfs"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_FUNDING_SOURCE">
+                    <context link="funding_source" field="owner"/>
+                </create>
+				<retrieve permission="ADMIN_FUNDING_SOURCE">
+                    <context link="funding_source" field="owner"/>
+                </retrieve>
+				<update permission="ADMIN_FUNDING_SOURCE">
+                    <context link="funding_source" field="owner"/>
+                </update>
+				<delete permission="ADMIN_FUNDING_SOURCE">
+                    <context link="funding_source" field="owner"/>
+                </delete>
+			</actions>
+		</permacrud>
 	</class>
 
-	<class id="acqfdeb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::fund_debit" oils_persist:tablename="acq.fund_debit" reporter:label="Debit From Fund">
+	<class id="acqofscred" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::ordered_funding_source_credit" oils_persist:tablename="acq.ordered_funding_source_credit" reporter:label="Ordered Funding Source Credit">
+		<fields oils_persist:primary="id">
+			<field reporter:label="Ordered Fund Src ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Sort Priority" name="sort_priority" reporter:datatype="int"/>
+			<field reporter:label="Sort Date" name="sort_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Funding Source ID" name="funding_source" reporter:datatype="link"/>
+			<field reporter:label="Amount" name="amount" reporter:datatype="money"/>
+			<field reporter:label="Note" name="note" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="funding_source" reltype="has_a" key="id" map="" class="acqfs"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="acqfdeb" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::fund_debit" oils_persist:tablename="acq.fund_debit" reporter:label="Debit From Fund">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.fund_debit_id_seq">
 			<field reporter:label="Debit ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
 			<field reporter:label="Origin Amount" name="origin_amount" reporter:datatype="money" />
 			<field reporter:label="Origin Currency" name="origin_currency_type" reporter:datatype="link" />
 			<field reporter:label="Amount" name="amount" reporter:datatype="money" />
-			<field reporter:label="Encumbrance" name="encumbrance" reporter:datatype="text" />
+			<field reporter:label="Encumbrance" name="encumbrance" reporter:datatype="bool" />
 			<field reporter:label="Debit Type" name="debit_type" reporter:datatype="text" />
 			<field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp" />
 		</fields>
@@ -4306,6 +5691,22 @@
 			<link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
 			<link field="origin_currency_type" reltype="has_a" key="code" map="" class="acqct"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </create>
+				<retrieve permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </retrieve>
+				<update permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </update>
+				<delete permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </delete>
+			</actions>
+		</permacrud>
 	</class>
 
 	<class id="acqf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::fund" oils_persist:tablename="acq.fund" reporter:label="Fund">
@@ -4316,7 +5717,12 @@
 			<field reporter:label="Year" name="year" reporter:datatype="int" />
 			<field reporter:label="Currency Type" name="currency_type" reporter:datatype="link" />
 			<field reporter:label="Code" name="code" reporter:datatype="text" />
-			<field name="summary" oils_persist:virtual="true"/>
+			<field reporter:label="Rollover" name="rollover" reporter:datatype="bool" />
+			<field reporter:label="Propagate" name="propagate" reporter:datatype="bool" />
+			<field reporter:label="Active" name="active" reporter:datatype="bool" />
+			<field reporter:label="Balance Warning Percent" name="balance_warning_percent" reporter:datatype="int" />
+			<field reporter:label="Balance Stop Percent" name="balance_stop_percent" reporter:datatype="int" />
+			<field reporter:label="Summary" name="summary" oils_persist:virtual="true"/>
 			<field reporter:label="Allocations" name="allocations" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Debits" name="debits" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Tags" name="tags" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -4388,6 +5794,56 @@
 		</links>
 	</class>
 
+   <class id="acqafat" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_allocation_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_allocation_total" reporter:label="All Fund Allocation Total">
+        <fields oils_persist:primary="fund">
+            <field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
+            <field reporter:label="Total Allocation Amount" name="amount" reporter:datatype="money" />
+        </fields>
+        <links>
+            <link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+        </links>
+    </class>
+
+   <class id="acqafet" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_encumbrance_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_encumbrance_total" reporter:label="All Fund Encumbrance Total">
+        <fields oils_persist:primary="fund">
+            <field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
+            <field reporter:label="Total Encumbered Amount" name="amount" reporter:datatype="money" />
+        </fields>
+        <links>
+            <link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+        </links>
+    </class>
+
+   <class id="acqafst" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_spent_total" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_spent_total" reporter:label="All Fund Spent Total">
+        <fields oils_persist:primary="fund">
+            <field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
+            <field reporter:label="Total Spent Amount" name="amount" reporter:datatype="money" />
+        </fields>
+        <links>
+            <link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+        </links>
+    </class>
+
+   <class id="acqafsb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_spent_balance" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_spent_balance" reporter:label="All Fund Spent Balance">
+        <fields oils_persist:primary="fund">
+            <field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
+            <field reporter:label="Total Spent Balance" name="amount" reporter:datatype="money" />
+        </fields>
+        <links>
+            <link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+        </links>
+    </class>
+
+   <class id="acqafcb" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::all_fund_combined_balance" oils_persist:readonly="true" oils_persist:tablename="acq.all_fund_combined_balance" reporter:label="All Fund Combined Total">
+        <fields oils_persist:primary="fund">
+            <field reporter:label="Fund ID" name="fund" reporter:datatype="link" />
+            <field reporter:label="Total Combined Balance" name="amount" reporter:datatype="money" />
+        </fields>
+        <links>
+            <link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+        </links>
+    </class>
+
 	<class id="acqfsrcct" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::funding_source_credit_total" oils_persist:readonly="true" oils_persist:tablename="acq.funding_source_credit_total" reporter:label="Total Credit to Funding Source">
 		<fields oils_persist:primary="funding_source">
 			<field reporter:label="Funding Source" name="funding_source" reporter:datatype="link" />
@@ -4428,13 +5884,12 @@
 		</links>
 	</class>
 
-	<class id="acqfa" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::fund_allocation" oils_persist:tablename="acq.fund_allocation" reporter:label="Fund Allocation">
+	<class id="acqfa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::fund_allocation" oils_persist:tablename="acq.fund_allocation" reporter:label="Fund Allocation">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.fund_allocation_id_seq">
 			<field reporter:label="Allocation ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Fund" name="fund" reporter:datatype="link" />
 			<field reporter:label="Funding Source" name="funding_source" reporter:datatype="link" />
 			<field reporter:label="Amount" name="amount" reporter:datatype="money" />
-			<field reporter:label="Percent" name="percent" reporter:datatype="float" />
 			<field reporter:label="Allocating User" name="allocator" reporter:datatype="link" />
 			<field reporter:label="Note" name="note" reporter:datatype="text" />
 			<field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp" />
@@ -4444,13 +5899,55 @@
 			<link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
 			<link field="funding_source" reltype="has_a" key="id" map="" class="acqfs"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </create>
+				<retrieve permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </retrieve>
+				<update permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </update>
+				<delete permission="ADMIN_ACQ_FUND">
+                    <context link="fund" field="org"/>
+                </delete>
+			</actions>
+		</permacrud>
 	</class>
 
-	<class id="acqpl" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::picklist" oils_persist:tablename="acq.picklist" reporter:label="Pick List">
+    <class id="acqfap" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::fund_allocation_percent" oils_persist:tablename="acq.fund_allocation_percent" reporter:label="Fund Allocation Percent">
+        <fields oils_persist:primary="id" oils_persist:sequence="acq.fund_allocation_percent_id_seq">
+            <field reporter:label="Allocation ID" name="id" reporter:datatype="id" />
+            <field reporter:label="Funding Source" name="funding_source" reporter:datatype="link" />
+            <field reporter:label="Org Unit" name="org" reporter:datatype="org_unit" />
+            <field reporter:label="Fund Code" name="fund_code" reporter:datatype="text" />
+            <field reporter:label="Percent" name="percent" reporter:datatype="float" />
+            <field reporter:label="Allocating User" name="allocator" reporter:datatype="link" />
+            <field reporter:label="Note" name="note" reporter:datatype="text" />
+            <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp" />
+        </fields>
+        <links>
+            <link field="allocator" reltype="has_a" key="id" map="" class="au"/>
+            <link field="org" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="funding_source" reltype="has_a" key="id" map="" class="acqfs"/>
+        </links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_FUND_ALLOCATION_PERCENT" global_required="true"/>
+				<retrieve permission="VIEW_ACQ_FUND_ALLOCATION_PERCENT" global_required="true"/>
+				<update permission="ADMIN_ACQ_FUND_ALLOCATION_PERCENT" global_required="true"/>
+				<delete permission="ADMIN_ACQ_FUND_ALLOCATION_PERCENT" global_required="true"/>
+			</actions>
+		</permacrud>
+    </class>
+
+	<class id="acqpl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::picklist" oils_persist:tablename="acq.picklist" reporter:label="Selection List">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.picklist_id_seq">
-			<field reporter:label="Picklist ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Selection List ID" name="id" reporter:datatype="id" reporter:selector='name' />
 			<field reporter:label="Owner" name="owner" reporter:datatype="link" />
-			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="link" />
+			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit" />
 			<field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true" />
 			<field reporter:label="Creation Time" name="create_time" reporter:datatype="timestamp" />
 			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp" />
@@ -4466,11 +5963,37 @@
 			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="entries" reltype="has_many" key="picklist" map="" class="jub"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve permission="CREATE_PICKLIST VIEW_PICKLIST" context_field="org_unit"/>
+			</actions>
+		</permacrud>
 	</class>
 
+	<class id="acqcr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::cancel_reason" oils_persist:tablename="acq.cancel_reason" reporter:label="Cancel Reason">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.cancel_reason_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector='label'/>
+			<field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" reporter:datatype="text"/>
+			<field reporter:label="Keep Debits?" name="keep_debits" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_CANCEL_CAUSE" context_field="org_unit"/>
+				<retrieve permission="STAFF_LOGIN" context_field="org_unit"/>
+				<update permission="ADMIN_ACQ_CANCEL_CAUSE" context_field="org_unit"/>
+				<delete permission="ADMIN_ACQ_CANCEL_CAUSE" context_field="org_unit"/>
+			</actions>
+		</permacrud>
+	</class>
+
 	<class id="acqpo" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::purchase_order" oils_persist:tablename="acq.purchase_order" reporter:label="Purchase Order">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.purchase_order_id_seq">
-			<field reporter:label="Purchase Order ID" name="id" reporter:datatype="id" />
+			<field reporter:label="Purchase Order ID" name="id" reporter:datatype="id" reporter:selector='name'/>
 			<field reporter:label="Owner" name="owner" reporter:datatype="link" />
 			<field reporter:label="Creation Time" name="create_time" reporter:datatype="timestamp" />
 			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp" />
@@ -4481,10 +6004,14 @@
 			<field reporter:label="Editor" name="editor" reporter:datatype="link" />
 			<field reporter:label="Order Date" name="order_date" reporter:datatype="timestamp" />
 			<field reporter:label="Name" name="name" reporter:datatype="text" />
+			<field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link" />
+			<field reporter:label="Prepayment Required" name="prepayment_required" reporter:datatype="bool" />
 			<field reporter:label="Line Items" name="lineitems" oils_persist:virtual="true" reporter:datatype="link" />
-			<field reporter:label="Line Item Count" name="lineitem_count" oils_persist:virtual="true" reporter:datatype="link" />
+			<field reporter:label="Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link" />
+			<field reporter:label="Line Item Count" name="lineitem_count" oils_persist:virtual="true" reporter:datatype="int" />
 			<field reporter:label="Amount Encumbered" name="amount_encumbered" oils_persist:virtual="true" reporter:datatype="float" />
 			<field reporter:label="Amount Spent" name="amount_spent" oils_persist:virtual="true" reporter:datatype="float" />
+			<field reporter:label="PO Items" name="po_items" oils_persist:virtual="true" reporter:datatype="link" />
 		</fields>
 		<links>
 			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
@@ -4493,7 +6020,10 @@
 			<link field="default_fund" reltype="has_a" key="id" map="" class="acqf"/>
 			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
 			<link field="lineitems" reltype="has_many" key="purchase_order" map="" class="jub"/>
+			<link field="po_items" reltype="has_many" key="purchase_order" map="" class="acqpoi"/>
+			<link field="notes" reltype="has_many" key="purchase_order" map="" class="acqpon"/>
 			<link field="ordering_agency" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="cancel_reason" reltype="has_a" key="id" map="" class="acqcr"/>
 		</links>
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
 			<actions>
@@ -4505,7 +6035,42 @@
 		</permacrud>
 	</class>
 
-	<class id="acqpon" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::po_note" oils_persist:tablename="acq.po_note" reporter:label="PO Note">
+	<class id="acqpoh" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::acq_purchase_order_history" oils_persist:tablename="acq.acq_purchase_order_history" reporter:label="Purchase Order History">
+		<fields oils_persist:primary="audit_id" oils_persist:sequence="acq.acq_purchase_order_pkey_seq">
+			<field reporter:label="Audit ID" name="audit_id" reporter:datatype="id"/>
+			<field reporter:label="Audit Time" name="audit_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Audit Action" name="audit_action" reporter:datatype="text"/>
+			<field reporter:label="Purchase Order ID" name="id" reporter:datatype="link"/>
+			<field reporter:label="Owner" name="owner" reporter:datatype="link"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Editor" name="editor" reporter:datatype="link"/>
+			<field reporter:label="Ordering Agency" name="ordering_agency" reporter:datatype="link"/>
+			<field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Provider" name="provider" reporter:datatype="link"/>
+			<field reporter:label="State" name="state" reporter:datatype="text"/>
+			<field reporter:label="Order Date" name="order_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link"/>
+			<field reporter:label="Prepayment Required" name="prepayment_required" reporter:datatype="bool" />
+		</fields>
+		<links>
+			<link field="id" reltype="has_a" key="id" map="" class="acqpo"/>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="ordering_agency" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+			<link field="cancel_reason" reltype="has_a" key="id" map="" class="acqcr"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve permission="CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER" context_field="ordering_agency"/>
+            </actions>
+		</permacrud>
+	</class>
+
+	<class id="acqpon" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::po_note" oils_persist:tablename="acq.po_note" reporter:label="PO Note">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.po_note_id_seq">
 			<field reporter:label="PO Note ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link" />
@@ -4514,19 +6079,73 @@
 			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp" />
 			<field reporter:label="Editor" name="editor" reporter:datatype="link" />
 			<field reporter:label="Vote Value" name="value" reporter:datatype="text" />
+			<field reporter:label="Vendor Public" name="vendor_public" reporter:datatype="bool" />
 		</fields>
 		<links>
 			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
 			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve permission="CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </retrieve>
+                <create permission="CREATE_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </create>
+                <update permission="CREATE_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </update>
+                <delete permission="CREATE_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </delete>
+            </actions>
+		</permacrud>
 	</class>
 
-	<class id="jub" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::lineitem" oils_persist:tablename="acq.lineitem" reporter:label="Line Item">
+	<class id="acqpoi" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::po_item" oils_persist:tablename="acq.po_item" reporter:label="Purchase Order Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.po_item_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link"/>
+			<field reporter:label="Fund Debit" name="fund_debit" reporter:datatype="link"/>
+			<field reporter:label="Invoice Item Type" name="inv_item_type" reporter:datatype="link"/>
+			<field reporter:label="Title" name="title" reporter:datatype="text"/>
+			<field reporter:label="Author" name="author" reporter:datatype="text"/>
+			<field reporter:label="Note" name="note" reporter:datatype="text"/>
+			<field reporter:label="Estimated Cost" name="estimated_cost" reporter:datatype="money"/>
+			<field reporter:label="Fund" name="fund" reporter:datatype="link"/>
+			<field reporter:label="Target" name="target" reporter:datatype="int" />
+		</fields>
+		<links>
+			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
+			<link field="fund_debit" reltype="has_a" key="id" map="" class="acqfdeb"/>
+			<link field="inv_item_type" reltype="has_a" key="code" map="" class="aiit"/>
+			<link field="fund" reltype="has_a" key="id" map="" class="acqf"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve permission="CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </retrieve>
+                <create permission="CREATE_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </create>
+                <update permission="CREATE_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </update>
+                <delete permission="CREATE_PURCHASE_ORDER">
+                    <context link="purchase_order" field="ordering_agency"/>
+                </delete>
+            </actions>
+		</permacrud>
+	</class>
+
+	<class id="jub" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::lineitem" oils_persist:tablename="acq.lineitem" reporter:label="Line Item">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_id_seq">
 			<field reporter:label="Lineitem ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Selecting User" name="selector" reporter:datatype="link" />
-			<field reporter:label="Picklist" name="picklist" reporter:datatype="link" />
+			<field reporter:label="Selection List" name="picklist" reporter:datatype="link" />
 			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link" />
 			<field reporter:label="Provider" name="provider" reporter:datatype="link" />
 			<field reporter:label="Creation Time" name="create_time" reporter:datatype="timestamp" />
@@ -4538,10 +6157,16 @@
 			<field reporter:label="State" name="state" reporter:datatype="text" />
 			<field reporter:label="Creator" name="creator" reporter:datatype="link" />
 			<field reporter:label="Editor" name="editor" reporter:datatype="link" />
+			<field reporter:label="Claim Policy" name="claim_policy" reporter:datatype="link" />
+			<field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link" />
+			<field reporter:label="Estimated Unit Price" name="estimated_unit_price" reporter:datatype="money" />
 			<field reporter:label="Item Count" name="item_count" oils_persist:virtual="true" reporter:datatype="int" />
 			<field reporter:label="Descriptive Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link" />
 			<field reporter:label="Line Item Details" name="lineitem_details" oils_persist:virtual="true" reporter:datatype="link" />
 			<field reporter:label="Line Item Notes" name="lineitem_notes" oils_persist:virtual="true" reporter:datatype="link" />
+			<field reporter:label="Distribution Formulas" name="distribution_formulas" oils_persist:virtual="true" reporter:datatype="link" />
+			<field reporter:label="Invoice Entries" name="invoice_entries" oils_persist:virtual="true" reporter:datatype="link" />
+			<field reporter:label="Order Summary" name="order_summary" oils_persist:virtual="true" reporter:datatype="link" />
 		</fields>
 		<links>
 			<link field="selector" reltype="has_a" key="id" map="" class="au"/>
@@ -4554,9 +6179,87 @@
 			<link field="attributes" reltype="has_many" key="lineitem" map="" class="acqlia"/>
 			<link field="lineitem_details" reltype="has_many" key="lineitem" map="" class="acqlid"/>
 			<link field="lineitem_notes" reltype="has_many" key="lineitem" map="" class="acqlin"/>
+			<link field="cancel_reason" reltype="has_a" key="id" map="" class="acqcr"/>
+			<link field="distribution_formulas" reltype="has_many" key="lineitem" map="" class="acqdfa"/>
+			<link field="claim_policy" reltype="has_a" key="id" map="" class="acqclp"/>
+			<link field="invoice_entries" reltype="has_many" key="lineitem" map="" class="acqie"/>
+			<link field="order_summary" reltype="might_have" key="lineitem" map="" class="acqlisum"/>
 		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve permission="CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER CREATE_PICKLIST VIEW_PICKLIST">
+					<context link="purchase_order" field="ordering_agency"/>
+					<context link="picklist" field="org_unit"/>
+				</retrieve>
+			</actions>
+		</permacrud>
 	</class>
 
+	<class id="acqlih" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::acq_lineitem_history" oils_persist:tablename="acq.acq_lineitem_history" reporter:label="Line Item History">
+		<fields oils_persist:primary="audit_id" oils_persist:sequence="acq.acq_lineitem_pkey_seq">
+			<field reporter:label="Audit ID" name="audit_id" reporter:datatype="id"/>
+			<field reporter:label="Audit Time" name="audit_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Audit Action" name="audit_action" reporter:datatype="text"/>
+			<field reporter:label="Lineitem ID" name="id" reporter:datatype="link"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Editor" name="editor" reporter:datatype="link"/>
+			<field reporter:label="Selector" name="selector" reporter:datatype="link"/>
+			<field reporter:label="Provider" name="provider" reporter:datatype="link"/>
+			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link"/>
+			<field reporter:label="Selection List" name="picklist" reporter:datatype="link"/>
+			<field reporter:label="Expected Receive Time" name="expected_recv_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp"/>
+			<field reporter:label="MARC" name="marc" reporter:datatype="text"/>
+			<field reporter:label="Evergreen Bib ID" name="eg_bib_id" reporter:datatype="link"/>
+			<field reporter:label="Source Label" name="source_label" reporter:datatype="text"/>
+			<field reporter:label="State" name="state" reporter:datatype="text"/>
+			<field reporter:label="Claim Policy" name="claim_policy" reporter:datatype="link"/>
+			<field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link"/>
+			<field reporter:label="Estimated Unit Price" name="estimated_unit_price" reporter:datatype="money" />
+		</fields>
+		<links>
+			<link field="id" reltype="has_a" key="id" map="" class="jub"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="selector" reltype="has_a" key="id" map="" class="au"/>
+			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
+			<link field="picklist" reltype="has_a" key="id" map="" class="acqpl"/>
+			<link field="eg_bib_id" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="cancel_reason" reltype="has_a" key="id" map="" class="acqcr"/>
+			<link field="claim_policy" reltype="has_a" key="id" map="" class="acqclp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve permission="CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER">
+					<context link="purchase_order" field="ordering_agency"/>
+					<context link="picklist" field="org_unit"/>
+				</retrieve>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="acqliat" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::lineitem_alert_text" oils_persist:tablename="acq.lineitem_alert_text" reporter:label="Line Item Alert Text">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_alert_text_id_seq">
+			<field reporter:label="Alert Text ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Code" name="code" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" reporter:datatype="text"/>
+			<field reporter:label="Owning Library" name="owning_lib" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_LINEITEM_ALERT_TEXT" context_field="owning_lib"/>
+				<retrieve permission="STAFF_LOGIN" context_field="owning_lib"/>
+				<update permission="ADMIN_ACQ_LINEITEM_ALERT_TEXT" context_field="owning_lib"/>
+				<delete permission="ADMIN_ACQ_LINEITEM_ALERT_TEXT" context_field="owning_lib"/>
+			</actions>
+		</permacrud>
+	</class>
+
 	<class id="acqlin" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::lineitem_note" oils_persist:tablename="acq.lineitem_note" reporter:label="Line Item Note">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_note_id_seq">
 			<field reporter:label="PO Line Item Note ID" name="id" reporter:datatype="id" />
@@ -4565,12 +6268,15 @@
 			<field reporter:label="Creation Time" name="create_time" reporter:datatype="timestamp" />
 			<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp" />
 			<field reporter:label="Editor" name="editor" reporter:datatype="link" />
-			<field reporter:label="Vote Value" name="value" reporter:datatype="text" />
+			<field reporter:label="Note Value" name="value" reporter:datatype="text" />
+			<field reporter:label="Alert Text" name="alert_text" reporter:datatype="link" />
+			<field reporter:label="Vendor Public" name="vendor_public" reporter:datatype="bool" />
 		</fields>
 		<links>
 			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
 			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
+			<link field="alert_text" reltype="has_a" key="id" map="" class="acqliat"/>
 		</links>
 	</class>
 
@@ -4604,6 +6310,8 @@
 			<field reporter:label="Circ Modifier" name="circ_modifier" reporter:datatype="link" />
 			<field reporter:label="Note" name="note" reporter:datatype="text" />
 			<field reporter:label="Collection Code" name="collection_code" reporter:datatype="text" />
+			<field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link" />
+			<field reporter:label="Claims" name="claims" reporter:datatype="link" oils_persist:virtual="true" />
 		</fields>
 		<links>
 			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
@@ -4613,10 +6321,12 @@
 			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="location" reltype="has_a" key="id" map="" class="acpl"/>
 			<link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
+			<link field="cancel_reason" reltype="has_a" key="id" map="" class="acqcr"/>
+			<link field="claims" reltype="has_many" key="lineitem_detail" map="" class="acqcl"/>
 		</links>
 	</class>
 
-	<class id="acqliad" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::lineitem_attr_definition" oils_persist:tablename="acq.lineitem_attr_definition" reporter:label="Line Item Attribute Definition">
+	<class id="acqliad" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::lineitem_attr_definition" oils_persist:tablename="acq.lineitem_attr_definition" reporter:label="Line Item Attribute Definition">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_attr_definition_id_seq">
 			<field reporter:label="Definition ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Code" name="code" reporter:datatype="text" />
@@ -4624,17 +6334,31 @@
 			<field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
 		</fields>
 		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve />
+			</actions>
+		</permacrud>
 	</class>
 
-	<class id="acqlimad" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::lineitem_marc_attr_definition" oils_persist:tablename="acq.lineitem_marc_attr_definition" reporter:label="Line Item MARC Attribute Definition">
+	<class id="acqlimad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::lineitem_marc_attr_definition" oils_persist:tablename="acq.lineitem_marc_attr_definition" reporter:label="Line Item MARC Attribute Definition">
 		<fields oils_persist:primary="id" oils_persist:sequence="acq.lineitem_attr_definition_id_seq">
 			<field reporter:label="Definition ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Code" name="code" reporter:datatype="text" />
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
 			<field reporter:label="XPath" name="xpath" reporter:datatype="text" />
 			<field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
+            <field reporter:label="Remove" name="remove" reporter:datatype="text" />
 		</fields>
 		<links/>
+        <permacrud>
+            <actions>
+                <create permission="ADMIN_LINEITEM_MARC_ATTR_DEF" global_required="true"/>
+                <retrieve />
+                <update permission="ADMIN_LINEITEM_MARC_ATTR_DEF" global_required="true"/>
+                <delete permission="ADMIN_LINEITEM_MARC_ATTR_DEF" global_required="true"/>
+            </actions>
+        </permacrud>
 	</class>
 
 	<class id="acqligad" controller="open-ils.cstore open-ils.reporter-store" oils_obj:fieldmapper="acq::lineitem_generated_attr_definition" oils_persist:tablename="acq.lineitem_generated_attr_definition" reporter:label="Line Item Generated Attribute Definition">
@@ -4730,6 +6454,80 @@
 		<links/>
 	</class>
 
+	<class id="acqedi" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::edi_account" oils_persist:tablename="acq.edi_account" reporter:label="EDI Account">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.remote_account_id_seq"><!-- edi_account inherits from config.remote_account, hence the seq -->
+			<field name="id"            reporter:datatype="id"        reporter:label="EDI Account ID" reporter:selector="label"/>
+			<field name="label"         reporter:datatype="text"      reporter:label="Label"/>
+			<field name="host"          reporter:datatype="text"      reporter:label="Host"/>
+			<field name="username"      reporter:datatype="text"      reporter:label="Username"/>
+			<field name="password"      reporter:datatype="text"      reporter:label="Password"/>
+			<field name="account"       reporter:datatype="text"      reporter:label="Account"/>
+			<field name="path"          reporter:datatype="text"      reporter:label="Path"/>
+			<field name="owner"         reporter:datatype="link"      reporter:label="Owner"/>
+			<field name="last_activity" reporter:datatype="timestamp" reporter:label="Last Activity"/>
+			<field name="provider"      reporter:datatype="link"      reporter:label="Provider"/>
+			<field name="in_dir"        reporter:datatype="text"      reporter:label="Incoming Directory"/>
+			<field name="vendacct"      reporter:datatype="text"      reporter:label="Vendor Account Number"/>
+			<field name="vendcode"      reporter:datatype="text"      reporter:label="Vendor Assigned Code"/>
+		</fields>
+		<links>
+			<link field="provider" reltype="has_a" key="id" map="" class="acqpro"/>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_PROVIDER">
+                    <context link="provider" field="owner"/>
+                </create>
+                <retrieve permission="ADMIN_PROVIDER">
+                    <context link="provider" field="owner"/>
+                </retrieve>
+                <update permission="ADMIN_PROVIDER">
+                    <context link="provider" field="owner"/>
+                </update>
+                <delete permission="ADMIN_PROVIDER">
+                    <context link="provider" field="owner"/>
+                </delete>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="acqedim" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::edi_message" oils_persist:tablename="acq.edi_message" reporter:label="EDI Message">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.edi_message_id_seq">
+			<field name="id"               reporter:datatype="id"        reporter:label="EDI Message ID"/>
+			<field name="account"          reporter:datatype="link"      reporter:label="EDI Account"/>
+			<field name="remote_file"      reporter:datatype="text"      reporter:label="Filename"/>
+			<field name="create_time"      reporter:datatype="timestamp" reporter:label="Time Created"/>
+			<field name="translate_time"   reporter:datatype="timestamp" reporter:label="Time Translated"/>
+			<field name="process_time"     reporter:datatype="timestamp" reporter:label="Time Processed"/>
+			<field name="error_time"       reporter:datatype="timestamp" reporter:label="Time of Error"/>
+			<field name="status"           reporter:datatype="text"      reporter:label="Status"/>
+			<field name="edi"              reporter:datatype="text"      reporter:label="EDI Message Body"/>
+			<field name="jedi"             reporter:datatype="text"      reporter:label="JEDI Message Body"/>
+			<field name="error"            reporter:datatype="text"      reporter:label="Error"/>
+			<field name="purchase_order"   reporter:datatype="link"      reporter:label="Purchase Order"/>
+			<field name="message_type"     reporter:datatype="text"      reporter:label="Message Type"/>
+		</fields>
+		<links>
+			<link field="account" reltype="has_a" key="id" map="" class="acqedi"/>
+			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve permission="ADMIN_PROVIDER MANAGE_PROVIDER VIEW_PROVIDER">
+                    <context link="account" jump="provider" field="owner"/>
+                </retrieve>
+                <update   permission="ADMIN_PROVIDER MANAGE_PROVIDER VIEW_PROVIDER">
+                    <context link="account" jump="provider" field="owner"/>
+                </update>
+                <delete   permission="ADMIN_PROVIDER MANAGE_PROVIDER VIEW_PROVIDER">
+                    <context link="account" jump="provider" field="owner"/>
+                </delete>
+            </actions>
+        </permacrud>
+	</class>
+
+
 	<class id="rof" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::output_folder" oils_persist:tablename="reporter.output_folder" reporter:label="Output Folder">
 		<fields oils_persist:primary="id" oils_persist:sequence="reporter.output_folder_id_seq">
 			<field name="id" reporter:datatype="id" />
@@ -4813,10 +6611,10 @@
 			<field name="owner" reporter:datatype="link"/>
 			<field name="create_time" reporter:datatype="timestamp"/>
 			<field name="template" reporter:datatype="link"/>
-			<field name="data" reporter:datatype="link"/>
+			<field name="data" reporter:datatype="text"/>
 			<field name="folder" reporter:datatype="link"/>
 			<field name="recur" reporter:datatype="bool"/>
-			<field name="recurance" reporter:datatype="interval"/>
+			<field name="recurrence" reporter:datatype="interval"/>
 			<field name="name" reporter:datatype="text"/>
 			<field name="description" reporter:datatype="text"/>
 			<field name="runs" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -4853,7 +6651,7 @@
 			<link field="folder" reltype="has_a" key="id" map="" class="rof"/>
 		</links>
 	</class>
-	<class id="rmsr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::materialized_simple_record" oils_persist:tablename="reporter.materialized_simple_record" reporter:label="Fast Simple Record Extracts">
+	<class id="rmsr" controller="open-ils.reporter-store open-ils.cstore" oils_obj:fieldmapper="reporter::materialized_simple_record" oils_persist:tablename="reporter.materialized_simple_record" reporter:label="Fast Simple Record Extracts">
 		<fields oils_persist:primary="id">
 			<field reporter:label="Record ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Fingerprint" name="fingerprint" reporter:datatype="text"/>
@@ -4941,7 +6739,7 @@
 			<link field="id" reltype="might_have" key="id" map="" class="circ"/>
 		</links>
 	</class>
-	<class id="rhrr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_request_record" oils_persist:tablename="reporter.hold_request_record" reporter:label="Hold Request Record">
+	<class id="rhrr" controller="open-ils.reporter-store open-ils.cstore" oils_obj:fieldmapper="reporter::hold_request_record" oils_persist:tablename="reporter.hold_request_record" reporter:label="Hold Request Record">
 		<fields oils_persist:primary="id">
 			<field reporter:label="Hold ID" name="id" reporter:datatype="id" />
 			<field reporter:label="Hold Target" name="target" reporter:datatype="int" />
@@ -5001,6 +6799,7 @@
 			<field reporter:label="Formula Name" name="name" reporter:datatype="text"/>
 			<field reporter:label="Skip Count" name="skip_count" reporter:datatype="int"/>
 			<field reporter:label="Entries" name="entries" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Use Count" name="use_count" oils_persist:virtual="true" reporter:datatype="int"/>
 		</fields>
 		<links>
 			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
@@ -5047,7 +6846,1069 @@
 		</permacrud>
 	</class>
 
+	<class id="acqdfa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::distribution_formula_application" oils_persist:tablename="acq.distribution_formula_application" reporter:label="Distribution Formula Application">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.distribution_formula_application_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Distribution Formula" name="formula" reporter:datatype="link"/>
+			<field reporter:label="Lineitem" name="lineitem" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="formula" reltype="has_a" key="id" map="" class="acqdf"/>
+			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_PURCHASE_ORDER">
+					<context link="formula" field="owner"/>
+                </create>
+				<retrieve permission="CREATE_PURCHASE_ORDER">
+					<context link="formula" field="owner"/>
+                </retrieve>
+				<update permission="CREATE_PURCHASE_ORDER">
+					<context link="formula" field="owner"/>
+                </update>
+				<delete permission="CREATE_PURCHASE_ORDER">
+					<context link="formula" field="owner"/>
+                </delete>
+			</actions>
+		</permacrud>
+	</class>
 
+	<class id="acqda" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::debit_attribution" oils_persist:tablename="acq.debit_attribution" reporter:label="Debit Attribution">
+		<fields oils_persist:primary="id">
+			<field reporter:label="Debit Attribution ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Fund Debit" name="fund_debit" reporter:datatype="link"/>
+			<field reporter:label="Debit Amount" name="debit_amount" reporter:datatype="money"/>
+			<field reporter:label="Funding Source Credit" name="funding_source_credit" reporter:datatype="link"/>
+			<field reporter:label="Credit Amount" name="credit_amount" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="fund_debit" reltype="has_a" key="id" map="" class="acqfdeb"/>
+			<link field="funding_source_credit" reltype="has_a" key="id" map="" class="acqfscred"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="acqclt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::claim_type" oils_persist:tablename="acq.claim_type" reporter:label="Claim Type">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.claim_type_id_seq">
+			<field reporter:label="Claim Type ID" name="id" reporter:datatype="id" reporter:selector="code" />
+			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
+			<field reporter:label="Code" name="code" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_CLAIM_TYPE" context_field="org_unit"/>
+				<retrieve permission="ADMIN_ACQ_CLAIM_TYPE ADMIN_ACQ_CLAIM VIEW_CLAIM MANAGE_CLAIM" context_field="org_unit"/>
+				<update permission="ADMIN_ACQ_CLAIM_TYPE" context_field="org_unit"/>
+				<delete permission="ADMIN_ACQ_CLAIM_TYPE" context_field="org_unit"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="acqclet" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::claim_event_type" oils_persist:tablename="acq.claim_event_type" reporter:label="Claim Event Type">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.claim_event_type_id_seq">
+			<field reporter:label="Claim Event Type ID" name="id" reporter:datatype="id" reporter:selector="code" />
+			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
+			<field reporter:label="Code" name="code" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" reporter:datatype="text"/>
+			<field reporter:label="Library Initiated" name="library_initiated" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_ACQ_CLAIM_EVENT_TYPE" context_field="org_unit"/>
+				<retrieve permission="ADMIN_ACQ_CLAIM_EVENT_TYPE ADMIN_ACQ_CLAIM VIEW_CLAIM MANAGE_CLAIM" context_field="org_unit"/>
+				<update permission="ADMIN_ACQ_CLAIM_EVENT_TYPE" context_field="org_unit"/>
+				<delete permission="ADMIN_ACQ_CLAIM_EVENT_TYPE" context_field="org_unit"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="acqcl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::claim" oils_persist:tablename="acq.claim" reporter:label="Claim">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.claim_id_seq">
+			<field reporter:label="Claim ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Claim Type" name="type" reporter:datatype="link"/>
+			<field reporter:label="Lineitem Detail" name="lineitem_detail" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="type" reltype="has_a" key="id" map="" class="acqclt"/>
+			<link field="lineitem_detail" reltype="has_a" key="id" map="" class="acqlid"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="acqcle" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::claim_event" oils_persist:tablename="acq.claim_event" reporter:label="Claim Event">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.claim_event_id_seq">
+			<field reporter:label="Claim Event ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Claim Event Type" name="type" reporter:datatype="link"/>
+			<field reporter:label="Claim ID" name="claim" reporter:datatype="link"/>
+			<field reporter:label="Event Date" name="event_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Note" name="note" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="type" reltype="has_a" key="id" map="" class="acqclet"/>
+			<link field="claim" reltype="has_a" key="id" map="" class="acqcl"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="acqscl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::serial_claim" oils_persist:tablename="acq.serial_claim" reporter:label="Serial Claim">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.serial_claim_id_seq">
+			<field reporter:label="Claim ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Claim Type" name="type" reporter:datatype="link"/>
+			<field reporter:label="Serial Item" name="item" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="type" reltype="has_a" key="id" map="" class="acqclt"/>
+			<link field="item" reltype="has_a" key="id" map="" class="sitem"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="acqscle" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::serial_claim_event" oils_persist:tablename="acq.serial_claim_event" reporter:label="Serial Claim Event">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.serial_claim_event_id_seq">
+			<field reporter:label="Claim Event ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Claim Event Type" name="type" reporter:datatype="link"/>
+			<field reporter:label="Claim ID" name="claim" reporter:datatype="link"/>
+			<field reporter:label="Event Date" name="event_date" reporter:datatype="timestamp"/>
+			<field reporter:label="Creator" name="creator" reporter:datatype="link"/>
+			<field reporter:label="Note" name="note" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="type" reltype="has_a" key="id" map="" class="acqclet"/>
+			<link field="claim" reltype="has_a" key="id" map="" class="acqscl"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="acqclp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::claim_policy" oils_persist:tablename="acq.claim_policy" reporter:label="Claim Policy">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.claim_policy_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name"/>
+			<field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
+			<field reporter:label="Claim Policy Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_CLAIM_POLICY" context_field="org_unit"/>
+                <retrieve permission="ADMIN_CLAIM_POLICY VIEW_PROVIDER" context_field="org_unit"/>
+                <update   permission="ADMIN_CLAIM_POLICY" context_field="org_unit"/>
+                <delete   permission="ADMIN_CLAIM_POLICY" context_field="org_unit"/>
+            </actions>
+		</permacrud>
+	</class>
+
+	<class id="acqclpa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::claim_policy_action" oils_persist:tablename="acq.claim_policy_action" reporter:label="Claim Policy Action">
+		<fields oils_persist:primary="id" oils_persist:sequence="acq.claim_policy_action_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="action"/>
+			<field reporter:label="Claim Policy ID" name="claim_policy" reporter:datatype="link"/>
+			<field reporter:label="Action Interval" name="action_interval" reporter:datatype="interval"/>
+			<field reporter:label="Action (Event Type)" name="action" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="claim_policy" reltype="has_a" key="id" map="" class="acqclp"/>
+			<link field="action" reltype="has_a" key="id" map="" class="acqclet"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="ADMIN_CLAIM_POLICY">
+					<context link="claim_policy" field="org_unit"/>
+                </create>
+				<retrieve permission="ADMIN_CLAIM_POLICY VIEW_PROVIDER">
+					<context link="claim_policy" field="org_unit"/>
+                </retrieve>
+				<update permission="ADMIN_CLAIM_POLICY">
+					<context link="claim_policy" field="org_unit"/>
+                </update>
+				<delete permission="ADMIN_CLAIM_POLICY">
+					<context link="claim_policy" field="org_unit"/>
+                </delete>
+			</actions>
+		</permacrud>
+	</class>
+
+    <class id="stgu" controller="open-ils.cstore" oils_obj:fieldmapper="staging::user_stage" oils_persist:tablename="staging.user_stage" reporter:label="User Stage">
+        <fields oils_persist:primary="row_id" oils_persist:sequence="staging.usr_stage_row_id_seq">
+            <field reporter:label="Row ID" name="row_id" reporter:datatype="id"/>
+            <field reporter:label="Row Date" name="row_date" reporter:datatype="timestamp"/>
+            <field reporter:label="User Name" name="usrname" reporter:datatype="text"/>
+            <field reporter:label="Main (Profile) Permission Group" name="profile" reporter:datatype="text"/>
+            <field reporter:label="Email Address" name="email" reporter:datatype="text"/>
+            <field reporter:label="Password" name="passwd" reporter:datatype="text"/>
+            <field reporter:label="Primary Identification Type" name="ident_type" reporter:datatype="int"/>
+            <field reporter:label="First Name" name="first_given_name" reporter:datatype="text"/>
+            <field reporter:label="Middle Name" name="second_given_name" reporter:datatype="text"/>
+            <field reporter:label="Last Name" name="family_name" reporter:datatype="text"/>
+            <field reporter:label="Daytime Phone" name="day_phone" reporter:datatype="text"/>
+            <field reporter:label="Evening Phone" name="evening_phone" reporter:datatype="text"/>
+            <field reporter:label="Home Library" name="home_ou" reporter:datatype="int"/>
+            <field reporter:label="Date of Birth" name="dob" reporter:datatype="text"/>
+            <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
+        </fields>
+    </class>
+
+    <class id="stgc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="staging::card_stage" oils_persist:tablename="staging.card_stage" reporter:label="Card Stage">
+        <fields oils_persist:primary="row_id" oils_persist:sequence="staging.card_stage_row_id_seq">
+            <field reporter:label="Row ID" name="row_id" reporter:datatype="id"/>
+            <field reporter:label="Row Date" name="row_date" reporter:datatype="timestamp"/>
+            <field reporter:label="User Name" name="usrname" reporter:datatype="text"/>
+            <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
+            <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
+        </fields>
+    </class>
+
+    <class id="stgma" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="staging::mailing_address_stage" oils_persist:tablename="staging.mailing_address_stage" reporter:label="Mailing Address Stage">
+        <fields oils_persist:primary="row_id" oils_persist:sequence="staging.mailing_address_stage_row_id_seq">
+            <field reporter:label="Row ID" name="row_id" reporter:datatype="id"/>
+            <field reporter:label="Row Date" name="row_date" reporter:datatype="timestamp"/>
+            <field reporter:label="User Name" name="usrname" reporter:datatype="text"/>
+            <field reporter:label="Street (1)" name="street1" reporter:datatype="text"/>
+            <field reporter:label="Street (2)" name="street2" reporter:datatype="text"/>
+            <field reporter:label="City" name="city" reporter:datatype="text"/>
+            <field reporter:label="State" name="state" reporter:datatype="text"/>
+            <field reporter:label="Country" name="country" reporter:datatype="text"/>
+            <field reporter:label="Postal Code" name="post_code" reporter:datatype="text"/>
+            <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
+        </fields>
+    </class>
+
+    <class id="stgba" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="staging::billing_address_stage" oils_persist:tablename="staging.billing_address_stage" reporter:label="Billing Address Stage">
+        <fields oils_persist:primary="row_id" oils_persist:sequence="staging.billing_address_stage_row_id_seq">
+            <field reporter:label="Row ID" name="row_id" reporter:datatype="id"/>
+            <field reporter:label="Row Date" name="row_date" reporter:datatype="timestamp"/>
+            <field reporter:label="User Name" name="usrname" reporter:datatype="text"/>
+            <field reporter:label="Street (1)" name="street1" reporter:datatype="text"/>
+            <field reporter:label="Street (2)" name="street2" reporter:datatype="text"/>
+            <field reporter:label="City" name="city" reporter:datatype="text"/>
+            <field reporter:label="State" name="state" reporter:datatype="text"/>
+            <field reporter:label="Country" name="country" reporter:datatype="text"/>
+            <field reporter:label="Postal Code" name="post_code" reporter:datatype="text"/>
+            <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
+        </fields>
+    </class>
+
+    <class id="stgsc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="staging::statcat_stage" oils_persist:tablename="staging.statcat_stage" reporter:label="Statistical Category Stage">
+        <fields oils_persist:primary="row_id" oils_persist:sequence="staging.statcat_stage_row_id_seq">
+            <field reporter:label="Row ID" name="row_id" reporter:datatype="id"/>
+            <field reporter:label="Row Date" name="row_date" reporter:datatype="timestamp"/>
+            <field reporter:label="User Name" name="usrname" reporter:datatype="text"/>
+            <field reporter:label="Stat Cat ID" name="statcat" reporter:datatype="text"/>
+            <field reporter:label="Stat Cat Value" name="value" reporter:datatype="text"/>
+            <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
+        </fields>
+    </class>
+
+	<class id="afs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::fieldset" oils_persist:tablename="action.fieldset" reporter:label="Fieldset">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.fieldset_id_seq">
+			<field reporter:label="Fieldset ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" reporter:datatype="link"/>
+			<field reporter:label="Owning Library" name="owning_lib" reporter:datatype="link"/>
+			<field reporter:label="Status" name="status" reporter:datatype="text"/>
+			<field reporter:label="Creation Time" name="creation_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Scheduled Time" name="scheduled_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Applied Time" name="applied_time" reporter:datatype="timestamp"/>
+			<field reporter:label="Class Name" name="classname" reporter:datatype="text"/>
+			<field reporter:label="Fieldset Name" name="name" reporter:datatype="text"/>
+			<field reporter:label="Stored Query" name="stored_query" reporter:datatype="link"/>
+			<field reporter:label="Primary Key Value" name="pkey_value" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="stored_query" reltype="has_a" key="id" map="" class="qsq"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="afscv" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::fieldset_col_val" oils_persist:tablename="action.fieldset_col_val" reporter:label="Fieldset Column Value">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.fieldset_col_val_id_seq">
+			<field reporter:label="Column Value ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Fieldset ID" name="fieldset" reporter:datatype="link"/>
+			<field reporter:label="Column Name" name="col" reporter:datatype="text"/>
+			<field reporter:label="Column Value" name="val" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="fieldset" reltype="has_a" key="id" map="" class="afs"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+    <class id="aufhl" controller="open-ils.cstore" oils_obj:fieldmapper="action::unfulfilled_hold_loops" oils_persist:tablename="action.unfulfilled_hold_loops" oils_persist:readonly="true">
+        <fields>
+            <field reporter:label="Hold ID" name="hold" reporter:datatype="link"/>
+            <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="link"/>
+            <field reporter:label="Loop Count" name="count" reporter:datatype="int"/>
+        </fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+    </class>
+
+    <class id="aufhml" controller="open-ils.cstore" oils_obj:fieldmapper="action::unfulfilled_hold_min_loop" oils_persist:tablename="action.unfulfilled_hold_min_loop" oils_persist:readonly="true">
+        <fields>
+            <field reporter:label="Hold ID" name="hold" reporter:datatype="link"/>
+            <field reporter:label="Min Loop" name="min" reporter:datatype="int"/>
+        </fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+		</links>
+    </class>
+
+    <class id="aufhil" controller="open-ils.cstore" oils_obj:fieldmapper="action::unfulfilled_hold_innermost_loop" oils_persist:tablename="action.unfulfilled_hold_innermost_loop" oils_persist:readonly="true">
+        <fields>
+            <field reporter:label="Hold ID" name="hold" reporter:datatype="link"/>
+            <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="link"/>
+            <field reporter:label="Loop Count" name="count" reporter:datatype="int"/>
+        </fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+    </class>
+
+    <class id="aufhmxl" controller="open-ils.cstore" oils_obj:fieldmapper="action::unfulfilled_hold_max_loop" oils_persist:tablename="action.unfulfilled_hold_max_loop" oils_persist:readonly="true">
+        <fields>
+            <field reporter:label="Hold ID" name="hold" reporter:datatype="link"/>
+            <field reporter:label="Max Loop" name="max" reporter:datatype="int"/>
+        </fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+		</links>
+    </class>
+
+    <class id="aufhol" controller="open-ils.cstore" oils_obj:fieldmapper="action::unfulfilled_hold_outermost_loop" oils_persist:readonly="true">
+		<oils_persist:source_definition>
+
+	    SELECT  DISTINCT l.*
+	      FROM  action.unfulfilled_hold_loops l
+	            JOIN action.unfulfilled_hold_max_loop m USING (hold)
+	      WHERE l.count = m.max
+
+		</oils_persist:source_definition>
+        <fields>
+            <field reporter:label="Hold ID" name="hold" reporter:datatype="link"/>
+            <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="link"/>
+            <field reporter:label="Loop Count" name="count" reporter:datatype="int"/>
+        </fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+    </class>
+
+	<class id="qsq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::stored_query" oils_persist:tablename="query.stored_query" reporter:label="Stored Query">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.stored_query_id_seq">
+			<field reporter:label="Query ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Query type" name="type" reporter:datatype="text"/>
+			<field reporter:label="Use ALL" name="use_all" reporter:datatype="bool"/>
+			<field reporter:label="Use DISTINCT" name="use_distinct" reporter:datatype="bool"/>
+			<field reporter:label="FROM Clause" name="from_clause" reporter:datatype="link"/>
+			<field reporter:label="WHERE Clause" name="where_clause" reporter:datatype="link"/>
+			<field reporter:label="HAVING Clause" name="having_clause" reporter:datatype="link"/>
+			<field reporter:label="LIMIT count" name="limit_count" reporter:datatype="link"/>
+			<field reporter:label="OFFSET count" name="offset_count" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="from_clause" reltype="has_a" key="id" map="" class="qfr"/>
+			<link field="having_clause" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="where_clause" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="limit_count" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="offset_count" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qseq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::query_sequence" oils_persist:tablename="query.query_sequence" reporter:label="Query Sequence">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.query_sequence_id_seq">
+			<field reporter:label="Query Seq ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Parent Query" name="parent_query" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Child Query" name="child_query" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="parent_query" reltype="has_a" key="id" map="" class="qsq"/>
+			<link field="child_query" reltype="has_a" key="id" map="" class="qsq"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qdt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::datatype" oils_persist:tablename="query.datatype" reporter:label="Datatype">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.datatype_id_seq">
+			<field reporter:label="Datatype ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Datatype Name" name="datatype_name" reporter:datatype="text"/>
+			<field reporter:label="Is Numeric" name="is_numeric" reporter:datatype="bool"/>
+			<field reporter:label="Is Composite" name="is_composite" reporter:datatype="bool"/>
+		</fields>
+		<links>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qsf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::subfield" oils_persist:tablename="query.subfield" reporter:label="Subfield">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.subfield_id_seq">
+			<field reporter:label="Subfield ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Composite Type" name="composite_type" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Subfield Type" name="subfield_type" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="composite_type" reltype="has_a" key="id" map="" class="qdt"/>
+			<link field="subfield_type" reltype="has_a" key="id" map="" class="qdt"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+	
+	<class id="qfs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::function_sig" oils_persist:tablename="query.function_sig" reporter:label="Function Signature">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.function_sig_id_seq">
+			<field reporter:label="Function Signature ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Function Name" name="function_name" reporter:datatype="text"/>
+			<field reporter:label="Return Type" name="return_type" reporter:datatype="link"/>
+			<field reporter:label="Is Aggregate" name="is_aggregate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="return_type" reltype="has_a" key="id" map="" class="qdt"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+	
+	<class id="qfpd" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::function_param_def" oils_persist:tablename="query.function_param_def" reporter:label="Function Parameter Definition">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.function_param_def_id_seq">
+			<field reporter:label="Function Param Def ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Function ID" name="function_id" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Datatype" name="datatype" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="function_id" reltype="has_a" key="id" map="" class="qfs"/>
+			<link field="datatype" reltype="has_a" key="id" map="" class="qdt"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qbv" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::bind_variable" oils_persist:tablename="query.bind_variable" reporter:label="Bind Variable">
+		<fields oils_persist:primary="name">
+			<field reporter:label="Name" name="name" reporter:datatype="id"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Type" name="type" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" reporter:datatype="text"/>
+			<field reporter:label="Default Value" name="default_value" reporter:datatype="text"/>
+			<field reporter:label="Actual Value" name="actual_value" oils_persist:virtual="true" reporter:datatype="text"/>
+		</fields>
+		<links>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qxp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expression" oils_persist:tablename="query.expression" reporter:label="Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Expression Type" name="type" reporter:datatype="text"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Literal" name="literal" reporter:datatype="text"/>
+			<field reporter:label="Table Alias" name="table_alias" reporter:datatype="text"/>
+			<field reporter:label="Column Name" name="column_name" reporter:datatype="text"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Operator" name="operator" reporter:datatype="text"/>
+			<field reporter:label="Right Operand" name="right_operand" reporter:datatype="link"/>
+			<field reporter:label="Function ID" name="function_id" reporter:datatype="link"/>
+			<field reporter:label="Subquery" name="subquery" reporter:datatype="link"/>
+			<field reporter:label="Cast Type" name="cast_type" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+			<field reporter:label="Bind Variable" name="bind_variable" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="right_operand" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="function_id" reltype="has_a" key="id" map="" class="qfs"/>
+			<link field="subquery" reltype="has_a" key="id" map="" class="qsq"/>
+			<link field="cast_type" reltype="has_a" key="id" map="" class="qdt"/>
+			<link field="bind_variable" reltype="has_a" key="name" map="" class="qbv"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qcb" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::case_branch" oils_persist:tablename="query.case_branch" reporter:label="Case Branch">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.case_branch_id_seq">
+			<field reporter:label="Case Branch ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Condition" name="condition" reporter:datatype="link"/>
+			<field reporter:label="Result" name="result" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="condition" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="result" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qfr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::from_relation" oils_persist:tablename="query.from_relation" reporter:label="From Relation">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.from_relation_id_seq">
+			<field reporter:label="From Relation ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="From Relation Type" name="type" reporter:datatype="text"/>
+			<field reporter:label="Table Name" name="table_name" reporter:datatype="text"/>
+			<field reporter:label="Class Name" name="class_name" reporter:datatype="text"/>
+			<field reporter:label="Subquery ID" name="subquery" reporter:datatype="link"/>
+			<field reporter:label="Function Call ID" name="function_call" reporter:datatype="link"/>
+			<field reporter:label="Table Alias" name="table_alias" reporter:datatype="text"/>
+			<field reporter:label="Parent Relation ID" name="parent_relation" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Join Type" name="join_type" reporter:datatype="text"/>
+			<field reporter:label="On Clause ID" name="on_clause" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="subquery" reltype="has_a" key="id" map="" class="qsq"/>
+			<link field="function_call" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="parent_relation" reltype="has_a" key="id" map="" class="qfr"/>
+			<link field="on_clause" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qrc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::record_column" oils_persist:tablename="query.record_column" reporter:label="Record Column">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.record_column_id_seq">
+			<field reporter:label="Record Column ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="From Relation ID" name="from_relation" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Column Name" name="column_name" reporter:datatype="text"/>
+			<field reporter:label="Column Type" name="column_type" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="from_relation" reltype="has_a" key="id" map="" class="qfr"/>
+			<link field="column_type" reltype="has_a" key="id" map="" class="qdt"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qsi" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::select_item" oils_persist:tablename="query.select_item" reporter:label="Select Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.select_item_id_seq">
+			<field reporter:label="Select Item ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Stored Query ID" name="stored_query" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Expression" name="expression" reporter:datatype="link"/>
+			<field reporter:label="Column Alias" name="column_alias" reporter:datatype="text"/>
+			<field reporter:label="Is Grouped By" name="grouped_by" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="stored_query" reltype="has_a" key="id" map="" class="qsq"/>
+			<link field="expression" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="qobi" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::order_by_item" oils_persist:tablename="query.order_by_item" reporter:label="Order By Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.order_by_item_id_seq">
+			<field reporter:label="Order By Item ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Stored Query ID" name="stored_query" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Expression" name="expression" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="stored_query" reltype="has_a" key="id" map="" class="qsq"/>
+			<link field="expression" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xbet" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xbet" oils_persist:tablename="query.expr_xbet" reporter:label="Between Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xbind" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xbind" oils_persist:tablename="query.expr_xbind" reporter:label="Bind Variable Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Bind Variable" name="bind_variable" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="bind_variable" reltype="has_a" key="name" map="" class="qbv"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xbool" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xbool" oils_persist:tablename="query.expr_xbool" reporter:label="Boolean Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Literal" name="literal" reporter:datatype="text"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xcase" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xcase" oils_persist:tablename="query.expr_xcase" reporter:label="Case Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xcast" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xcast" oils_persist:tablename="query.expr_xcast" reporter:label="Cast Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Cast Type" name="cast_type" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="cast_type" reltype="has_a" key="id" map="" class="qdt"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xcol" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xcol" oils_persist:tablename="query.expr_xcol" reporter:label="Column Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Table Alias" name="table_alias" reporter:datatype="text"/>
+			<field reporter:label="Column Name" name="column_name" reporter:datatype="text"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xex" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xex" oils_persist:tablename="query.expr_xex" reporter:label="Exists Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Subquery" name="subquery" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="subquery" reltype="has_a" key="id" map="" class="qsq"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xfunc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xfunc" oils_persist:tablename="query.expr_xfunc" reporter:label="Function Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Column Name" name="column_name" reporter:datatype="text"/>
+			<field reporter:label="Function ID" name="function_id" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="function_id" reltype="has_a" key="id" map="" class="qfs"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xin" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xin" oils_persist:tablename="query.expr_xin" reporter:label="In Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Subquery" name="subquery" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="subquery" reltype="has_a" key="id" map="" class="qsq"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xisnull" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xisnull" oils_persist:tablename="query.expr_xisnull" reporter:label="IS NULL Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xnull" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xnull" oils_persist:tablename="query.expr_xnull" reporter:label="Null Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xnum" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xnum" oils_persist:tablename="query.expr_xnum" reporter:label="Number Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Literal" name="literal" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xop" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xop" oils_persist:tablename="query.expr_xop" reporter:label="Operator Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Left Operand" name="left_operand" reporter:datatype="link"/>
+			<field reporter:label="Operator" name="operator" reporter:datatype="text"/>
+			<field reporter:label="Right Operand" name="right_operand" reporter:datatype="link"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="left_operand" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="right_operand" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xser" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xser" oils_persist:tablename="query.expr_xser" reporter:label="Operator Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Operator" name="operator" reporter:datatype="text"/>
+			<field reporter:label="Negate?" name="negate" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xstr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xstr" oils_persist:tablename="query.expr_xstr" reporter:label="String Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Literal" name="literal" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="xsubq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="query::expr_xsubq" oils_persist:tablename="query.expr_xsubq" reporter:label="Subquery Expression">
+		<fields oils_persist:primary="id" oils_persist:sequence="query.expression_id_seq">
+			<field reporter:label="Expression ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Is Parenthesized" name="parenthesize" reporter:datatype="bool"/>
+			<field reporter:label="Parent Expression" name="parent_expr" reporter:datatype="link"/>
+			<field reporter:label="Sequence Number" name="seq_no" reporter:datatype="int"/>
+			<field reporter:label="Subquery" name="subquery" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="parent_expr" reltype="has_a" key="id" map="" class="qxp"/>
+			<link field="subquery" reltype="has_a" key="id" map="" class="qsq"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+		</permacrud>
+	</class>
+
+	<class id="bmpc" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::marc21_physical_characteristics" oils_persist:tablename="biblio.marc21_physical_characteristics" reporter:label="MARC21 Physical Characteristics" oils_persist:field_safe="true" oils_persist:readonly="true">
+		<fields oils_persist:primary="id">
+			<field reporter:label="Temp ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Type" name="ptype" reporter:datatype="link"/>
+			<field reporter:label="Subfield" name="subfield" reporter:datatype="link"/>
+			<field reporter:label="Value" name="value" reporter:datatype="link"/>
+			<field reporter:label="Record" name="record" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="ptype" reltype="has_a" key="id" map="" class="cmpctm"/>
+			<link field="subfield" reltype="has_a" key="id" map="" class="cmpcsm"/>
+			<link field="value" reltype="has_a" key="id" map="" class="cmpcvm"/>
+			<link field="record" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+	</class>
+
+	<class id="cmfpm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc21_ff_pos_map" oils_persist:tablename="config.marc21_ff_pos_map" reporter:label="MARC21 Fixed Field Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.marc21_ff_pos_map_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Fixed Field" name="fixed_field" reporter:datatype="text"/>
+			<field reporter:label="Tag" name="tag" reporter:datatype="text"/>
+			<field reporter:label="Record Type" name="rec_type" reporter:datatype="text"/>
+			<field reporter:label="Start Postion" name="start_pos" reporter:datatype="int"/>
+			<field reporter:label="Length" name="length" reporter:datatype="int"/>
+			<field reporter:label="Default Value" name="default_val" reporter:datatype="text"/>
+		</fields>
+		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="cmpctm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc21_physical_characteristic_type_map" oils_persist:tablename="config.marc21_physical_characteristic_type_map" reporter:label="MARC21 Physical Characteristic Type Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="ptype_key">
+			<field reporter:label="Type Key" name="ptype_key" reporter:datatype="id"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+		</fields>
+		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="cmpcsm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc21_physical_characteristic_subfield_map" oils_persist:tablename="config.marc21_physical_characteristic_subfield_map" reporter:label="MARC21 Physical Characteristic Subfield Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.marc21_physical_characteristic_subfield_map_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Type Key" name="ptype_key" reporter:datatype="link"/>
+			<field reporter:label="Subfield" name="subfield" reporter:datatype="text"/>
+			<field reporter:label="Start Postion" name="start_pos" reporter:datatype="int"/>
+			<field reporter:label="Length" name="length" reporter:datatype="int"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="ptype_key" reltype="has_a" key="id" map="" class="cmpctm"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="cmpcvm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc21_physical_characteristic_value_map" oils_persist:tablename="config.marc21_physical_characteristic_value_map" reporter:label="MARC21 Physical Characteristic Value Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.marc21_physical_characteristic_value_map_id_seq">
+			<field reporter:label="ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Value" name="value" reporter:datatype="text"/>
+			<field reporter:label="Subfield" name="ptype_subfield" reporter:datatype="link"/>
+			<field reporter:label="Label" name="label" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="ptype_subfield" reltype="has_a" key="id" map="" class="cmpcsm"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="cmrtm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc21_rec_type_map" oils_persist:tablename="config.marc21_rec_type_map" reporter:label="MARC21 Record Type Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field reporter:label="Code" name="code" reporter:datatype="id"/>
+			<field reporter:label="Type Value" name="type_val" reporter:datatype="text"/>
+			<field reporter:label="BLvl Value" name="blvl_val" reporter:datatype="text"/>
+		</fields>
+		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="rlcd" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::last_copy_deleted" oils_persist:readonly="true" reporter:core="true" reporter:label="Last Copy Delete Time">
+		<oils_persist:source_definition>
+
+            SELECT  b.id,
+                    MAX(dcp.edit_date) AS last_delete_date
+             FROM   biblio.record_entry b
+                    JOIN asset.call_number cn ON (cn.record = b.id)
+                    JOIN asset.copy dcp ON (cn.id = dcp.call_number)
+             WHERE  NOT b.deleted
+             GROUP BY b.id
+             HAVING SUM( CASE WHEN NOT dcp.deleted THEN 1 ELSE 0 END) = 0 
+
+		</oils_persist:source_definition>
+		<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
+			<field reporter:label="Record ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Delete Date/Time" name="last_delete_date" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="id" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="rhcrpb" controller="open-ils.cstore open-ils.pcrud open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_copy_ratio_per_bib" oils_persist:readonly="true" reporter:core="true" reporter:label="Hold/Copy Ratio per Bib">
+		<oils_persist:source_definition>
+
+            -- -- If we uncomment the RIGHT JOIN against biblio.record_entry, then we'll get a row for every non-deleted bib, whether it has active holds or not.
+            -- -- If we expect to use pcrud to query against specific bibs, we probably want to do this.  However, if we're using this to populate a report, we
+            -- -- may not.
+            -- SELECT
+            --     bre.id AS "bib_id",
+            --     COALESCE( z.copy_count, 0 ) AS "copy_count",
+            --     COALESCE( z.hold_count, 0 ) AS "hold_count",
+            --     COALESCE( z.copy_hold_ratio, 0 ) AS "hold_copy_ratio"
+            -- FROM (
+                SELECT
+                    y.bre AS "id",
+                    COALESCE( x.copy_count, 0 ) AS "copy_count",
+                    y.hold_count AS "hold_count",
+                    (y.hold_count::REAL / (CASE WHEN x.copy_count = 0 OR x.copy_count IS NULL THEN 0.1 ELSE x.copy_count::REAL END)) AS "hold_copy_ratio"
+                FROM (
+                        SELECT
+                            (SELECT bib_record FROM reporter.hold_request_record r WHERE r.id = h.id LIMIT 1) AS "bre",
+                            COUNT(*) AS "hold_count"
+                        FROM action.hold_request h
+                        WHERE
+                            cancel_time IS NULL
+                            AND fulfillment_time IS NULL
+                            -- AND NOT frozen  -- a frozen hold is still a desired hold, eh?
+                        GROUP BY 1
+                    )y LEFT JOIN (
+                        SELECT 
+                            (SELECT id
+                                FROM biblio.record_entry 
+                                WHERE id = (SELECT record FROM asset.call_number WHERE id = call_number)
+                            ) AS "bre", 
+                            COUNT(*) AS "copy_count"
+                        FROM asset.copy
+                            JOIN asset.copy_location loc ON (copy.location = loc.id AND loc.holdable)
+                        WHERE copy.holdable 
+                            AND NOT copy.deleted 
+                            AND copy.status IN ( SELECT id FROM config.copy_status WHERE holdable ) 
+                        GROUP BY 1
+                    )x ON x.bre = y.bre
+                -- )z RIGHT JOIN (
+                --     SELECT id
+                --     FROM biblio.record_entry
+                --     WHERE NOT deleted
+                -- )bre ON (z.bib_id = bre.id)
+                
+
+		</oils_persist:source_definition>
+		<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry">
+			<field reporter:label="Record ID" name="id" reporter:datatype="id"/>
+			<field reporter:label="Holdable Copy Count" name="copy_count" reporter:datatype="int"/>
+			<field reporter:label="Active Holds" name="hold_count" reporter:datatype="int"/>
+			<field reporter:label="Hold/Copy Ratio" name="hold_copy_ratio" reporter:datatype="float"/>
+		</fields>
+		<links>
+			<link field="id" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+	</class>
+
 	<!-- ********************************************************************************************************************* -->
 	<!-- What follows is a set of example extensions that are useful for PINES.  Comment out or remove if you don't want them. -->
 	<!-- ********************************************************************************************************************* -->
@@ -5167,6 +8028,135 @@
 		</links>
 	</class>
 
+	<class id="acrlid" controller="open-ils.cstore" oils_obj:fieldmapper="acq::claim_ready_lineitem_detail" oils_persist:readonly="true" reporter:label="Claim Ready Lineitem Details">
+		<oils_persist:source_definition>
+
+            SELECT
+                po.ordering_agency AS ordering_agency,
+                po.id AS purchase_order,
+                li.id AS lineitem,
+                lid.id AS lineitem_detail,
+                cpa.id AS claim_policy_action
+            FROM
+                acq.lineitem_detail lid
+                JOIN acq.lineitem li ON (li.id = lid.lineitem)
+                JOIN acq.purchase_order po ON (po.id = li.purchase_order)
+                JOIN acq.claim_policy cp ON (li.claim_policy = cp.id)
+                JOIN acq.claim_policy_action cpa ON (
+                    cpa.claim_policy = cp.id
+
+                    -- we only care about claim policy actions whose claim
+                    -- interval we'd reached or exceeded
+                    AND (NOW() - cpa.action_interval) &gt; po.order_date
+
+                    -- filter out all claim policy actions where claim events
+                    -- have occurred on or after the action's action_interval
+                    AND NOT EXISTS (
+                        SELECT 1
+                        FROM
+                            acq.claim_event evt
+                            JOIN acq.claim claim ON (
+                                claim.id = evt.claim
+                                AND claim.lineitem_detail = lid.id
+                            )
+                        WHERE
+                            evt.event_date &gt;= (po.order_date + cpa.action_interval)
+                    )
+                )
+            WHERE
+                lid.cancel_reason IS NULL
+                AND li.cancel_reason IS NULL -- belt/suspenders
+                AND po.cancel_reason IS NULL -- belt/suspenders
+                AND lid.recv_time IS NULL
+                AND po.state = 'on-order'
+            ORDER BY 1, 2, 3, 4, 5
+
+		</oils_persist:source_definition>
+		<fields>
+			<field reporter:label="Ordering Agency" name="ordering_agency" reporter:datatype="link"/>
+			<field reporter:label="Purchase Order" name="purchase_order" reporter:datatype="link"/>
+			<field reporter:label="Lineitem" name="lineitem" reporter:datatype="link"/>
+			<field reporter:label="Lineitem Detail" name="lineitem_detail" reporter:datatype="link"/>
+			<field reporter:label="Claim Policy Action" name="claim_policy_action" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="ordering_agency" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
+			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
+			<link field="lineitem_detail" reltype="has_a" key="id" map="" class="acqlid"/>
+			<link field="claim_policy_action" reltype="has_a" key="id" map="" class="acqclpa"/>
+		</links>
+	</class>
+
+	<class id="acqlisum" controller="open-ils.cstore" oils_obj:fieldmapper="acq::lineitem_summary" oils_persist:readonly="true" reporter:label="Lineitem Summary">
+		<oils_persist:source_definition>
+
+            SELECT 
+                li.id AS lineitem, 
+                (
+                    SELECT COUNT(lid.id) 
+                    FROM acq.lineitem_detail lid
+                    WHERE lineitem = li.id
+                ) AS item_count,
+                (
+                    SELECT COUNT(lid.id) 
+                    FROM acq.lineitem_detail lid
+                    WHERE recv_time IS NOT NULL AND lineitem = li.id
+                ) AS recv_count,
+                (
+                    SELECT COUNT(lid.id) 
+                    FROM acq.lineitem_detail lid
+                    WHERE cancel_reason IS NOT NULL AND lineitem = li.id
+                ) AS cancel_count,
+                (
+                    SELECT COUNT(lid.id) 
+                    FROM acq.lineitem_detail lid
+                        JOIN acq.fund_debit debit ON (lid.fund_debit = debit.id)
+                    WHERE NOT debit.encumbrance AND lineitem = li.id
+                ) AS invoice_count,
+                (
+                    SELECT COUNT(DISTINCT(lid.id)) 
+                    FROM acq.lineitem_detail lid
+                        JOIN acq.claim claim ON (claim.lineitem_detail = lid.id)
+                    WHERE lineitem = li.id
+                ) AS claim_count,
+                (
+                    SELECT (COUNT(lid.id) * li.estimated_unit_price)::NUMERIC(8,2)
+                    FROM acq.lineitem_detail lid
+                    WHERE lid.cancel_reason IS NULL AND lineitem = li.id
+                ) AS estimated_amount,
+                (
+                    SELECT SUM(debit.amount)::NUMERIC(8,2)
+                    FROM acq.lineitem_detail lid
+                        JOIN acq.fund_debit debit ON (lid.fund_debit = debit.id)
+                    WHERE debit.encumbrance AND lineitem = li.id
+                ) AS encumbrance_amount,
+                (
+                    SELECT SUM(debit.amount)::NUMERIC(8,2)
+                    FROM acq.lineitem_detail lid
+                        JOIN acq.fund_debit debit ON (lid.fund_debit = debit.id)
+                    WHERE NOT debit.encumbrance AND lineitem = li.id
+                ) AS paid_amount
+
+                FROM acq.lineitem AS li
+        </oils_persist:source_definition>
+		<fields oils_persist:primary="lineitem" oils_persist:sequence="acq.lineitem_id_seq">
+			<field reporter:label="Lineitem" name="lineitem" reporter:datatype="link"/>
+			<field reporter:label="Item Count" name="item_count" reporter:datatype="int"/>
+			<field reporter:label="Receive Count" name="recv_count" reporter:datatype="int"/>
+			<field reporter:label="Cancel Count" name="cancel_count" reporter:datatype="int"/>
+			<field reporter:label="Invoice Count" name="invoice_count" reporter:datatype="int"/>
+			<field reporter:label="Claim Count" name="claim_count" reporter:datatype="int"/>
+			<field reporter:label="Estimated Amount" name="estimated_amount" reporter:datatype="money"/>
+			<field reporter:label="Encumbrance Amount" name="encumbrance_amount" reporter:datatype="money"/>
+			<field reporter:label="Paid Amount" name="paid_amount" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
+		</links>
+    </class>
+
+
 	<class id="iatc" controller="open-ils.reporter-store" oils_obj:fieldmapper="action::intersystem_transit_copy" oils_persist:readonly="true" reporter:core="true" reporter:label="Inter-system Copy Transit">
 		<oils_persist:source_definition>
 
@@ -5178,7 +8168,7 @@
 
 		</oils_persist:source_definition>
 		<fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
-			<field reporter:label="Pretransit Copy Status" name="copy_status" reporter:datatype="bool"/>
+			<field reporter:label="Pretransit Copy Status" name="copy_status" reporter:datatype="link"/>
 			<field reporter:label="Destination" name="dest" reporter:datatype="link"/>
 			<field reporter:label="Receive Date/Time" name="dest_recv_time" reporter:datatype="timestamp"/>
 			<field reporter:label="Transit ID" name="id" reporter:datatype="id"/>
@@ -5195,9 +8185,60 @@
 			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
 			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
 			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="prev_hop" reltype="has_a" key="id" map="" class="atc"/>
 		</links>
 	</class>
 
+    <class id="circbyyr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::circ_counts_by_year" oils_persist:readonly="true">
+		<oils_persist:source_definition>
+
+	SELECT copy, SUM(count) AS count, year, is_renewal FROM (
+		SELECT
+			cp.id as copy,
+			COUNT(circ.id),
+			EXTRACT(YEAR FROM circ.xact_start) AS year,
+			(phone_renewal OR desk_renewal OR opac_renewal) as is_renewal
+		FROM
+			asset.copy cp
+				JOIN action.circulation circ ON (cp.id = circ.target_copy)
+		GROUP BY 1, 3, 4
+		UNION
+		SELECT
+			cp.id as copy,
+			COUNT(circ.id),
+			EXTRACT(YEAR FROM circ.xact_start) AS year,
+			(phone_renewal OR desk_renewal OR opac_renewal) as is_renewal
+		FROM
+			asset.copy cp
+				JOIN action.aged_circulation circ ON (cp.id = circ.target_copy)
+		GROUP BY 1, 3, 4
+		UNION
+		SELECT
+			id as copy,
+			circ_count,
+			-1 AS year,
+			false as is_renewal
+		FROM
+			extend_reporter.legacy_circ_count
+	)x GROUP BY 1, 3, 4
+
+		</oils_persist:source_definition>
+        <fields>
+            <field reporter:label="Copy ID" name="copy" reporter:datatype="link"/>
+            <field reporter:label="Count" name="count" reporter:datatype="int"/>
+            <field reporter:label="Year" name="year" reporter:datatype="int"/>
+            <field reporter:label="Renewal" name="is_renewal" reporter:datatype="bool"/>
+        </fields>
+		<links>
+			<link field="copy" reltype="has_a" key="id" map="" class="acp"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<retrieve/>
+			</actions>
+		</permacrud>
+    </class>
+
 	<class id="rodcirc" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::overdue_circs" oils_persist:tablename="reporter.overdue_circs" reporter:core="true" reporter:label="Overdue Circulation">
 		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
 			<field reporter:label="Check In Library" name="checkin_lib" reporter:datatype="org_unit"/>
@@ -5215,8 +8256,8 @@
 			<field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="OPAC Renewal" name="opac_renewal" reporter:datatype="bool"/>
 			<field reporter:label="Phone Renewal" name="phone_renewal" reporter:datatype="bool"/>
-			<field reporter:label="Recurring Fine Amount" name="recuring_fine" reporter:datatype="money" />
-			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" reporter:datatype="link"/>
+			<field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
 			<field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
 			<field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
 			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
@@ -5227,9 +8268,9 @@
 			<field reporter:label="Transaction Billings" name="billings" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Transaction Payments" name="payments" oils_persist:virtual="true" reporter:datatype="link"/>
 			<field reporter:label="Base Transaction" name="billable_transaction" oils_persist:virtual="true" reporter:datatype="link"/>
-			<field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="text"/>
-			<field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="money"/>
-			<field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Circulation Type" name="circ_type" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_persist:virtual="true" reporter:datatype="link"/>
 		</fields>
 		<links>
 			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
@@ -5243,7 +8284,7 @@
 			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
 			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
 			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
-			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="recurring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
 			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
 			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
 			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
@@ -5254,7 +8295,7 @@
         <fields oils_persist:primary="id">
             <field reporter:label="Title" name="title" reporter:datatype="text"/>
             <field reporter:label="Author" name="author" reporter:datatype="text"/>
-            <field reporter:label="Pubdate" name="pubdate" reporter:datatype="text"/>
+            <field reporter:label="Pubdate" name="pubdate" reporter:datatype="int"/>
             <field reporter:label="Copy ID" name="id" reporter:datatype="id"/>
             <field reporter:label="Price" name="price" reporter:datatype="money"/>
             <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>



More information about the open-ils-commits mailing list